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);