- •Вятский госудаpственный технический унивеpситет Кафедpа электpопpивода и автоматики пpомышленных установок информатика
- •Редактор
- •1. Общая структура программы на языке турбо-паскаль.
- •1.1. Раздел описания меток.
- •1.2. Раздел определения констант.
- •1.3.Раздел описания типов.
- •1.4.Раздел описания переменных.
- •1.5.Раздел описания процедур и функций.
- •2.Компоненты языка паскаль.
- •3.Данные в языке паскаль.
- •3.1. Пpостые типы данных.
- •3.1.1.Целый тип данных.
- •3.1.2. Вещественный тип.
- •3.1.3. Символьный тип.
- •3.1.4.Логический тип.
- •3.1.5.Перечисляемый тип.
- •3.2.Структурные (структурированные) типы данных.
- •3.2.1.Массивы.
- •3.2.2.Строки.
- •3.2.3.Записи.
- •3.2.4. Множества.
- •4. Файлы.
- •4.1. Текстовые файлы.
- •4.2. Типизированные файлы.
- •4.3. Нетипизированные файлы.
- •5. Работа с памятью.
- •6. Объектно-ориентированное программирование.
- •7. Лабораторные работы.
- •7.1. Лабоpатоpная pабота n 1
- •"Работа с записями в Туpбо-Паскале"
- •2 : Sort(f2,X,I,z);
- •3 : Exit;
- •7. 3. Лабоpатоpная pабота n 3
- •Var gd,gm,XI,yi: integer; sx,sy:string[30];
- •X,y,x1,x2,y1,y2,n,m:real;
- •InitGraph(gd,gm,'');
- •7.4. Лабораторная работа n 4.
- •7.5. Лабораторная работа n 5.
- •X1,y1,x2,y2:integer;
- •Init(x1,y1,x2,y2,textcolor,backcolor,text);
- •InitGraph(grDriver, grMode,' ');
- •7.6. Лабораторная работа n 6.
- •S : String; {надпись}
- •Литература
3.2.Структурные (структурированные) типы данных.
К структурированным типам данных относятся тип массива, тип записи, тип множества, тип файла.
3.2.1.Массивы.
Массивы представляют собой регулярную совокупность элементов одного и того же типа.
Пример: Описание массива вещественных чисел.
VAR T : ARRAY (1..10) OF REAL;
В качестве типа индекса может быть использован перечисляемый тип, либо отрезок, использование типов INTEGER и REAL недопустимо. Массивы в ПАСКАЛЕ считаются упорядоченными, кроме массивов, состоящих из символьных строк. Сравнение массивов производится следующим образом: если два массива X и Y имеют одинаковое описание, то X считается меньше Y, если существует такой индекс К, что X(K) < Y(K) и X(I) = Y(I) при I < K
Индекс в индексированной переменной должен иметь тот же тип, что и в ее описании. Тип составляющих элементов массива может быть любым, кроме файлов.
Пример: Описание массивов.
TYPE
MEST = (LEV, SREDN ,PRAV);
VAR
M1 : ARRAY (1..20) OF MEST;
M2 : ARRAY (MEST) OF REAL;
M3 : ARRAY (LEV..SREDN) OF INTEGER;
M4 : ARRAY (1..20) OF ARRAY (1900..2000)
OF ARRAY (NEST) OF REAL;
Массив М1 - одномерный, содержит 20 элементов перечисляемого типа.
Массив М2 - одномерный, содержит 3 элемента вещественного типа.
Массив М3 - одномерный содержит 2 элемента целого типа.
Массив М4 - трехмерный, содержит 20*101*3 элемента вещественного типа, приведенное выше его описание эквивалентно следующему:
M4 : ARRAY(1..20,1900..2000, MEST) OF REAL;
Суммарный размер любого массива не должен превышать сегмента памяти, то есть 65535 байт.
3.2.2.Строки.
Строка - это последовательность символов, заключенных в апострофы (до 255 символов). Строки объявляются оператором STRING[n], где n – длина строки. Строки, состоящие из одного символа, являются константами стандартного типа CHAR. Можно использовать также и ASCIIZ-строки при условии включения расширенного синтаксиса {$X+} и объявления типа pchar. Эти строки заканчиваются символом с кодом 0, а их длина может достигать размеров сегмента. Для использования символов, не имеющих графического представления, надо использовать их код с символом # впереди.
Пример: Var Str1: Pchar; {ASCIIZ-строка}
Const Heading: String[10] = ’Задача’;
3.2.3.Записи.
Запись - это структура состоящая из фиксированного числа компонент, называемых полями, возможно, различных типов. В свою очередь, сами компоненты могут быть данными структурного типа. Таким образом, возможна организация данных со сложной иерархией.
Пример: Описание данных типа запись.
TYPE ZAP = RECORD
A: REAL;
B: INTEGER;
C: CHAR;
END;
SLZAP = RECORD
M:INTEGER;
N:REAL;
R:ZAP;
END;
Для того, чтобы обратиться к компоненте записи используются сложно составные имена, например, обращение к переменной А с приведенным выше описанием:
ZAP.A := 5E-03;
При описании данных типа записи, содержащих переменные части,следует придерживаться следующих правил:
1.Все идентификаторы полей в записи должны быть различными(даже если они используются в разных вариантах);
2.В описании записи может быть одна изменяемая часть, причем она всегда идет после фиксированной части ;
3.В изменяемой части может, в свою очередь, быть изменяемая часть(изменяемые части могут быть вложенными).