Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Структура программы на языке Pascal



Читайте также:
  1. AvrStudio в режиме отладки программы
  2. CF Pascal
  3. II. ДОБРОВОЛЬНАЯ НАРОДНАЯ ДРУЖИНА И ЕЕ СТРУКТУРА
  4. II. НОРМАТИВНОЕ ПРАВОВОЕ ОБЕСПЕЧЕНИЕ деятельности учреждений образования, реализующих образовательные программы общего среднего образования
  5. II. Требования к результатам освоения основной образовательной программы начального общего образования
  6. II. ТРЕБОВАНИЯ К СТРУКТУРЕ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ ДОШКОЛЬНОГО ОБРАЗОВАНИЯ И ЕЕ ОБЪЕМУ
  7. II.Структура характера

Program {Имя программы}

{$директива} директива компилятору.

Uses {Список используемых модулей}

Const {Раздел констант}

Type {Раздел описания типов}

Var {Раздел описания переменных}

Procedure {Раздел описания процедур}

Function {Раздел описания функций}

Begin

{Тело программы. Перечень выполняемых

операторов.}

End.

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы Turbo Pascal, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми:

uses CRT, Graph;

Любой оператор в программе может быть помечен меткой. Имя метки задается по правилам образования идентификаторов Турбо Паскаль. В качестве метки также могут использоваться произвольные целые числа без знака, содержащие не более четырех цифр. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток, например:

label 3, 471, 29, Quit;

Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описания констант:

const K= 1024; MAX= 16384;

В разделе описания переменных необходимо указать все переменные, используемые в программе, и определить их тип:

var P,Q,R: Integer;

A,B: Char;

F1,F2: Boolean;

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

Раздел операторов представляет собой составной оператор, который содержит между служебными словами

begin.......end

последовательность операторов. Операторы отделяются друг от друга символом;.

Текст программы заканчивается символом точка.

Кроме описаний и операторов Паскаль - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }.

Пример 1

program Primer; {вычисление суммы двух чисел}

var

x,y,s: integer;

begin

WriteLn('Введите через пробел два числа ');

ReadLn(x,y);

s:= x + y;

WriteLn('Сумма чисел равна ',s);

end.

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

Пример 2

program Primer; {вычисление суммы двух чисел}

uses Crt; {подключение модуля, необходимого для процедур

очистки экрана и задержки}

var

x,y,s: integer;

begin

ClrScr; {очистка экрана}

WriteLn('Введите через пробел два числа ');

ReadLn(x,y);

s:= x + y;

WriteLn('Сумма чисел равна ',s);

ReadKey; {ожидание нажатия клавиши}

end.

Подробности..

Текст Паскаль - программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например:

{$E+} -эмулировать математический сопроцессор;
{$F+} - формировать дальний тип вызова процедур и функций;
{$N+} - использовать математический сопроцессор;
{$R+} - проверять выход за границы диапазонов.

Некоторые ключи компиляции могут содержать параметр, например:

{$I имя файла } - включить в текст компилируемой программы названный файл.

Структуризованная программа (или подпрограмма) это программа, составленная из фиксированного множества базовых конструкций. Рассмотрим основные определения и способы образования этих конструкций в схемах алгоритмов.

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

Конструкция, представляющая собой последовательное выполнение двух или более операций, называется следованием.

Конструкция, состоящая из развилки, двух операций и слияния, называется ветвлением. Одна из операций может отсутствовать.

Конструкция, имеющая линии управления, ведущие к предыдущим операциям или развилкам, называется циклом.

Конструкции следование, ветвление и цикл можно представить как операции, так как они имеют единственный вход и единственный выход. Произвольную последовательность операций можно представить как одну операцию.

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

Структурные операторы строятся из других операторов, порядок выполнения которых должен быть последовательным (составные операторы и операторы над записями), определяемым условной передачей управления (условные операторы) или повторяющимся (операторы цикла).

