Лекция 2
|
 |
 |
|
Операторы языка Паскаль.
Часть 1.
|
|
1. |
Простые и составные операторы. |
|
1) |
Оператор присваивания. |
|
<имя
переменной>:=<выражение> |
|
Выполнение:
вычисляется значение выражения, стоящего в правой части
оператора, и полученное значение присваивается переменной, имя
которой указано в левой части оператора. |
|
При
вычислении значения выражения необходимо учитывать тип данных и
операции, которые над ними выполняются. Если хотя бы один
элемент данных, входящих в выражение, относится к вещественному
типу или же в выражении встречается операция деления, то
результат будет принадлежать вещественному типу данных. |
|
<имя
процедуры>[(<список значений параметров>)]; |
|
Выполнение:
происходит переход к стандартной или определенной пользователем
процедуре с неявным присваиванием фактических значений
формальным параметрам процедуры. |
|
Организовать ввод и вывод данных в языке Паскаль можно с помощью
стандартных процедур read, readln, write, writeln. |
|
Ввод/вывод
данных всегда связан с обменом информацией между оперативной
памятью и внешними носителями информации, в качестве которых
могут выступать как файлы так и консольные устройства
ввода/вывода (клавиатура, дисплей, принтер и т.д.). |
|
read([<имя
устройства ввода>,]<список имен переменных>); |
|
readln([<имя
устройства ввода>,]<список имен переменных>); |
|
write([<имя
устройства вывода>,]<список значений>); |
|
writeln([<имя
устройства вывода>,]<список значений>); |
|
ввод
данных: с устройства
ввода последовательно считываются значения и присваиваются
переменным, имена которых указаны в списке. При этом, необходимо
следить за тем, чтобы совпадали типы у переменных и
присваиваемых им значений (нельзя присвоить символьное значение
вещественной переменной и т.п.); |
|
вывод
данных: значения,
указанные в списке, последовательно выводятся на устройство
вывода данных. |
|
Отличие
процедур read и readln, write и writeln состоит в том, что при
выполнении процедур writeln и readln к последнему значению
автоматически дописывается управляющий символ конца строки, что
означает переход на новую строку экрана или файла. |
|
Составной
оператор представляет собой последовательность операторов,
заключенных в операторные скобки begin и end. |
|
Выполнение
составного оператора заключается в том, что один за другим
выполняются операторы, указанные внутри операторных скобок, в
той последовательности, как они записаны, до тех пор, пока не
будет полностью исчерпана вся последовательность. |
|
2. |
Структурные операторы. |
где <условие> -
выражение булевского типа;
|
<оператор>
- любой оператор языка Паскаль (в том числе и составной). |
|
Выполнение:
вычисляется значение выражения, стоящего в условии. Если это
значение истинно, то выполняется оператор, следующий за
служебным словом then. Если условие ложно, то выполняется
оператор, стоящий за служебным словом else. |
|
Условный
оператор может использоваться и в сокращенной форме, когда
отсутствует часть оператора, начиная со служебного слова else. В
этом случае оператор выполняется при истинном условии, а если
условие ложно, то происходит переход к оператору, следующему за
условным. Например: |
|
В условном
операторе за служебными словами then и else могут следовать
любые операторы языка Паскаль, в том числе и условные. Поэтому
возможны «вложенные» условные операторы. Например, |
|
Условие
может быть составным. В этом случае каждая его часть заключается
в скобки. Например: |
|
C помощью
условного оператора осуществляется выбор одного из двух
возможных действий в зависимости от значения булевского
выражения. Однако, часто бывает необходимо выбрать одно из
нескольких (больше двух) действий. Для реализации такого рода
ситуаций в языке Паскаль предусмотрен специальный оператор
варианта. |
|
<значение
1>: <оператор>; |
|
<значение n>:
<оператор>; |
end;
где <выражение> - выражение любого скалярного типа (кроме real);
|
<оператор>
- любой оператор языка Паскаль. |
|
Выполнение:
вычисляется значение выражения, стоящего после case. Это
значение используется для выбора одного из возможных действий.
Если полученное значение выражения совпадает с одним из
перечисленных после of, то выполняется соответствующий оператор.
Если один и тот же оператор должен выполняться при различных
значениях выражения, то эти значения могут быть указаны через
запятые или в виде интервала. Если в операторе присутствует
часть else, то оператор, указанный за данным служебным словом,
выполняется тогда, когда значение выражения не совпадает ни с
одним из значений, перечисленных после of. Например: |
Пусть m – номер
месяца, y – порядковый номер года. Определить d – количество дней в
соответствующем месяце.
1,3,5,7,8,10,12:
d:=31;
4,6,9,11: d:=30;
2: if (y mod 4=0) and (y mod 100 <>0)
then d:=29
else d:=28
end;
 |