- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
1.3. Операторы языка
Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы представляет собой последовательность таких операторов. Идущие друг за другом операторы программы разделяются точкой с запятой.
Все операторы языка Паскаль можно разбить на две группы: простые и структурированные.
Простые операторы
Простые операторы могут быть:
■ операторами присваивания := ;
■ операторами обращения к процедуре;
■ операторами безусловного перехода GOTO;
■ пустыми операторами.
С помощью оператора присваивания какой-либо переменной присваивается значение, например: F := FALSE;
STR := 'QWERTY':
I := (A+B+C)/C;
Для обращения к процедуре необходимо указать ее имя со списком фактических параметров, например TAB_IN(N, M);
Оператор безусловного перехода GOTO нарушает нормальное выполнение программы и переводит его на указанную метку. Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом LABEL.
Современный стиль программирования не рекомендует использование этого оператора, т.к. он затрудняет чтение и отладку, и ни в одной из программ данной книги он не встречается.
Пустой оператор никаких действий не производит и не отображается в программе.
Структурированные операторы
К структурированным операторам в PASCAL 7.0 относятся:
■ составной оператор BEGIN END;
■ условный оператор IF ... THEN;
■ оператор выбора CASE ... OF;
■ оператор цикла FOR ... DO;
■ оператор цикла REPEAT ... UNTIL;
■ оператор цикла WHILE ... DO;
■ оператор над записями WITH.
Составной оператор BEGIN END. Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки BEGIN и END. Например, тело программы заключается в такие функциональные скобки.
Условный оператор IF... THEN. Условный оператор позволяет исполнять те или иные действия в зависимости от выполнения логического условия. Предлагается использовать два таких оператора: IF F THEN <оператор 1>; и IF F THEN <оператор 1> ELSE <оператор 2>;
В первом случае, при истинности логического условия F, выполняется оператор 1. Альтернативная конструкция отсутствует и заменена точкой с запятой, т. е., если условие ложно, ничто не выполняется.
Во втором случае, при истинности логического условия F, также выполняется оператор 1, в противном случае - оператор 2.
Например, чтобы определить, являются ли введенные 3 числа А, В, С углами треугольника, нужно записать:
IF (A>0) AND (B>0) AND (C>0) AND (A+B+C = 180)
THEN WRITELN('ЯВЛЯЮТСЯ УГЛАМИ ТРЕУГОЛЬНИКА')
ELSE WRITELN('HE ЯВЛЯЮТСЯ УГЛАМИ ТРЕУГОЛЬНИКА');
Оператор выбора CASE... OF. С помощью оператора CASE можно выбрать любой вариант из допустимых значений переменной. Он имеет следующую структуру:
CASE PARAMETR OF
Р1 : <оператор 1>;
Р1 : <оператор 2>;
…………
Р1 : <оператор N>;
ELSE <оператор N+1>
END;
Если при выборе альтернативы необходимо выполнение нескольких операторов, то нужно заключить их в функциональные скобки, т. е. использовать составной оператор.
При использовании оператора CASE можно указывать диапазон допустимых значений. Например, чтобы определить, введена ли как символьная переменная цифра, можно написать:
CASE I OF
'0'..'9' : WRITELN('ЦИФPA');
ELSE WRITELN('HE ЦИФРА')
END;
Конструкция ELSE необязательна и может быть опущена.
Оператор цикла FOR ... DO. Оператор безусловного цикла имеет следующую структуру
FOR I := N1 ТО N2 DO
<Тело цикла>;
где I - переменная цикла, которая должна быть перечисляемого типа (целая, символьная и т. д.); N1 - начальное значение переменной цикла; N2 - конечное значение переменной цикла.
Безусловный цикл выполняется заданное число раз. Чтобы прервать выполнение досрочно, необходимо увеличить I до конечного значения (I := N2) либо использовать процедуру BREAK, которая прерывает выполнение циклов. Процедура CONTINUE начинает новую итерацию цикла, даже если предыдущая не была завершена.
При программировании может быть использован другой условный оператор цикла, в котором происходит уменьшение значения переменной: FOR I:= N2 DOWNTO N1 DO
<тело цикла>;
Оператор цикла REPEAT... UNTIL. Этот оператор называется циклом с постусловием, т. к. проверка условия осуществляется после каждого выполнения тела цикла:
REPEAT
<тело цикла>
UNTIL <условие>;
Цикл выполняется до тех пор, пока условие не станет истинным.
Например, проверка на то, чтобы задать длину последовательности, осуществляется следующим образом: REPEAT
WRITE('ВВЕДИТЕ ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N =');
READLN (N);
UNTIL N>0;
Цикл выполняется до тех пор, пока пользователь не введет положительное число.
Оператор цикла WHILE ... DO. Этот цикл называется с предусловием, т. к. проверка проводится до начала очередной итерации: WHILE <условие> DO
<тело цикла>;
Цикл выполняется, пока условие истинно. Как только условие нарушается, выполнение цикла завершается.
Например, та же проверка вводимой длины последовательности может быть задана как
READLN(N);
WHILE N<= 0 DO
BEGIN
WRITE('BBEДИТE ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N =');
READLN (N);
END;
Обратите внимание, что до первого входа в цикл переменной N уже должно быть присвоено какое-либо значение!
Процедуры BREAK и CONTINUE используются в условных циклах так же, как и в безусловных.
Оператор над записями WITH. Оператор работы над записями WITH позволяет при обращении к полям указывать не имя переменной, а только идентификатор поля:
WITH HUMAN DO
BEGIN
NAME := 'МУХА;
SURNAME := 'ЦОКОТУХА;
DATE := 1924
END;
Этот фрагмент можно было задать иначе:
HUMAN.NAME := 'МУХА';
HUMAN.SURNAME := 'ЦОКОТУХА;
HUMAN.DATE := 1924;