Типы данных
Рассмотрим еще одну несложную программу (пример 2.2). Ее назначение: ввести с клавиатуры два целых числа, найти результат деления первого числа на второе и вывести полученный результат на экран.
Пример 2.2.
Program Input_0utput; {Программа вводит два целых числа и выводит частное от деления 1-го на 2-е} var n1,n2: Integer; {n1 и n2 – вводимые целые} х: Real; {x – результат} BEGIN Write('n1 = '); {Сообщаем о вводе n1} ReadLn (n1); {Вводим n1} Write ('n2 = '); {Сообщаем о вводе п2} ReadLn (n2); {Вводим п2} x: = n1/n2; {Находим результат} WriteLn('n1/n2 =',х); {Выводим его} END.
Прежде всего бросается в глаза появление в программе поясняющих комментариев. Комментарий в Турбо Паскале – это произвольная последовательность любых символов, обрамленная фигурными скобками. Комментарий разрешается вставлять в любое место программы, где по смыслу может стоять пробел. В качестве ограничителей комментария допускается использование фигурных скобок "{" и "}", а также пары символов: "(*" – слева от комментария и "*)" – справа от него:
{ Это – комментарий } (* Это – тоже комментарий *)
Редактор Турбо Паскаля выделяет комментарии наклонным шрифтам (курсивом).
Комментарии с однотипными ограничителями нельзя вкладывать друг в друга, т.е. недопустимы последовательности вида:
{…{…}…} или (*…(*…*)…*)
Однако можно вкладывать комментарии с ограничителями разных типов (не более одной глубины вложения):
{… (*…*)…} или (*… {… }… *)
Последнее обстоятельство проясняет кажущуюся странной избыточность ограничителей: если всюду в программе будут использоваться ограничители одного типа, то для того, чтобы временно исключить из программы какой-либо фрагмент текста, достаточно заключить его в ограничители другого типа.
Наличие комментариев в программе избавляет меня от необходимости пояснять назначение отдельных строк программы. Несколько слов о вводе данных. Пары операторов:
Write (..); ReadLn(..);
Работают следующим образом. Вначале оператор Write выводит строку на экран и оставляет курсор в конце только что выведенной строки текста. Заметим, что оператор:
WriteLn(Text);
В примере 1 после вывода текста осуществлял перевод строки и устанавливал курсор в начало следующей строки экрана. Именно в этом простом действии (переводе строки) заключается единственное отличие в работе процедуры WriteLn от процедуры Write.
Затем по оператору ReadLn вызывается встроенная процедура ввода данных и программа останавливается в ожидании ввода. В этот момент необходимо набрать на клавиатуре нужное число и нажать клавишу Enter. Сразу после этого программа продолжит работу: проанализирует введенное число и перейдет к вводу следующего числа или вычислению результата. Таким образом, сигналом окончания подготовки очередного числа является нажатие на клавишу Enter, до этого момента можно стирать любой ошибочно введенный символ клавишей Backspace.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Для вычисления отношения введенных чисел используется один из основных операторов Турбо Паскаля – оператор присваивания. В его левой части указывается имя переменной, правая часть представляет собой выражение того же типа, что и переменная. Пара символов ": =", связывающая левую и правую части оператора присваивания, означает "присвоить значение". Запомним: в операторах присваивания Турбо Паскаля всегда используются символы ": =", в то время как при описании констант – одиночный символ "=". С точки зрения синтаксиса языка, два символа ": =" рассматриваются как один специальный символ и обязательно пишутся слитно.
Оператор присваивания используется практически во всех языках программирования. В некоторых языках, например в Фортране или Бейсике, символом присваивания является знак равенства, однако новичка, привыкшего к строгости математических формул, может озадачить типичная форма записи фортран-оператора присваивания, например, такая:
X = X + 1
Вариант записи этого же оператора на Турбо Паскале в этом смысле кажется более логичным:
X: = X + 1;
Разумеется, вряд ли кому-нибудь придет в голову видеть уравнения там, где их нет и не может быть. Конечно же, и в том, и в другом случае реализуется одно и то же алгоритмическое действие: к содержимому X прибавляется 1 и полученный результат вновь присваивается переменной X. Обратите внимание на оператор вывода результатов:
WriteLn('n1/n2 = ',х);
В нем в качестве одного из параметров явно указывается константа типа строка символов 'n1/n2 = '. Конечно же, константы (в отличие от переменных) вовсе не обязательно описывать в разделе описаний, так как их тип легко определяется компилятором по форме записи константы. С учетом этого можно было бы записать программу из примера 1 предельно лаконично:
begin WriteLn('Я программирую на Турбо Паскале'); end.