Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Структура программы на языке Паскаль



Структура программы на языке Турбо Паскаль может быть представлена тремя составными элементами:

- заголовок программы, который является необязательным для Турбо Паскаля

[Program_< Имя программы> ];

- раздел описания (объявления), в который включены подразделы

a) описания используемых модулей

[Uses_< Имя модуля1>, < Имя модуля2>, …; ];

b) описания меток

[Label_< Имя метки1>, …, < Имя меткиL>; ];

c) описания констант

[Const_< Имя конст1> =< Знач. Конст1>;

< Имя конст2> =< Знач. Конст2>; …; ];

d) описания типов

[Type_< Имя типа1> =< Описание типа 1>;

< Имя типа2> =< Описание типа 2>; …; ];

e) описания переменных

[Var_< Имя перем1>, < Имя перем2>, …: < Тип 1>;

< Имя перемN>, < Имя перемM>, …: < Тип 2>; …; ];

f) описания процедур и функций, создаваемых пользователем

[Procedure_< Имя процедуры1> (< Список формальных параметров> );

< Раздел описания процедуры1>;

< Тело процедуры1> ];

…;

[Function_< Имя функции1> (< Список формальных параметров> ): < тип результата>;

< Раздел описания функции1>;

< Тело функции1> ];

…;

- тело программы

Begin

< выражение1>;

< выражение2>; …

< выражениеV>;

End.

Пример программы:

{1.} Program Primer1;

{2 . 2.a. } Uses Operate;

{2.b.} Label Lab1, Lab2;

{2.c.} Const Pi=3.14159265;

E=2.7314;

{2.d.} Type Complex = record

Re, Im: Real;

End; {record}

{2.e.} Var A, B, Rezult: Real;

C: Byte;

M, N, P: Complex;

{2.f.} Function HalfSum (A, B: Real): Real;

Begin

HalfSum: =(A+B)/2;

End;

{3}Begin

Write ('Введите два числа: '); ReadLn (A, B);

WriteLn ('Введите тип операции над числами');

WriteLn ('1- полусумма; 2 – полупроизведение; 3 – извлечение квадр. корня');

ReadLn (C);

Case C of

1: Rezult: =HalfSum(A, B);

2: Rezult: =HalfMult(A, B); {находится в модуле Operate}

3: Rezult: =Sqrt(B);

End; {Case}

Writeln (Rezult);

End.

Классификация типов данных языка Паскаль

Чтобы определить, с какими данными может оперировать Турбо Паскаль, рассмотрим его стандартные (предопределенные) типы данных, т.е. типы данных, созданные разработчиками языка. Они доступны пользователям для использования без предварительного объявления (описания).

В языке Турбо Паскаль, кроме предопределенных стандартных (предопределенных) типов можно использовать типы, определяемые самим пользователем. Иными словами пользователь может сам создавать типы, которые отсутствуют в языке.

Стандартные (предопределенные) типы

Все типы данных, которыми располагает Турбо Паскаль, можно разделить на следующие группы:

- простые типы:

целые;

вещественные;

логический;

символьный;

перечисляемый;

тип-диапазон;

- структурированные:

массив;

строка;

запись;

множество;

файл;

- указатели;

- процедурные типы;

- объекты.

Рассмотрим более подробно каждую из групп.

Простые типы

Целые типы

Целые типы используются для работы с целочисленными данными.

Турбо Паскаль располагает пятью целочисленными типами (табл. 16.1).

Таблица 16.1

Тип Диапазон Размер в байтах
ShortInt -128.. 127
Integer -32768.. 32767
LongInt -2147483648.. 2147483647
Byte 0.. 255
Word 0.. 65535

Примечание: Выбирая некоторый из целочисленных типов необходимо помнить, что не только пределы изменения, но и размер, занимаемый в оперативной памяти, каждого из целочисленных типов различны.

 

Вещественные типы

Для представления нецелочисленных данных в Турбо Паскаль имеется пять вещественных типов (табл. 16.2).

Таблица 16.2

Тип Диапазон Число значащих цифр Размер в байтах
Real 2, 9*10-39.. 1, 7*1038 11-12
Single 1, 5*10-45.. 3, 4*1038 7-8
Double 5, 5*10-324.. 1, 7*10308 15-16
Extended 3, 4*10-4932.. 1, 1*104932 19-20
Comp -263+1.. 263-1 19-20

 

Тип Comp фактически является типом целых чисел увеличенного диапазона, однако порядковым не считается.

Все типы, кроме Real, можно использовать в программах только при наличии арифметического сопроцессора или при включении эмулятора сопроцессора.

Логический тип

Стандартный логический тип Boolean (размер – 1 байт) представляет собой тип данных, любой элемент которого может принимать лишь два значения: True и False.

Символьный тип

Символьный тип Char является стандартным. Он определяет полный набор ASCII-символов и используется для представления отдельных символов.

Перечисляемый тип

