Операторы ввода и вывода

Модуль 1

Введение в Паскаль: алфавит, синтаксис языка. Структура программы.

Оператор присваивания. Операторы ввода / вывода

Теория

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

 

Алфавит и синтаксис языка

Данный язык имеет свой алфавит – латинские буквы, буквы кириллицы, знаки препинания, цифры. Также имеется свой синтаксис, т. е. специально определенные правила написания слов и фраз. Все слова, которые можно встретить в программе делятся на служебные (или зарезервированные) и имена. К служебным можно отнести, например, begin, end, program, procedure и т. д. Имена представляют собой придуманные пользователем конструкции, предназначенные для называния переменных, констант, программ, подпрограмм, типов и т. д. Имена в Паскале строятся по следующему правилу: они могут состоять из цифр и букв латинского алфавита, символа подчеркивания. При этом имя не должно начинаться с цифры, не должно содержать русские буквы и знаки препинания, пробелы, не должно совпадать с зарезервированными словами. Имена обычно в Паскале называют словом «идентификатор».

Одной из главных единиц языка является переменная – поименованная область памяти, которая имеет размер и тип. Частным случаем переменной является константа – это переменная, которая в ходе выполнения программы не меняет своего значения (не может менять).

 

Структура программы

Общая схема программы, написанной на Паскале,  имеет следующую конструкцию:

 

 

__

Program <имя программы>; - заголовок программы (необязателен)

<раздел описаний>

<раздел подпрограмм>

Begin

<тело программы>

End.

__

Раздел описаний в себя может включать следующие:

Uses – раздел вызова модулей

Const – раздел констант

Type – раздел описания пользовательских типов

Var - раздел описания переменных

Label – раздел меток

При этом разделы Const, Type, Var, Label могут располагаться в произвольном порядке, встречаться несколько раз, либо вообще не использоваться. Вызов модулей также может не осуществляться, но если используется, то должен стоять только на первом месте. В разделе подпрограмм описываются пользовательские процедуры и функции. Данный раздел также может отсутствовать.

После того, как программа набрана, ее необходимо запустить на выполнение. Для выполнения данной процедуры можно действовать двумя способами. Первый: сначала произвести отладку, а затем запустить. В этом случае сначала надо нажать Alt+F9. Если в вашей программе нет синтаксических ошибок, то машина попросит нажать любую клавишу, после чего можно смело запускать программу, нажав Ctrl+F9. Выход из режима выполнения осуществляется нажатием Enter.

Второй способ: сразу нажимать Ctrl+F9. При этом, если ошибок нет, то программа начнет свое выполнение.

Каким образом узнать о наличии ошибок? Если в программе присутствуют синтаксические (именно синтаксические, а не логические) ошибки, то компилятор выдает вверху экрана строку с их указанием номера и описания. После исправления, программу можно запускать повторно.

Также может возникнуть ситуация, когда во время выполнения программы произошло зацикливание, то есть машина не реагирует на нажатие клавиши Enter, в этом случае необходимо произвести прерывание, нажав Ctrl+Break.

 

Обращаю внимание, что машина не различает строчные и заглавные буквы, т. е., например, Х и х считаются одной переменной. В Паскале действует правило: там, где можно поставить один пробел, так их можно ставить сколько угодно. Это дает возможность зрительно с помощью отступов и выступов визуально структурировать программу. Исключением, естественно, является строковая константа, т. е. если в заданной строке изменить количество пробелов, то сама строка будет уже другой. Также необходимо пользоваться правилом: все имена, используемые в тексте, должны быть описаны выше.

В программе можно встретить фигурные скобки { } или конструкцию (* *). Текст, написанный в них, называется комментарием и не воспринимается компилятором. Обычно используется либо для «закрытия» отдельных строк в процессе отладки, либо для пояснений.

 

Оператор присваивания

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

__

Синтаксис:

<имя переменной>:=<значение>;

__

При этом «:=» читается как «присвоить». В качестве значения, которое присваивают, также может быть взята переменная. Например, х:=5; означает, что в ячейку с именем х помещается число 5, а d:=f; - в ячейку с именем d помещается то, что лежит в ячейке f.

Писать 5:=x или 5=:x нельзя.

 

Операторы ввода и вывода

При написании программы необходимо запрашивать в программу данные (пока будем говорить, что только с клавиатуры) и выводить результат (пока будем говорить, что только на экран). Для этого используют операторы ввода \ вывода.

 

__

Синтаксис операторов вывода:

Write(<список вывода>);

и

Writeln(<список вывода>);

__

Списком вывода может служить переменная, либо переменные, перечисленные через запятую, комментарии (записываются в апострофах), вызов функций, выражения. Процедуры предназначены для вывода на экран списка.

Write и writeln отличаются способом вывода. Write печатает на экране список вывода и оставляет курсор в следующей пустой позиции, а оператор writeln – переводит курсор вывода в начало новой строки. Исходя из этого, существует частный случай: writeln; - просто переводит курсор на новую строку.

__

Синтаксис операторов ввода:

Read(<список ввода>);

или

Readln(<список ввода>);

__

Списком ввода может служить переменная, либо переменные, перечисленные через запятую. Процедуры предназначены для ввода с клавиатуры списка.

В операторе Readln окончание говорит о том, что курсов после завершения ввода значения переменной должен перейти к началу следующей строки на экране.

Например, пусть на экране написано:

1 2 3 4

5 6 7 8, тогда

a) В случае последовательного выполнения операторов

read(x);

read(y); получим результат x=1, y=2;

б) в случае последовательного выполнения операторов

readln(x);

read(y); получим результат x=1, y=5;

в) в случае выполнения оператора

readln(x, y); получим результат x=1, y=2.

Существует частный случай readln; - производит задержку экрана до нажатия клавиши [enter]. Здесь же можно упомянуть об операторе readkey; - производит задержку экрана до нажатия любой клавиши. Но нужно отметить, что для работы с процедурой readkey дополнительно необходимо подключить к программе модуль CRT. Более подробно поговорим об этом позже. А сейчас скажем, что подключение осуществляется с помощью строки «uses crt;», которую записывают следом за заголовком программы, либо самой первой строкой программы, если заголовок отсутствует.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: