Коды языка программирования delphi

10 основных конструкций языка Delphi

Недавно мы рассказали про язык Delphi — где применяется, что интересного и где он востребован. Теперь перейдём к практике и посмотрим на Delphi изнутри — как он устроен и как на нём программировать. Возможно, уже через пару часов вы начнёте реализовывать свою мечту — писать собственную программу складского учёта.

👉 Если вы проходили «Паскаль» в школе, то вы вряд ли узнаете что-то новое. В этом сила Delphi — это очень простой в освоении язык с поддержкой ООП и почти всех современных парадигм программирования.

О чём пойдёт речь

В Delphi после каждого оператора ставится точка с запятой. Пропускать её нельзя — это будет ошибка и программа не запустится.

Комментарии

Чтобы поставить комментарий в Delphi, раньше использовали только фигурные скобки. Сейчас для комментариев кроме них можно ставить круглую скобку со звёздочкой или два слеша подряд, но с одной стороны:

< Это комментарий >
(* Это тоже комментарий
на несколько строк *)
// А вот этот комментарий действует только до конца строки

А так мы превратим нашу программу в консольную, чтобы вся работа шла в командной строке:

Переменные

Для описания переменной используют ключевое слово var :

var X: Integer; // переменная целого типа in, out: string; // две переменных строкового типа result: Double; // переменная вещественного (дробного) типа

Без слова var сразу использовать переменную не получится: компилятор обязательно проверит, объявили ли вы её заранее или нет. Это сделано для контроля над оперативной памятью.

Читайте также:  Линейное программирование означает расчет значений

Ввод и вывод данных с клавиатуры

Чаще всего в Delphi делают программы с графическим интерфейсом, где есть поля ввода и кнопки. В этом случае данные получают оттуда, используя свойства разных компонентов. Но если нужно организовать ввод-вывод в консоли, то для этого используют такие команды:

write(‘Введите координаты X и Y: ‘); // выводим на экран строку
read(x,y); // считываем переменные x и y

После выполнения каждой команды курсор остаётся на той же строке:

write(‘Привет!’);
write(‘Это журнал «Код».’);
// на экране будет надпись в одну строчку и без пробела: Привет!Это журнал «Код».

Чтобы перенести курсор на новую строку после ввода или вывода, к команде добавляют в конец Ln:

 writeLn('Привет!'); writeLn('Это журнал «Код».'); // Привет! // Это журнал «Код».

Присваивание и сравнение

В отличие от большинства языков программирования, в Delphi оператор присваивания выглядит как двоеточие со знаком равно:

Если вы видите в коде такое, то почти всегда это будет программа на Delphi или Pascal. Сравнение тоже выглядит не так как везде — одинарный символ равенства, как в математике:

== ← а вот такого в Delphi нет

Остальные математические команды и операторы сравнения работают как обычно. Логические сравнения пишутся словами:

Операторные скобки (составной оператор)

Во многих других языках границы функций, команд в условии и прочие границы обозначаются фигурными скобками, например в JavaScript: function fn() <. >.

А вот в Delphi такие границы задаются отдельными словами begin и end и называются операторными скобками, или составным оператором. Они используются для обозначения границ подпрограмм и там, где язык разрешает ставить только одну команду. Чтобы обойти это ограничение, используют операторные скобки. Простой пример:

if a > b then
begin
что-то полезное
end
else
begin
что-то другое полезное
end

Начало и конец основной программы тоже заключают в операторные скобки.

Условный оператор if

Классический оператор проверки условий, работает так же, как и в других языках:

Часть с else — необязательная, если она не нужна, то её можно не писать:

Так как после then можно ставить только один оператор, то, чтобы поставить больше, используют те самые операторные скобки:

if A > B then begin C := A; writeLn('Первое число больше второго'); writeLn('Останавливаем проверку'); end else C := B;

Вкладывать условные операторы можно друг в друга сколько угодно.

Оператор множественного выбора case

Если нам нужно выбрать что-то одно сразу из нескольких вариантов, лучше использовать оператор выбора case , который работает так:

  1. Оператор получает переменную, с которой будет работать, и несколько вариантов её значений.
  2. Затем по очереди проверяет, совпадает ли очередное значение со значением переменной.
  3. Как только находится совпадение — выполняется соответствующий оператор, и case на этом заканчивается.
  4. Если ничего не совпало — то компьютер просто переходит дальше или выполняет то, что написано после else.

Вот как это может выглядеть в коде:

Write('Введите сегодняшнее число'); ReadLn(Day); case Day of // начинается оператор множественного выбора 1..10: Writeln('Это начало месяца'); 11..20: Writeln('Это середина месяца'); 21..31: WriteLn('Это конец месяца'); else Writeln('Нет такого дня недели'); // что мы делаем, если ничего не подошло end; // закончился оператор множественного выбора

