- •Тема 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 разные задачи
Структурированные типы данных
В языке PASCAL 7.0 используются следующие структурированные типы:
■ массив;
■ запись;
■ множество;
■ файл.
Массив. Он представляет собой заранее известное количество однотипных компонентов, снабженных индексами. Массив может быть одномерным или многомерным. Чтобы задать тип-массив, необходимо использовать зарезервированное слово ARRAY, тип индексов массива и тип компонентов массива.
Например, тип одномерного массива целых чисел может быть задан следующим образом:
TYPE
MAS = ARRAY[1..1O] OF INTEGER;
VAR
Ml : MAS;
Тот же самый тип массива может быть задан и при определении соответствующих переменных: VAR
М1 : ARRAY[1..1O] OF INTEGER;
Размерность массива может быть любой, компоненты тоже, только тип индексов должен быть обязательно порядковый и не Longint. В большинстве случаев при задании размеров массивов используются диапазоны.
В PASCAL 7.0 тип двумерных массивов описывается так же, как и одномерных. Различие состоит в том, что вы должны указать диапазон для двух индексов .массива - положение каждого элемента массива A [I, J] определяется значением строки I и столбца J. Например, описание двумерного массива натуральных чисел размера N х М может быть задано следующей строкой: VAR MAS : ARRAY[1..N, 1..M] OF INTEGER;
Особым типом одномерных массивов являются строки. В PASCAL 7.0 последовательность символов, заключенная в апострофы, называется строкой и описывается типом STRING:
'ASEWQ', 'zxczxczxc', ' хи-хи' и т. д.
Строки, состоящие всего из одного символа, называются символьными константами. У типа-строки может быть указан размер (от 1 до 255).
Для строк выполняются операции сравнения (>,> = ,<,<=) и конкатинации (+), например:
'viv' < 'viva',
'мото' + 'цикл' = 'мотоцикл'.
По сути строка длины К представляет собой массив из К+1 символьных переменных, где нулевой элемент хранит значение длины строки: STRING[K] = ARRAY[0..K] OF CHAR.
Для строк часто используется функция длины LENGTH(STR).
В версии 7.0 введен еще один тип строки - ASCIIZ-строка. В отличие от прочих строк каждая из них оканчивается на 0 и длина ее не ограничена. Например, задать тип ASCIIZ-строки можно следующим образом: VAR STR : PCHAR;
Запись. Она включает в себя несколько полей, тип которых может отличаться друг от друга. Для задания записи используется зарезервированное слово RECORD, затем следует задание типов полей с использованием двоеточия. Завершается каждое поле точкой с запятой. Конец описания записи определяется словом END. Например, для того, чтобы составить записи, соответствующие имени, фамилии и году рождения человека, можно использовать следующее задание:
TYPE
HUMAN = RECORD
NAME : STRING;
SURNAME : STRING;
DATA : INTEGER
END;
Доступ к полям записи осуществляется через имя переменной и имя поля, записываемого через точку:
GUSEVA.NAME
GUSEVA.SURNAME
GUSEVA.DATA
Обработка записей производится с помощью оператора WITH:
WITH <имя записи> DO <оператор>;
Множество. Множество в PASCAL 7.0 должно состоять из порядковых элементов, и их число не должно превышать 255. Например:
TYPE
NUM = SET OF '0'..'9';
М = SET OF ['.',',','!',':', ';','?', '-'];
Те же самые множества знаков препинания и цифр могут быть заданы с помощью описания переменных:
VAR
М : SET OF CHAR;
BEGIN
М = ['.',',','!',':', ';','?', '-'];
NUM = ['0'..'9'];
Для множеств используются следующие операции:
Операция |
Назначение |
+ |
Объединение множеств |
* |
Пересечение множеств |
- |
Разность множеств |
= |
Проверка на эквивалентность двух множеств |
<> |
Проверка на неэквивалентность двух множеств |
<= |
Проверка того, является ли левое множество подмножеством правого |
=> |
Проверка того, является ли правое множество подмножеством левого |
IN |
Проверка на принадлежность элемента данному множеству |
Результатом работы операций объединения, пересечения и разности является новое множество. Результат работы остальных операций - логический.
Файл. Одним из типов данных в PASCAL является файловый тип, представляющий собой последовательность однотиповых компонентов, расположенных на внешнем носителе. Тип этих компонентов может быть любой, за исключением типа-файла. Размер файла не объявляется.
В PASCAL 7.0 имеется 3 категории файлов, работа с которыми отличается друг от друга:
■ текстовые (тип TEXT);
■ типизированные (FILE OF <тип>);
■ файлы без типа (FILE).
Например, можно объявить:
TYPE
NUM = FILE OF INTEGER;
YY = FILE;
VAR
F1, F2 : NUM;
F3 : TEXT;