Язык программирования Паскаль. Типы данных. Основные операторы, страница 3

   abs (x) – модуль x

   sqr (x) – x

   sqrt (x) – Vx

                         true, если х — четное число;

   odd (x)  =              

                        false, если х—нечегное число;

   ord (с)   — порядковый номер символа   с;

   chr (i )   —символ с порядковым номером i

(последние две функции обратны друг другу:

    chr (ord (с)) == с;  ord (chr (i)) == i;

   prcd (с) - символ, предшествующий символу с в установленном порядке символов

   succ (с) - символ, последующий по упорядочению.

Вместо одного оператора в любом месте программы можно вста­вить целый набор операторов, разделенных точками с запятой, за­ключенный в операторные скобки begin, end. Такой оператор назы­вается составным. Передend точка с запятой не ставится. Блок отличается от составного оператора тем, что содержит описательную часть, в которой могут быть определения меток, констант, типов. Описательная часть предшествует основному оператору.

Операторы ввода—вывода имеют вид

read  (список ввода)

readin (список ввода)

write   (список вывода)

writein (список вывода)

Операторы readin и writein осуществляют соответственно ввод и вывод с пропуском строки (записи) в файле после окончания операции. Оператор

readin

без параметров осуществляет пропуск строки во вводном файле, а оператор writein

без параметров реализует перевод строки.

С операторами  вода  вывода  связаны  стандартные последовательные   по организации строк записей файлы input  и output. Эти файлы с точки зрения программиста являются терминальными устройствами пользователя, например экран и клавиатура или кла­виатура и печать.

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

Форма представления переменных, если нет дополнительных ука­заний, соответствует объявленному в программе типу этих пере­менных: переменные целого типа выводятся как целые числа, действи­тельные переменные — в виде нормализованных чисел с десятичным порядком, булевские — в виде true иfalse, символьные — в виде значений-символов. Но число позиций для вывода переменной можно указать явно; например, если d — целая, то оператор

  write (d : 5)

предусматривает для вывода пять позиций. Если b — вещественная, то оператор

  write (b : 10 : 3)

предусматривает для вывода b десять позиций, из них три  для дробной части. Для вывода символьной переменной необходима лишь одна позиция, лишние заполняются слева пробелами.

Условный оператор имеет две формы:

 a) if  булевское выражение then оператор 1 else оператор 2;

 б) if булевское выражениеthenоператор 1

Операторы могут быть составными; булевскими  выражениями могут быть не только логические переменные , связанные опера­циямиor, and, not,

но и выражения вида

x > 5

p = ‘kog ‘

char ( k ) = ‘d ’

каждое из которых на некотором этапе выполнения программы принимает либо истинное (true), либо ложное (false) значение.

if d >= 0  then q : = sqrt (sqr (b) — 4 *а * с);

if х > 0 then у : = 1 else у : = 0;

if (х < 0) and (х > -5) then writeln ('попадание')

                                         else writeln ('промах');

Булевское выражение определяет условие, истинность которого влечет выполнение «оператор 1», а ложность — выполнение «опера­тор 2» в условном операторе вида «а».

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

«Цикл-пока» с проверкой условия в конце цикла:

repeat < группа операторов > until <булевское выражение>

Оператор цикла в такой форме повторяет группу операторов, разделен­ных точкой с запятой, до тех пор, пока остается истинным булевское выражение.

Пример. Требуется составить программу вычисления суммы.

S( x ) = 1 + x + x +…+ x…;

вычисления производить до тех пор, пока очередное          слогаемое не ста­нет меньше е = 0 . 5 • 10 15 (сумма сходится к –e  )     при х > 0

Пример

program sum ( input, output );

const eps = 0,5 – 6

var d, х, s : real; i : integer;

begin

write ('введите аргумент           х');

readln (х);

s : = 1.0;

i : = 1;

d : = x;

Repart

s : = s + d;

i : = i + 1;

d : = d*x / I

unit d > eps;

written (‘ сумма S (x) равна’ , s : 15 : 7)

end.