Составные операторы задают порядок выполнения операторов, являющихся их элементами. Они должны выполняться в том порядке, в котором они записаны. Составные операторы обрабатываются, как один оператор, что имеет решающее значение там, где синтаксис Паскаля допускает использование только одного оператора. Операторы заключаются в ограничители begin и end, и отделяются друг от друга точкой с запятой.

Оператор перехода goto вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе перехода. Условные операторы позволяют выбрать для выполнения один из составных операторов (или не выбрать ни одного).

Оператор варианта (casе) состоит из выражения (переключателя) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Переключатель (селектор) должен иметь порядковый тип (размером в байт или слово). Таким образом, строковый тип и длинный целый тип являются недопустимыми типами переключателя. Все константы выбора должны быть уникальными и иметь порядковый тип, совместимый с типом переключателя.

В операторе цикла с постусловием (начинающимся со слова repeat) выражение, которое управляет повторным выполнением последовательности операторов содержится внутри оператора repeat. Результат выражения должен быть булевского типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится по крайней мере один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов.

Оператор цикла с предусловием (начинающийся с ключевого слова while) содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором).

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

Операторы цикла с параметром (которые начинаются со слова for) вызывает повторяющееся выполнение оператора (который может быть составным оператором) пока управляющей переменной присваивается возрастающая последовательность значений. В качестве управляющей переменной должен использоваться идентификатор переменой (без какого-либо квалификатора), который обозначает переменную, объявленную локальной в блоке, в котором содержится оператор for. Управляющая переменная должна иметь перечислимый тип. Начальное и конечное значения должны иметь тип, совместимый по присваиванию с перечислимым типом.

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

Идентификатор может иметь любую длину, однако только первые его 63 символа являются значимыми. Идентификатор должен начинаться с буквы и не может содержать пробелов. После первого символа идентификатора можно использовать буквы, цифры и символы подчеркивания (значение ASCII $5F). Как и в зарезервированных словах, в идентификаторах можно использовать как строчные, так и прописные буквы (компилятор их не различает).

Идентификатор должен начинаться с буквы и не должен содержать пробелов. После первого символа допускаются буквы, цифры и символ подчеркивания (ASCII $5F). Как и зарезервированные слова, идентификаторы безразличны к регистру клавиатуры.

Когда имеется несколько мест с указанием одного и того же идентификатора, для задания нужного идентификатора необходимо уточнить этот идентификатор с помощью идентификатора модуля. Например, для уточнения идентификатора Ident с помощью идентификатора модуля UnitName следует записать UnitNamt.Ident. Такой комбинированный идентификатор называется уточненным идентификатором.

Программа на языке Pascal состоит из описаний, задающих структуру обрабатываемых данных, и операторов, задающих действия над этими данными. Язык Pascal имеет небольшой, но достаточный для программирования набор операторов, позволяющий очень мало использовать или вовсе не использовать при программировании метки, обилие которых очень затрудняет понимание программы.

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

Опер-р безуслов-го перехода (GOTO) представляет собой простой оператор,используя кот-й можно изменять порядок выполнения операт-в в программе.Общий вид опер-ра безуслов-го перехода: GOTO<метка>. GOTO-зарезервированное слово языка ТП 7.0, а <метка>-идентификатор или целое число (без знака) от 0 до 9999.Все использ-е в прогр-ме метки перечисл-ся в разделе LABEL.Но применение оператора безусл-го перехода в языке прогр-я ТП 7.0 явл нежелательным,т.к. присутствие этого оператора в прогр-ме нарушает ее структ-ную целостность и наглядность.Такую прогр-му трудно читать, отлаживать и модифицировать.

Часто опред-я часть прогр-мы может вып-ся только при соблюдении некот-х условий

В общем случае структура опер-ра IF…THEN выглядит так:

IF условие

THEN

BEGIN

Оператор 1;

