THEN оператор_1

ELSE оператор_2;

Примеры:

1. IF Alfa>0 THEN X:=Y+5;

2. IF B>C

THEN Y:=X-7

ELSE Y:=X+7;

3. IF BETA<>GAMMA

THEN

BEGIN

Y:=1-X*X-BETA;

ShowMessage (‘У =’+FloatToStr(У));

END

ELSE

BEGIN

Y:=SIN(X*GAMMA);

ShowMessage (‘У =’+FloatToStr(У));

END;

В условиях могут использоваться операции отношения < , >, <=, >=, <>, а также логические операции AND (И), OR (ИЛИ), NOT (НЕ).

IF (X>Y) AND (X>=0) ...

IF (K>=M) OR (K>=T) ...

Условный оператор CASE

Позволяет осуществить выбор из произвольного числа вариантов при совпадении селектора (целочисленная или символьная переменная ) со значениемметкисоответствующего селектору типа.

CASE Cелектор OF

Метка_1 : оператор1;

Метка_2 : оператор2;

...

Метка_N : операторN

ELSE оператор

END;

Примеры.

1. CASE K OF

1: Z:=K+1;

2: Z:=K+2;

3: Z:=K+3

END;

 

2. CASE Number OF

1..10 : X:=sin(Y);

100..500 : X:=cos(Y);

1000..2000: X:=X*Y

ELSE X:=Y*Y

END;


Операторы цикла

Цикл- это последовательность операторов, которые могут выполняться более одного раза. Если количество повторений известно, то применяется оператор FOR (ДЛЯ), в противном случае - WHILE (ПОКА) или REPEAT (ДО).

Оператор цикла FOR

FOR Параметр_цикла := Нач_значение TO Кон_значение DO Оператор;

Оператор выполняется, пока не будут перебраны все значения параметра цикла целочисленного или символьного типа от начального до конечного с шагом 1. Для шага -1 вместо TO надо записать DOWNTO.

Пример на вычисление суммы, произведения и количества.

SUMMA:=0; COL:=0; PR:=1;

FOR K:=1 TO N DO

Begin

X:=0.5+(K-1)*0.5; Y:=SIN(X);

IF Y>=0 Then COL:=COL+1;

SUMMA:=SUMMA+Y; PR:=PR*Y;

End;

Оператор цикла WHILE

Цикл по принципу "ПОКА", т.е. условие проверяется до вхождения в цикл.

WHILE условие DO оператор;

Пример. WHILE (A>0) AND (A<5) DO X:=A;

Оператор цикла REPEAT

Цикл организован по принципу "ДО", т.е. с условием, которое проверяется после всех операторов цикла. Истинность условия обеспечивает выход из цикла.

REPEAT операторы UNTIL условие;

Массивы

Массив определяет группу элементов одного типа, носящих одно имя. Объявление массива

VAR Имя : ARRAY [размер1, размер2,...] OF Тип_элемента;

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

Тип элемента - целого, вещественного, символьного, булевского типа, массивы, записи, строки и т.д.

Примеры на объявления

1. VAR X : ARRAY[1..10] OF BYTE;

2. VAR Y : ARRAY[5..25] OF REAL;

3. VAR Z : ARRAY [0..4] OF CHAR;

4. VAR M : ARRAY['A'..'K'] OF INTEGER;

5. VAR MM : ARRAY [1..5, 1..15] OF BYTE;

Примеры на использование массивов

1. A[I]:=cos (B[I,5]/5);

2. A[5]:=B[1,1];

3. IF B[I,I] > 0 Then A[I]:=B[I-1,I+1];

Файлы

Файл представляет собой последовательность элементов одного и того же типа, число которых не является фиксированной величиной.

В программе файл сопоставляется с файловой переменной, которая объявляется

VAR Имя : FILE OF Тип_элементов;

Текстовый файл - это файл с элементами типа CHAR.

Объявляется текстовый файл VAR Имя : TEXTFILE;

либо в некоторых случаях VAR Имя : TEXT;

Например,пусть F – файловая переменная

VAR F: TEXTFILE;

Связь с дисковым файлом обеспечивают процедуры

ASSIGNFILE (F, Имя_файла);

либоASSIGN (F, Имя_файла);

где Имя_файла - строковый тип - имя дискового файла.

В текстовый файл можно либо записывать информацию,

WRITE(F, Список_вывода);

WRITELN(F, Список_вывода);

либо из него считывать исходные данные

READ (F, Список ввода);

READLN(F, Список ввода);

Для подготовки к записи используют процедуру REWRITE(F);

а для чтения - RESET(F);

В существующий файл можно добавлять информацию, для подготовки неоткрытого файла записывают процедуру APPEND(F);

После обработки файл закрывают процедурой CLOSEFILE (F);

Файл можно удалить процедурой ERASE (F);

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

Х : W- задается поле в W символов для символьных, строковых и целых переменных и констант X.

X : W:D - на поле вывода в W позициях для вещественных данных X задается D цифр дробной части числа.

Пример

VAR F , P: TEXTFILE;

X:REAL;

...

ASSIGNFILE (F,'A:\PAS\1.TXT');

REWRITE(F);

WRITELN (F, 'Записываю в файл A:\PAS\1.TXT');

CLOSEFILE (F);

ASSIGNFILE (P, 'C:\115\2.TXT');

RESET(P);

READLN(P, X);

CLOSEFILE (P);