Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algoritmy.doc
Скачиваний:
3
Добавлен:
27.04.2019
Размер:
550.91 Кб
Скачать

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

Оператор вызова процедуры ввода имеет одну из следующих форм:

read(список переменных); readln(список переменных); readln;

Оператор вызова процедуры вывода имеет одну из следующих форм:

write(список выражений); writeln(список выражений); writeln;

Для перехода на новую строку в процессе вывода можно использовать следующий прием:

const newline = #10; ... writeln(x, newline, y);

или

writeln('Hello'+newline+'world');

Форматы вывода

Для любых типов:

write(x:а); // а - ширина поля вывода

Если число не помещается в указанные позиции, то формат игнорируется. Вещественные числа в этом формате выводятся в экспоненциальной форме.

Для вещественного типа:

write(x:а:b); // a - ширина поля вывода, b - количество цифр в дробной части

Вещественные числа в этом формате выводятся в виде с фиксированной точкой.

Неправильный формат вывода игнорируется. Например, если x=14.457, то после

write(x:0:2)

будет выведено 14.46.

Выражения и операции Выражения

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

Каждое выражение имеет тип, зависящий от типов входящих в него операндов. Выражение называют арифметическим, если его значением является число. Выражение называют логическим, если его значение имеет логический тип.

Логическое выражение всегда имеет тип boolean.

Тип арифметического выражения определяется типом операнда "старшего" типа: если в выражении есть хотя бы один операнд типа real, то выражение имеет тип real, если нет операндов типа real, но есть операнды типа integer, то выражение имеет тип integer. Исключение составляет операция деления: результатом деления целого на целое является вещественное.

Не все типы совместимы в выражении: к примеру, нельзя сложить целое и строку, нельзя из строки вычесть символ.

При вычислениях выражений со смешанными типами также происходит неявное преобразование типов. Например, если i имеет тип integer, а bt - тип byte, то при вычислении выражения i+bt происходит вначале преобразование значения bt к "старшему" типу integer и только после этого выполняется операция сложения.

Операции

Операции в выражении вычисляются в порядке приоритетов: вначале операции с большим приоритетом, затем - с меньшим. Операции с одинаковым приоритетом вычисляются слева направо. Операции в скобках выполняются в первую очередь.

Таблица приоритетов операций языка Pascal

  1. +&nbsp-  (унарные)

  2. * / div mod shl shr and

  3. + - (бинарные) or xor

  4. <  >  <=  >=  =  <>  in

Примеры.

2-1+3=(2-1)+3 4/2*2=(4/2)*2 4/2/2=(4/2)/2 1*2+3*4 - операции умножения вычисляются в непредсказуемом порядке.

Операции div и mod для целых

x div y - результат целочисленного деления x на y. Точнее, x div y = x/y, округленное до ближайшего целого по направлению к 0.

x mod y - остаток при целочисленном делении x на y. Точнее, x mod y = x-(x div y)*y.

Примеры.

5 div 3 = 1 5 mod 3 = 2 x mod 2 = 0  <=>  х - четное x mod 2 <>0 <=>  х - нечетное

Пример. Выделение цифр из числа.

х:=345; a1 := x mod 10; // = 5 x := x div 10;  // = 34 a2 := x mod 10; // = 4 a3 := x div 10; // = 3

Таким способом можно разбить число на цифры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]