Здесь приводится общая структура Pascal-программы и перечисляются основные типы переменных.
Программа на языке программирования Паскаль состоит из трех
основных частей (рис.1):
заголовка - содержит имя (название) программы;
декларации (описания) - раздела, содержащего описание всех элементов программы;
операторной части - набора команд (операторов), выполняемых компьютером.
Рис.1. Общая структура Pascal-программы
Заголовок чаще всего состоит из служебного слова Program и имени программы. Операторная часть содержит последовательность предписаний, которые должен выполнить компьютер. Остановимся более подробно на декларации.
Все элементы Pascal-программы перед использованием должны быть
обязательно описаны! Это делается для того, чтобы
к "моменту первой встречи" компьютера с этим элементом в программе,
компьютер "знал", что это за элемент и какие действия можно над ним выполнять.
На рисунке 1 перечислены элементы, размещаемые в
декларации. Таблица 1 содержит более подробную информацию по этим
элементам.
Позволяет "пометить" необходимую строку программы. | |
Задает перечень элементов и их значения, которые не будут изменяться в процессе выполнения программы. | |
Определяет элементы, используемые для хранения и изменения необходимых программе значений. | |
Позволяет определять новый набор свойств, который затем будет использован для создания переменных, обладающих этими свойствами. | |
Определяет именованный набор действий, к которому можно обращаться по заданному имени. | |
Определяет именованный набор действий, в результате работы возвращающий значение. К этому набору действий можно обращаться по заданному имени. |
Более подробно мы остановимся на содержании секции Var, где располагаются
описания переменных. Описание переменной имеет вид:
Байтовые. Принимают значения из промежутка от 0 до 255. В памяти для переменной этого типа выделяется 1 байт. | |
Переменные типа "слово". Принимают значения из промежутка от 0 до 65535. В памяти для переменной этого типа выделяется 2 байта. | |
Целые. Принимают значения из промежутка от -32768 до 32767. В памяти для переменной этого типа выделяется 2 байта. | |
Вещественные (дробные). Принимают значения из промежутка (по модулю) от 2.9*10E-39 до 1.7*1038. В памяти для переменной этого типа выделяется 6 байт, количество цифр после запятой может достигать 11-12 цифр. | |
Логические. Принимают только два значения: True (истина) и False(ложь). | |
Литерные. В качестве своего значения могут иметь один символ. В памяти для переменной этого типа выделяется 1 байт. |
Строки. Состоят из значений литерного типа (набор символов). | |
Массивы. Представляют собой совокупность элементов одного (любого) типа. | |
Записи. В отличие от предыдущего типа могут состоять из элементов различных типов. | |
Множества. Представляют собой совокупность элементов одного типа (целого положительного или литерного). | |
Файловые. Позволяют организовать доступ к файлам из программы. |
Приведем пример заголовка и декларации:
Program Primer; {Заголовок программы.} Label {Описание меток.} 1,abc,5; Const {Описание констант.} pi=3.14;s1='хорошо'; Type {Описание типов.} t1,t2=Integer; t3=t1; Var {Описание переменных.} A,B: Integer;{A, B - переменные целого типа.} C:t1; {C - переменная целого типа.} D:Byte; {D - переменная байтового типа.} E:Real; {E - вещественного типа.} F:Boolean; {F - логического типа.} G:Char; {G - символьного типа.} X:String[10]; {X - строка, состоящая из 10 символов.} {Y - массив, состоящий из 5 элементов вещественного типа.} Y:Array[1..5] Of Real; {Z - двумерный массив, состоящий из трех (от 1 до 3) строк и четырех столбцов (от 2 до 5). Каждый элемент - строка, состоящая из 5 символов.} Z:Array[1..3,2..5] Of String[5];
Кроме указанных выше типов используются еще ограниченные и перечислимые типы.
Самым простым способом образования новых типов из уже
существующих является ограничение (сужение) допустимого диапазона значений
некоторого стандартного скалярного типа. Это ограничение определяется заданием
минимального и максимального значений диапазона, например: 1..10, 'a'..'z'.
Замечание: допускается создание ограниченных типов
из дискретных типов, то есть из всех скалярных типов, кроме вещественных.
Новый тип можно определить путем явного перечисления всех возможных его значений, причем каждое такое значение будет определяться только именем.
Пример: пусть необходимо разработать программу управления светофором.
Цвета светофора можно определить с помощью перечислимого типа:
Type
Color = (Red, Yellow, Green);. .
С учетом вышесказанного приведем пример описания переменных, констант и типов:
. . . Const One = 1; ABC = 1000; CBA = - ABC; KK='***'; Type {Задание перечислимого типа.} Days = (Monday,Tuesday,Wednesday,Thursday,Friday,Saturday, Sunday); WorkingDays = Monday..Friday; {Задание ограниченного типа.} Diapason = 1..20; {Задание ограниченного типа.} Letters = 'a'..'z'; {Задание ограниченного типа.} Hjsitive_Integer=word; Var a: integer; {Использование диапазона при определении переменных.} Index1, Index2: 0..5; S: Char; Sinus: Real; {Использование перечисления значений при определении переменной.} Semaphore: (Opened, Closed);
Мы закончили изложение материала по типам данных. На следующем шаге будет приведена первая Pascal-программа.