Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.
Например, сложение текстовых данных, или как это правильно называется в программировании — конкатенация — это обычное слияние строк, тогда как сложение числовых данных происходит поразрядно, кроме того, дробные и целые числа складываются тоже по-разному. То же самое касается и других операций.
13.1 Структура программы на Паскале.
По определению стандартного Паскаля программа состоит из заголовка программы и тела программы (блока), за которым следует точка — признак конца программы. В свою очередь, блок содержит разделы описаний и раздел операторов. В заголовке программы, начинающемся со служебного слова PROGRAM, дается некоторое имя программы, за которым в круглых скобках следует список параметров, используемый для взаимодействия программ с операционной системой. Список параметров (вместе со скобками) необязателен.
Program < имя программы >;
Uses <список подключаемых модулей>
Label < раздел меток >;
Const < раздел констант >;
Type < раздел типов >;
Var < раздел переменных >;
Procedure (Fvunction) < раздел подпрограмм >;
Begin
< раздел операторов >
End.
Раздел операторов имеется в любой программе, является основным и ограничен ключевыми словами Begin и End.. Предшествующие разделы носят характер описаний и не все обязательно присутствуют в каждой программе.
Раздел USES содержит спецификацию использования внешних модулей. Внешний модуль — это автономная программная структура, объекты которой могут быть использованы в данной программе. Часть таких модулей, являющихся стандартными, входит в состав среды программирования.
LABEL — раздел меток. Метка — это идентификатор, используемый для обозначения операторов программы, к которым может быть выполнен безусловный переход. Одна метка используется для обозначения одного оператора.
Раздел CONST используется для задания значений данных, неизменяемых в программе, например, (n=10). Константы нужно использовать в тех случаях, когда в программе должно быть использовано несколько значений одной и той же величины.
Раздел TYPE необходим для определения типов переменных, непредусмотренных базовой версией языка программирования.
VAR — раздел объявления переменных, используемых в программе.
Раздел «Определение процедур и функций» не имеет единого ключевого слова и состоит из определения текста подпрограмм типа процедур или функций.
Любой раздел, кроме выполняемых операторов, не является обязательным и может быть исключен.
13.2 Типы переменных.
Концепция типов данных является одной из центральных в любом языке программирования. С типом величины связаны три ее свойства:
- форма внутреннего представления,
- множество принимаемых значений,
- множество допустимых операций.
Любая программа, написанная на любом языке программирования, по большому счету предназначена для обработки данных. В качестве данных могут выступать числа, тексты, графика, звук и др. Одни данные являются исходными, другие – результатом, который получается путем обработки исходных данных программой.
Паскаль характеризуется большим разнообразием типов данных, отраженном на рисунке 17.
В стандартном Паскале отсутствует строковый тип. Кроме того, в Паскале целые и вещественные — это группы типов. В старших версиях Паскаля существует процедурный тип и тип объектов.
Каждый тип имеет свой идентификатор.

Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных и констант, связанных с участками памяти, где хранятся данные.
Переменные описываются до основного кода программы. Здесь указываются имена переменных и тип хранимых в них данных.
В языке программирования Паскаль достаточно много типов данных. Кроме того, сам пользователь может определять свои типы.
Тип переменной определяет, какие данные можно хранить в связанной с ней ячейке памяти.
Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы (byte, longint).
Переменные типа real хранят вещественные (дробные) числа.
Переменная булевского (логического) типа (boolean) может принимать только два значения — true (1, правда) или false (0, ложь).
Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.
Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.
Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.
Все вышеописанное – это простые типы данных. Но бывают и сложные, структурированные, которые базируются на простых типах.
Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.
Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение является характерной чертой Pascal.
Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях записи данные могут иметь разный тип.
Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.
Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (например, жестком диске).
Понятие такого типа данных как указатель связано с динамическим хранением данных в памяти компьютера. Часто использование динамических типов данных является более эффективным в программировании, чем статических.
Рассмотрим наиболее распространенные в Pascal типы данных.
Целочисленные типы данных в Паскаль
| Тип | Диапазон | Требуемая память (байт) |
| byte | 0..255 | 1 |
| shortint | -128..127 | 1 |
| integer | -32768.. 32767 | 2 |
| word | 0..65535 | 2 |
| longint | -2147483648..2147483647 | 4 |
Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
program a1;
var x,y:integer; {целочисленный тип}
myname:string; {строковый тип}
begin
x:=1; y:=x+16;
myname:=’Петр’;
writeln (‘имя: ‘,myname, ‘, возраст: ‘, y)
end.
Вещественные типы данных в Паскаль
Вещественные числа в Паскале и вообще в программировании — это название дробных чисел.
| Тип | Диапазон | Требуемая память (байт) |
| real | 2.9 * 10-39 .. 1.7 * 1038 | 6 |
| single | 1.5 * 10-45 .. 3.4 * 1038 | 4 |
| double | 5 * 10-324 .. 1.7 * 10308 | 8 |
| extended | 1.9 * 10-4951 .. 1.1 * 104932 | 10 |
Тип real в Паскале — наиболее часто используемый из вещественных типов.
Логический тип
Переменная, имеющая логический тип данных может принимать всего два значения: true (истина) и false (ложь). Здесь истине соответствует значение 1, а ложь тождественная нулю. Объявить булеву переменную можно так: Var A: Boolean;
Символьный тип
Символьный тип данных – это совокупность символов, используемых в том или ином компьютере. Переменная данного типа принимает значение одного из этих символов, занимает в памяти компьютера 1 байт. Слово Char определяет величину данного типа. Существует несколько способов записать символьную переменную (или константу):
• как одиночный символ, заключенный в апострофы: ‘W’, ‘V’, ‘п’;
• указав код символа, значение которого должно находиться в диапазоне от 0 до 255.
• при помощи конструкции ^K, где K – код управляющего символа. Значение K должно быть на 64 больше кода соответствующего управляющего символа.
Строковый тип
Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:
Var <имя_переменной>: string[<длина строки>];
Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.
Перечисляемый тип данных
Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.
Пример:
Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var A: Day;
Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:
Var A: (Monday, Tuesday);
К данному типу применимы операции отношения, при этом заранее определенно, что Monday = <мин. значение>..<макс. значение>;
Пример:
TYPE Cards = 1..36;
13.3 Переменные и константы
Переменная — это программный объект, который способен принимать различные значения в соответствии с ее типом. Переменная задается с помощью идентификатора в разделе VAR; при этом указывается тип данных: значения, которые она может принимать (целые, вещественные, символьные или другие). Значения переменной могут изменяться с помощью операторов ввода Данных или операторов присваивания.
Например,
VAR
XI, Х2 : геа1; {переменные XI и Х2 могут принимать значения вещественных чисел}
MinX, МахХ,: integer; {переменные МахХ и МinХ могут принимать значения целых чисел}
Константами называются элементы данных, которые задаются в начале программы и не изменяются в процессе ее выполнения. Значения констант задаются в разделе, который начинается с ключевого слова CONST. Правило задания констант:
А = В,
где А — идентификатор константы,
В -значение константы.
Например,
Const
Е1 =2.718;
МinХ = -255;
Name = ‘Петров’;
Значения ряда констант определены в системе программирования, такие константы можно использовать в программе без дополнительного определения их значений: например, значение константы Рi равно 3.14159265; значение константы МахInt равно максимальному целому числу, которое можно использовать на данной ЭВМ в данной системе программирования.
Задание констант в разделе CONST целесообразно в тех случаях, когда их значения используются в нескольких местах программы; тогда для замены значения константы достаточно выполнить изменение только в разделе CONST, а в остальной части программы следует использовать имя константы.
Пример описания константы в Паскале:
program a2;
const x=17;
var myname:string;
begin
myname:=’Петр’;
writeln (‘имя: ‘,myname, ‘, возраст: ‘, х)
end.
В языке Паскаль можно задавать числовые, логические, символьные константы.
13.4 Комментарии в Паскале
Обратите внимание на то, как используются комментарии в Паскале. В примере комментарии, т.е. служебный текст, который «не видим» для компилятора, заключаются в фигурные скобки. Обычно комментарии делаются программистами с целью пояснения фрагментов кода.

Оставить комментарий