metod_15.03.04_atppp_oaip_ump_2016 (1016599), страница 25
Текст из файла (страница 25)
Метка ставится передоператором и отделяется от него двоеточием.Метка в Паскале – это идентификатор или целое без знака. Каждая метка,используемая в программе, должна быть описана в разделе описание меток. Метка,описанная в разделе меток, обязательно должна быть перед каким-то оператором в телепрограммы. Метки локальны для той автономной части программы, где они описаны.Если описание метки было в программе, то область действия метки вся программа.Если описание метки производилось в разделе описания процедуры или функции, тоданная метка будет действовать только в пределах указанного блока (процедуры илифункции). Перед одним оператором может стоять несколько меток разделенныхдвоеточием. Описание меток:LABEL список меток;Пример.
LABEL MN, V1, V2, N2, 23;…..MN: V1: A:= B+C;3. Константы.В выражениях на языке Паскаль можно использовать как именованные, так и неименованные константы (например, 6.45 или 645E-2). Именованные константыпредварительно должны быть объявлены в разделе описаний, где определяется имя изначение константы: const имя = значение;В языке Паскаль разрешается использовать при определении констант выражение,операндами которого могут быть ранее определенные константы и встроенныефункции.В качестве констант на языке Паскаль можно использовать целые, вещественные ишестнадцатеричные числа, логические константы, символы, строки и конструкторымножеств.
Например:CONSTK = 25; I = 126{целые}108{вещественные}{вещественные}{логическая}{символьные}{строковые}{множества}R = 1.234; A = -1.234E-5E = 1/R; EPS = 1E-6B = TRUE;F = ‘Z’; F1 = ‘’;C = ‘МАША’;MN = [ KR, ZEL];4. Переменные.Переменная – это программный объект, способный принимать некоторое значение.Переменная имеет собственное имя, фиксированный тип и переменное значение. Тип –одно из фундаментальных понятий языка программирования.
Он задает множествозначений, которые может принимать переменная данного типа, форму представления еезначений в памяти компьютера и операции над переменной. Тип связывается с именемпосредством объявления. В соответствии с типом компилятор резервирует некоторуюобласть памяти, где будут храниться текущие значения переменной. В программе наалгоритмическом языке Паскаль можно использовать только переменные,определенные в разделе VAR. Каждая переменная после ее описания отождествляется снекоторой ячейкой (областью) памяти, содержимое которой является ее значением.Поэтому все переменные программы или подпрограммы объявляются всоответствующих разделах определения переменных программы или подпрограммы.Форма определения переменных: VAR список объявлений переменных.Определение переменных одного элемента списка объявлений:список идентификаторов переменных : тип;VARA, B, I, J : INTEGER;{целого типа}X, Y, Z : REAL;{вещественного типа}5.
Определение типа данных.В ряде случаев более удобным или вообще единственно возможным являетсяобъявление типа переменной в блоке описаний программы. Раздел определения типовраздела описания программы должен начинаться со служебного слова TYPE, послекоторого вводится имя типа переменной и ее тип. В языке определяются по умолчаниюстандартные типы данных (REAL, INTEGER, BOOLEAN, CHAR и STRING).Определение типа используется для описания простых и сложных(структурированных) типов данных.Форма определения типа:TYPE F = тип.Пример.{начало раздела определения типов}TYPEG = REALVECTOR = ARRAY [1..20] OF REAL{определение типа переменнойвектор}MATR = ARRAY [1..20, 1..30] OF INTEGER;109STROKA = STRING [10];{начало раздела определения переменных}VARG1, G2 : GA, B : VECTOR;C, D : MATR; E,F : STROKA;Приведенные переменные можно определить не в разделе объявления типов данных,а в разделе объявления переменных:VARA, B : ARRAY[1..20] OF REAL;MATR : ARRAY [1..20,1..30];8.2.
ТИПЫ ДАННЫХДанные – это формализованное представление информации. Они обрабатываютсяпрограммами. Конкретным выражением данных в компьютере являются константы ипеременные. Данные, с обрабатываемой информацией пользователя, могут быть разныхтипов: простые и сложные.ДанныеПростыеСложныеУправляющиеТип данного определяет:1) вид информации;2) допустимый набор преобразований;3) множество допустимых значений.ПРОСТЫЕ(СКАЛЯРЫ)ВещественныеПорядковые(ординальные)СтандартныеОпределенныепользователемСимвольныеЦелыеПеречисляемыеСтроковыеЛогическиеДиапазонные110Поэтому тип данного считается заданным, если известна: форма его объявления;допустимый диапазон значений; возможные операции по его обработке.Порядковыми называют данные, которые имеют конечное число возможныхзначений, которые можно определенным образом упорядочить и, следовательно, скаждым из них можно сопоставить некоторое целое число – присвоить порядковыйномер.
К любому из порядковых типов применима функция ORD(X), котораявозвращает порядковый номер значения X.К порядковым типам можно применять также функции:1. Pred (X) – возвращает предыдущее значение порядкового типа (значение, котороесоответствует порядковому номеру ORD(X) – 1);2. Succ (X) – возвращает следующее значение порядкового типа, котороесоответствует порядковому номеру ORD(X) + 1.Количество возможных значений вещественных типов столь велико, что сопоставитьс каждым из них целое число не представляется возможным.При рассмотрении данных на первом этапе будем определять по каждому типуформу объявления переменных и диапазон их значений, а обработку данных(допустимые операции) рассмотрим на втором этапе.Простые типы данныхВещественный тип данныхВ Паскале имеется 4 вещественных типа.
Каждый вещественный типхарактеризуется точностью представления данных (количеством разрядов мантиссы) идиапазоном ее возможных значений (минимальной и максимальной величинойпорядка). При выборе типа вещественной переменной следует помнить об экономииоперативной памяти и, следовательно, выбирать минимальные значения разрядностимантиссы и диапазона порядка, которые удовлетворят требования задачи.№п/п12345Длина вбайтах468108Имя типа*SingleReal*Double*ExtendedCompРазрядностьдесятичноймантиссы7 ..
811 .. 1215 .. 1619 .. 2019 .. 20Диапазон десятичногопорядка- 45 .. + 38- 39 .. + 38- 324 .. + 308- 4932 .. + 4932-2*10^63+1..2*10^63 - 1Вещественное число в Турбо Паскале занимает от 4 до 10 смежных байт и имеетследующую структуру в памяти ПК:S – знаковый разрядe – экспоненциальная часть111m – мантисса числаМантисса вещественных чисел хранится в двоичной системе счисления внормализованной форме и имеет длину от 23 (для Single) до 63 (для Extended) двоичныхразрядов, что обеспечивает точность 7..8 для Single и 19..20 для Extended десятичныхцифр. Точка мантиссы – перед левым (старшим) разрядом, т.е.
мантисса дробная. Нопри действиях с числом положение точки меняется в соответствии с двоичнымпорядком экспоненциальной части. Поэтому действия над вещественными числаминосят название арифметики с плавающей точкой.Доступ к типам Single, Double и Extended возможен только при наличииматематического сопроцессора после определенной настройки компилятора (директива{$N+} перед словом PROGRAM). При этом следует помнить, что арифметическийсопроцессор всегда обрабатывает числа в формате Extended, а три другихвещественных типа в этом случае получаются усечением результатов до нужныхразмеров и применяются в основном для экономии памяти.Следует помнить, что тип Real оптимизирован для работы без сопроцессора.
ЕслиПК оснащен сопроцессором использование типа Real приведет к дополнительнымзатратам времени на преобразование Real к Extended. Поэтому нельзя использовать типReal на ПК с сопроцессором. Если в ПК нет арифметического сопроцессора, тоскорость обработки всех вещественных типов приблизительно одинакова.Особое положение в Турбо Паскале занимает тип Comp – вещественное число безэкспоненциальной и дробной частей.
Фактически, Comp – это очень большое целоечисло со знаком, сохраняющее 19..20 значащих десятичных цифр. В то же время ввыражениях данный тип полностью совместим с любыми другими вещественнымитипами. Наиболее подходящей областью применения типа Comp являютсябухгалтерские расчеты: денежные суммы выражаются в копейках или центах идействия над ними сводятся к операциям с достаточно длинными целыми числами.Пример объявления вещественных типов данных:VARA : SINGLE;B, C : REAL;D : DOUBLE;E : EXTENDED;Порядковые типы данных1. Целый тип данных.В компьютере может быть представлено только конечное подмножество целыхчисел. Для каждого конкретного процессора имеется целое число maxint, для котороговыполняется соотношение: - maxint ≤ N ≤ maxint, где N – целое число.
Попыткавычислить выражение, значение которого выходит за рамки этого диапазона, приведетк возникновению ошибки при выполнении.№Длина вИмя типаТип данныхДиапазон значений типап/пбайтах11ShortintКороткое целое- 128 .. +12721ByteДлиной в байт0 .. 25532WordДлиной в слово0 .. 6553511242IntegerЦелое- 32768 .. 3276754LongintДлинное целое-2147483648 .. 2147483647Выбор одного из типов целых чисел определяется используемым диапазономзначений переменных.Пример объявления переменных целого типа:VARI, J : SHORTINT;K, L : BYTE;M, N : WORD;P : INTEGER;Q : LONGINT;Для целых типов функция ORD(X) возвращает само значение X, т.е. ORD(X) = X длязначения X, принадлежащего любому целому типу.2.
Логический тип данных.Логический тип данных имеет описатель Boolean, который определяет два значения:TRUE (истинно) и FALSE (ложно). Они упорядочены – у true – порядковый номер 1, а уfalse – порядковый номер 0.Пример объявления логических переменных:VARA, B, C : BOOLEAN;Имеется три булевские операции: AND (), OR (), NOT ( - отрицание).3. Символьный тип данных.Символьный тип объявляется описателем CHAR (сокращение от английского словаcharacter – символ). Значением символьного типа может быть только один любойсимвол алфавита языка.
Все символы алфавита упорядочены в компьютере всоответствии с их внутренним кодом: 0..255. В программах константы символьноготипа, определенные своим значением, заключаются в апострофы (кавычки):‘A’ представляет букву А;‘a’ представляет букву а; ‘‘ – пробел; ‘’’’представляет апостроф.Для работы с символьными переменными используются две функции:1.
CHR(X) – осуществляет присвоение порядкового символьного значения всоответствии с номером (целым числом) X.2. ORD(X) – осуществляет присвоение значения кода, соответствующегопорядковому номеру символа X.4. Строковый тип данных.Строковый тип данных используется для обработки текстов. Определяетсястроковый тип в виде STRING [n], где 1 n 255. По умолчанию n = 255. Строка – этопоследовательность символов. Ее можно рассматривать как скалярное значение(простой тип) или как совокупность из n символов массива (сложный тип): строкаимеет свойства и простых и сложных типов. Например, при вводе и выводе строк113можно использовать имя строки (свойство простой переменной).
С другой стороны, клюбому символу в строке можно обратиться так же, как к элементу массива (сложныйтип данных) из n символов.Например:VARST : STRING ;{объявлена строка на 255 символов}…………………….IF ST [5] = ‘A’ THEN …..Элементы строки имеют номера от 0 до n. В ОП компьютера на строку отводиться (n+ 1) байт памяти: 0 байт хранит текущую длину строки и n байт заняты кодамисимволов.5. Типы данных определяемые пользователемКроме предопределенных (встроенных) типов данных язык Паскаль позволяетпрограммисту при необходимости вводить новые типы объектов. Определение новых(пользовательских) типов базируется на встроенных типах, используя их в качествестроительных блоков новой конструкции, и производится в объединенном подразделераздела описания.Перечисляемый тип данных.Перечисляемый тип данных используется в основном в качестве индексов массивови в операторах организации процесса обработки данных.