Перечислимый тип не является стандартным и определяется набором идентификаторов, с которыми могут совпадать значения параметра. Список идентификаторов указывается в круглых скобках, идентификаторы разделены запятыми.

Тип-диапазон

В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значением, в которое входят все значения исходного типа, находящиеся в этих границах, включая и сами границы. Такое подмножество определяет тип-диапазон.

Тип-диапазон задается указанием минимального и максимального значений, разделенных двумя точками:

Type

< имя типа> = < мин.значение> ..< макс.значение>;

Структурированные типы

Массив

Массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и то же тип;

Порядок использования массивов:

- Объявление (описание) типа массив:

Type TMatr = Array [1..7, 1..7] of Real;

Tvect = Array [1..7] of Real;

- Объявление (описание) переменных типа массив:

Var MatrKoefFirst, MatrKoefLast: Tmatr;

VectSwob: Tvect;

i, j: Byte;

- Обращение к элементам массива в теле программы:

For i: =1 to 7 do

Begin Write('Введите ', i, '-й свободный член');

Readln (VectSvob [i]);

For j: =1 to 7 do

Begin Write('Введите значение коэффициента с номером ', i, ' ', j);

Readln (MatrKoef [i, j]);

End; End;

- Действия над массивами в целом:

Операции над массивами допускаются только для массивов одинаковой структуры, т.е.:

- Var А, B: Array [1..25] of Integer;

Допустимые операции:

- A = B; A < > B; A: = B.

Строка

Строка – это последовательность символов кодовой таблицы ПЭВМ. Строку можно рассматривать как массив символов. Длина строки по умолчанию не должна превышать 255 символов (если при объявлении не указана другая предельная длина).

Порядок использования строк.

- Определение строковой переменной с диной строки не более 15 символов:

а) с предварительным описанием типа:

Type Str1 = String [15];

Var MyStr: Str1;

б) без предварительного описания типа:

Var MyStr: String [15];.

Объем памяти, занимаемый строковой переменной в байтах равен объявленному размеру строки +1. Для строки, описанной в нашем примере, длина строки в байтах равна 15+1=16. Это объясняется тем, что в нулевом байте строки хранится информация о ее фактической длине.

- Строковые выражения:

- строковые выражения состоят из:

- строковых констант;

- строковых переменных;

- процедур и функций работы со строками;

- знаков операций (сцепления {+}и отношения {=, < >, >, <, > =, < =}).

- Примеры:

- 'I'+'B'+'M '+'PC' IBM PC;

- 'DOS 6.22'< 'Dos 6.22' True;

- Str1: ='Students'$

- A: String[6]; A: ='Группа 31'; 'Группа'

- Процедуры (основные):

- Str (Chi, St) – преобразование число Chi в строку St

- пример: Chi: =3.5Е+2; Str (Shi: 6, St); ___350;

- Val (St, Chi, Cod) – преобразует строку в число. Если нормально Cod=0, если встретился неверный символ, то Cod=порядковому номеру этого символа, а Chi – не определен;

- Delete (St, Pos, N) – удаление N символов строки St, начиная с позиции Pos;

- Insert (Str1, Str2, Poz) – вставка строки Str1 в строку Str2, начиная с позиции Poz.

- Функции (основные):

- Copy (St, Poz, N) – выделяет из St подстроку длиной N символов, начиная с позиции Poz;

- ConCat (Str1, str2, .., StrN) – выполняет сцепление строк;

- Length (St) – вычисляет текущую длину строки St;

- Pos (Str1< Str2) – обнаруживает первое появление строки Str2 в строке Str1;

- UpCase (Ch) – преобразует строчную букву в прописную.

Запись

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или: нескольких типов.

Порядок использования записей:

- Объявление (описание) типа запись:

Описание типа запись начинается со слова Record и заканчивается End;

Между ними приводятся поля записи с указанием типа;

Формат записи: Type < имя типа> = Record

< поле1> : < тип1>;

….

< полеN> : < типN>

End;

Пример использования типа запись смотри в примере программы предыдущей лекции.

Повторение имен полей в пределах записи не допускается;

- Объявление (описание) переменной типа запись:

Var < Имя переменной> : < имя типа>;

- Обращение к полям записи:

Вариант 1: < Имя переменной>.< поле1> : = < значение>;

Вариант 2: With < имя переменной> do < выражение, включающее поле1>. Оператор With допускает вложенность до 9.

Пример : Type Complex = Record

Re, Im: Real;

End;

Var Comp1, Comp2, Comp3: Complex;

Begin

Comp1.Re: = 1;

Comp1.Im: = 2;

Comp2.Re: = 2;

Comp2.Im: = 3;

Comp3.Re: = Comp1.Re + Comp2.Re;

Comp3.Im: = Comp1.Im + Comp2.Im;

End.

Множество

Множество – это структурированный тип данных, представляющий набор взаимосвязанных объектов, которые можно рассматривать как единое целое;


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 736; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.037 с.)
Главная | Случайная страница | Обратная связь