Оператор 2;

.......

Оператор_последний;

END;

Конструкция IF..THEN..ELSE: общую форму оператора IF..THEN,содержащего ELSE-ветвь, м. з. так:

IF условие

THEN

BEGIN

Оператор_ ветви_Если_То_1;

Оператор_ветви_Если_То_2;

........................

Оператор_ветви_Если_То_последний;

END

ELSE

BEGIN

Оператор_ветви_Если_Иначе_1;

Оператор_ветви_Если_Иначе_2;

…….. ……..

Оператор_ветви_Если_Иначе_последний;

END;

Пр-р: каким классом траспорт-х ср-в Вы имеете право управлять?(Кодировка ответов: водительские права: 1-есть, 0-нет; класс С: 1-да; 0-нет)

PROGRAM IF THEN ELSE;

VAR

Priviledge, Class_C, Bicycle: BYTE;

BEGIN

WRITE(‘Есть ли у вас водит права(0-нет/ 1-есть)?’);

Readln(Priviledge);

IF Priviledge = 1

THEN Begin

Write (‘Класс С(0-нет/1-да)?‘);

Readln(Class_C);

END

ELSE

BEGIN

WRITE(‘Есть ли у вас велосипед (0-нет/ 1-есть)?’);

Readln(Bicycle);

END

END.

Конструкция операторов CASE..OF: в Паскаль-прогр-мах исп-ся часто.Она явл идеальным ср-вом для обработки ситуаций с несколькими исходами, когда условие может принимать более 2 знач-й. После констр-ции CASE..OF должен стоять символ «;». Общ. вид:

CASE поряд_переменая OF

Значение1:

Begin

Оператор1-1;

……………

Оператор1-n;

End;

……………

Значение n:

Begin

Оператор N-1;

……………

End;

Else

Begin

Оператор E-1;

……………

Оператор E-n;

End;

END;

Значение Порядковая_переменная определ. ветвь в операторе CASE..OF подлежащую выполнению. Эта переменная должна иметь тип. Она м. Î-ть " из целочисленных типов, каждый из которых позволяет организовать перечисление (упорядочение) некоторых объектов. Число объектов м.б. довольно большим. Упорядочение легко реализуется в среде значений целочисленных переменных, т.к. число этих значений конечно, например, после 3 идет 4. В то же время для действит чис проблема нахожден след числа неразрешима. Действительные типы переменных не относятся к классу порядковых, т.к. за 3,0 м. взять и 3,1 и 3,01 и т.д. до бесконечности. Наряду с возможностью отмечать каждую отдельно ветвь определенным значением «порядковой переменной» в CASE..OF конструкции имеется возможность объединять ветви. При объединении ветвь помечается списком значений. Значения в списке могут перечисляться через запятую, либо, если они идут подряд, м. указать два крайних значения, разделив ее двумя точками.

PROGRAM CASE..OF;

VAR

Priviledge, Class_C, Bicycle: BYTE;

BEGIN

WRITE(‘Есть ли у вас водит права(0-нет/ 1-есть)?’);

Readln(Priviledge);

CASE Priviledge OF

0: BEGIN

WRITE(‘Есть ли у вас велосипед (0-нет/ 1-есть)?’);

Readln(Bicycle);

END;

1: Begin

Write (‘Класс С(0-нет/1-да)?‘);

Readln(Class_C);

END;

END.

 


 

 

3. Типы данных в системе программирования Turbo Pascal: простые типы, понятие о составных типах данных.…

Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.

Тип определяет:

1. возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

2. внутреннюю форму представления данных в ЭВМ;

3. операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

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

Иерархия типов:

Простые

1. Порядковые (Целые, Логические, Символьные, Перечисляемые, Интервальные).

2. Вещественные

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

Массивы, Строки, Множества, Записи, Файлы, Указатели.


Дата добавления: 2015-07-11; просмотров: 242 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.029 сек.)