Программирование Основы программирования на Turbo Pascal.

advertisement
1
Программирование
Основы программирования на Turbo Pascal.
Паскаль (Pascal) — учебный инструментальный язык программирования вычислительных
машин и персональных компьютеров. Система программирования Turbo Pascal представляет
собой интегрированную среду, включающую в себя:

Экранный редактор.

Компилятор входного языка.

Редактор связей.

Интерактивный символьный отладчик.

Справочную систему.
Запуск Turbo Pascal производится командой turbo в командной строке.
Загрузка файла программы prog.pas: turbo prog.pas.
Общая структура программы в Turbo Pascal.
{Комментарий на русском языке}
Program Name; {Это-заголовок программы - не более 256 лат. букв, цифр}
{Раздел описаний}
USES — Список используемых библиотек или модулей (например, CRT, GRAPH);
LABEL — Список меток в основном блоке программы (например, m1,m2);
CONST — Определение констант программы;
TYPE — Описание типов;
VAR — Определение глобальных переменных программы;
ОПРЕДЕЛЕНИЕ ПРОЦЕДУР (заголовки и, возможно, тела процедур);
ОПРЕДЕЛЕНИЕ ФУНКЦИЙ (заголовки и, возможно, тела функций);
BEGIN {Это — символ начала программы}
Основной блок (тело) программы (раздел исполняемых операторов);
END. {Это — символ окончания программы}
Данные в языке Turbo Pascal. Целые и вещественные числа.
Данные целого типа в языке Turbo Pascal
Данные целого типа — используютсякогда величину нужно представить абсолютно точно. К
ним относятся константы и переменные.
Константа целого типа — это десятичное число, записанное без точки. Если константа
отрицательная, то перед ней ставится знак минус (например, const k=15; p1=-46; p2=46).
Переменная целого типа принимает значение целого десятичного числа. Описание
переменной обозначается integer (например, var a,b:integer; b1,b2:integer).
Действительный (вещественный) тип данных в Turbo Pascal.
В Turbo Pascal константа действительного типа представлена в двух видах:
Числом с фиксированной точкой.
Числом с плавающей точкой.
В записи действительных чисел вместо десятичной запятой, как принято в математике,
используется ДЕСЯТИЧНАЯ ТОЧКА!