Цикл с предусловием for

Особенность этого цикла в том, что мы в нём задаём не условие окончания, а чёткое количество шагов:

for i := 0 to 99 do что-то полезное;

  1. Нам нужно заранее объявить переменную цикла (написать как в JS let i = 1 — не получится).
  2. Этой переменной мы присваиваем начальное значение и указываем конечное.
  3. На каждом шаге цикла значение переменной будет автоматически увеличиваться на единицу.
  4. Как оно превысит конечное значение — цикл остановится.
var I: Integer; . for I := 1 to 10 do Writeln(I);

Если нам нужно идти наоборот, в сторону уменьшения значения переменной, то вместо to используют downto:

var I: Integer; . // выведем числа в обратном порядке, от 10 до 1 for I := 10 downto 1 do Writeln(I);

Циклы с предусловием и постусловием

Эти циклы работают так же, как и в других языках программирования, поэтому освоиться в них будет проще.

Цикл с предусловием — это когда сначала проверяется условие цикла, и если оно верно, то цикл выполняется до тех пор, пока оно не станет ложным. В общем виде такой цикл выглядит так:

Выведем с его помощью числа от 1 до 10 (обратите внимание на операторные скобки):

var I: Integer; . I:=1; while I < 11 do begin writeLn(I); I++; end;

Цикл с постусловием работает наоборот: он сначала выполняет тело цикла, а потом проверяет условие. Операторные скобки в нём не ставятся, потому что границы цикла задаются самими командами цикла:

Если условие становится истинным — цикл останавливается. Особенность такого цикла в том, что он выполнится как минимум один раз, прежде чем проверится условие.

var I: Integer; . I:=1; repeat writeLn(I); I++; until I > 10

Процедуры

В Delphi есть отдельный класс подпрограмм, которые называются процедурами. Если сильно упростить, то процедура — это функция, которая не возвращает никакого значения. Процедуры удобно использовать для организации логических блоков, например в одну процедуру вынести приветствие пользователя, в другую — отрисовку интерфейса, в третью — отправку данных на сервер. Все процедуры обязательно должны быть объявлены до начала основной части программы.

В общем виде объявление процедуры выглядит так:

procedure ( ) ;
const . ; // раздел констант
type . ; // раздел типов
var . ; // раздел переменных
begin // начало процедуры

end; // конец процедуры

Если какой-то раздел в процедуре не нужен, его можно пропустить. Сделаем процедуру, которая будет приветствовать пользователя и спрашивать его имя:

var name: string; procedure hello; // объявляем процедуру begin writeln('Привет! Как тебя зовут? '); readLn(name); end; begin // начало основной программы hello; // вызываем процедуру end.

В нашем примере имя пользователя попадёт в глобальную переменную name — доступ к глобальным переменным возможен из любого места программы.

Функции

Функции в Delphi работают точно так же, как и во всех остальных языках программирования. Единственное, о чём нужно помнить, — мы должны заранее определить, какой тип данных вернёт нам функция.

Для примера сделаем функцию возведения в степень: мы передаём в неё два числа, а оно возводит первое в нужную степень:

function power(x, y: double): double; begin result := Exp(Y * Ln(X)); // возвращаем результат работы функции end; begin // начало основной программы Writeln('5 в степени 6 равно ', power(5, 6)); Readln; // ждём нажатия любой клавиши и выходим из программы end.

Что теперь

Надевайте фланелевую рубашку, заваривайте чай в пакетике, подключайте мышку к порту PS/2 и садитесь программировать. Вам снова 16 лет, на завтра нет домашки, а в кармане свежая карточка на 500 мегабайт интернета.

В нем мы собрали всё, что нужно знать о старте в сфере ИТ. Читайте на компьютере и телефоне, распечатывайте на принтере, пересылайте друзьям, используйте как учебное пособие в вузе и школе.

Гид скачивается бесплатно, без регистрации и ввода электронной почты. Просто тык и всё. Не забудьте сохранить на компьютере, если гид откроется в браузере.

Хотите больше? Скачивайте наш гид Хотите больше? Скачивайте наш гид

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию

Зачем устанавливать Ubuntu

6 полезных функций для аналитики данных в Экселе

За хорошего эксельщика двух питонистов дают

Как компьютер научился обыгрывать человека в го и StarCraft

И какая от этого польза человечеству

Как ток бежит по проводам(и другие вопросы)

Объясняем на гуманитарном

Что такое обратная разработка

актобарзар яантарбо еокат отЧ

Несмотря на то, что 83% сайтов в интернете работают на PHP.

Источник

Оцените статью