2
Число с плавающей точкой записывается в виде: mEp, где m — мантисса числа, p — порядок
числа.
Операции над действительными числами: сложение +, вычитание -, умножение *, деление /.
Одно из двух данных при этом может быть целого типа, но результат операции будет
действительным числом.
К действительным числам можно применять встроенные функции sin(x); cos(x); exp(x); ln(x);
sqr(x); sqrt(x); arctan(x) и т.д.
Вывод действительных данных возможен с форматом и без формата.
Формат указывается в операторе вывода write вслед за выводимым данным через двоеточие:
R:m:n, где R — выводимое данное действительного типа, m — общее поле выводимого
числа (включая знак числа, целую часть, точку и дробную часть), n — поле дробной части.
В качестве m и n могут быть целые константы, переменные, выражения. Чаще всего это
целые числа. При использовании форматов число выводится с фиксированной точкой.
Данные в языке Turbo Pascal. Логические, символьные и строковые.
Две логические константы: TRUE (истина) и FALSE (ложь), можно использовать в явном
виде или обозначать именем в разделе CONST, например:
const
T=true;
F=false;
Логическая переменная — может принимать два значения TRUE и FALSE. Описание
логической переменной имеет тип BOOLEAN, например:
var L,A,C:boolean;
В разделе операторов логическому типу переменной можно присвоить значение логической
константы, например:
L1:= true; L2:= false; L3:= L1;
Операции отношений для сравнения переменных, принимающих численные значения:
< меньше,
<= меньше или равно,
= равно,
<> не равно,
> больше,
>= больше или равно.
Операции с данными логического типа:
OR — логическое ИЛИ (логическое сложение — дизъюнкция).
AND — логическое И (логическое умножение — конъюнкция).
NOT — логическое отрицание НЕ.
Данные символьного типа
TP может обрабатывать не только числа, но и символы. Значениями символьного типа
является всё множество символов ПК. Каждому символу приписывается целое число в
диапазоне 0...255.
3
Символьная константа (литера) — это символ, заключенный в апострофы. Внешние
апострофы являются признаком символьной константы, которая занимает 1 байт памяти.
Символьную константу можно обозначить именем и задать в разделе констант.
Символьная переменная принимает значение одного символа. В разделе переменных она
обозначается описателем CHAR (символьный тип).
Конструкции в Turbo Pascal.
1. Условный оператор IF...THEN....ELSE (Если...то...иначе) — организовывает
разветвление в алгоритме программы, записывается:
IF Логическое условие THEN Оператор 1
ELSE Оператор 2;
Если выполняется логическое условие, то выполняется оператор 1. В противном случае
выполняется оператор 2.
2. Оператор цикла с параметром FOR...TO...DO.
Для организации циклического алгоритма часто используется оператор цикла с параметром:
for i:=A to B do S, где i-некоторая переменная (параметр или счетчик цикла) типа integer, A и
B (B>A) выражения со значением типа integer, S-оператор (тело цикла). Если A>B, то
оператор S не будет выполнен ни разу (когда параметр i возрастает). Если параметр i
возрастает, то между границами его значений A и B ставится слово TO, если же i убывает, то
ставится слово DOWNTO и оператор цикла выполняется при A>B.
3. Оператор цикла с предварительным условием WHILE...DO.
while логическое выражение (условие) do
begin
Операторы циклической части программы (тело цикла)
end;
4. Оператор цикла с последующим условием REPEAT...UNTIL.
Организует выполнение цикла, состоящего из любого числа операторов, с неизвестным
заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла
осуществляется при истинности некоторого логического выражения (условия).
Структура оператора:
REPEAT <тело цикла> UNTIL <условие>, где <тело цикла> — последовательность
операторов Turbo Pascal, <условие> - выражение логического типа. Структуру оператора
REPEAT...UNTIL можно также представить в виде:
REPEAT
Instruction1;
Instruction2;
.............
InstructionM;
UNTIL S;
Instruction1, Instruction2, ..., InstructionM — выполняемые операторы, составляющие тело
цикла, S-логическое условие, истинность которого проверяется в конце каждого повторения.
4
Массивы в Turbo Pascal.
Массив — это множество однотипных элементов, объединённых общим именем и
занимающих в компьютере определённую область памяти.
Количество элементов в массиве всегда конечно.
В качестве элементов массива можно использовать любой тип данных, поэтому вполне
правомерно существование массивов записей, массивов указателей, массивов строк,
массивов и т.д. Элементами массива могут быть данные любого типа, включая
структурированные.
Для описания массива предназначено словосочетание array of (массив из).
Одномерным массивом называется совокупность данных, выполняющих аналогичные
функции, и обозначаемая одним именем. Если за каждым элементом массива закреплен
только один его порядковый номер, то такой массив называется линейным, или одномерным
<имя массива>: = array [<количество элементов>] of <тип переменной>;
Каждый элемент массива в общем виде описывается как А [I], где А — имя массива, I —
номер или индекс массива (0<=I<=N, но практически употребляется 1<=I<=N) A[I] значение элемента массива.
Действия над массивами и его элементами
Для работы с массивом как единым целым используется идентификатор массива без
указания индекса в квадратных скобках. Массив может участвовать только в операциях
отношения "равно", "не равно" и в операторе присваивания. Массивы, участвующие в этих
действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и
одинаковые типы компонентов.
После объявления массива каждый его элемент можно обработать, указав идентификатор
(имя) массива и индекс элемента в квадратных скобках.
Индексированные элементы массива называются индексированными переменными и могут
быть использованы так же, как и простые переменные. Например, они могут находиться в
выражениях в качестве операндов, использоваться в операторах for, while, repeat, входить в
качестве параметров в операторы Read, Readln, Write, Writeln; им можно присваивать
любые значения, соответствующие их типу.
Двумерным называется массив, элемент которого зависит от его местоположения в строке и
в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А — имя массива, I
— индекс (номер) строки, J — индекс (номер) столбца.
Матрицу на языке Паскаль можно задать двумя способами:


<имя матрицы>: array [<количество строк>] of array [<количество столбцов>] of <тип
переменной>;
<имя матрицы>: array [<количество строк >,<количество столбцов>] оf <тип
переменной>].
5
Работа с файлами в Turbo Pascal.
Процедуры при работе с файлами в TP:







Assign (var F; name: string); — устанавливает соответствие между файлом и файловой
переменной, открывает все другие процедуры работы с файлами. F — переменная
любого файлового типа, name - полное имя файла.
close (var F); — окончание процедур работы с файлами (закрытие файла).
rewrite (var F: file); — создаёт и открывает новый файл.
reset (var F: file); — открывает существующий файл.
append (var F: text); — открывает существующий текстовый файл и позиционирует
указатель обработки на конец файла. После этого можно дополнять текстовый файл
информацией, начиная с конца строки.
erase (var F); - удаляет неоткрытый внешний файл любого типа, задаваемый переменной
F.
rename (var F: newname: string); — переименовывает неоткрытый файл F любого типа.
Новое имя задаётся строкой newname.
Текстовый файл можно рассматривать как последовательность символов, разбитую на
строки длиной от 0 до 256 символов. Для описания используется стандартный тип text: var F:
text; (F — файловая переменная).
Стандартные типы данных не требуют описания в разделе type в отличие от типов,
образованных пользователем.
Формат раздела: type <имя типа> = <значение типа>;
Имя и значение типа даёт пользователь.
Функция Eoln(var F: text) возвращает булевское значение True, если текущая файловая
позиция находится на маркере конца строки или вызов Eof(F) возвратил значение True. Во
всех других случаях значение функции будет False.
Функция Eof(var F: text) возвращает булевское значение True, если указатель конца файла
находится сразу за последним компонентом. В противном случае — False.
Download