14. Э Л Е М Е Н Т Ы С Т Р У К Т У Р Н О Г О
П Р О Г Р А М М И Р О В А Н И Я
Структуризованная программа (или подпрограмма) - это программа,
составленная из фиксированного множества базовых конструкций. Расс-
мотрим основные определения и способы образования этих конструкций в
схемах алгоритмов.
{}
Из операций, развилок и слияний строятся базовые конструкции: сле-
дование, ветвление, цикл. Применяя только эти три конструкции, можно
реализовать алгоритм решения любой задачи.
Конструкция, представляющая собой последовательное выполнение двух
или более операций, называется следованием.
Конструкция, состоящая из развилки, двух операций и слияния, назы-
вается ветвлением. Одна из операций может отсутствовать.
Конструкция, имеющая линии управления, ведущие к предидущим опера-
циям или развилкам, называется циклом.
Конструкции следование, ветвление и цикл можно представить как
операции, так как они имеют единственный вход и единственный выход.
Произвольную последовательность операций можно представить как одну
операцию.
Операция может быть реализована любым оператором языка ПАСКАЛЬ
(простым или составным), либо группой операторов, за исключением опе-
ратора перехода GOTO.
В языке ПАСКАЛЬ количество базовых конструкций увеличено до шести,
это:
-следование;
-ветвление;
-цикл с предусловием;
-цикл с постусловием;
-цикл с параметром;
-вариант.
Далее рассмотрим, как эти базовые конструкции реализуются в языке
ПАСКАЛЬ.
15. У С Л О В Н Ы Й О П Е Р А Т О Р
{}
Условный оператор в короткой форме работает по правилу: если бу-
левское выражение B истинно, то выполняется оператор ОР1, далее вы-
полняется оператор, следующий за условным. Если булевское выражение B
ложно, то будет выполняться оператор, следующий за этим условным опе-
ратором.
16. Ц И К Л С П Р Е Д У С Л О В И Е М{}
17. Ц И К Л С П О С Т У С Л О В И Е М{}
18. Ц И К Л С П А Р А М Е Т Р О М{}
19. О П Е Р А Т О Р Ы З А В Е Р Ш Е Н И Я Ц И К Л А
Для всех операторов цикла выход из цикла осуществляется как
вследствие естественного окончания оператора цикла, так и с
помощью операторов перехода и выхода.
В версии ТУРБО ПАСКАЛЬ 7.0 определены стандартные процедуры Break и
Continue. Процедура Break выполняет безусловный выход из цикла. Проце-
дура Continue обеспечивает переход к началу новой итерации цикла.
20. О П Е Р А Т О Р В А Р И А Н Т А{}
21. П Е Р Е Ч И С Л Я Е М Ы Й Т И П Д А Н Н Ы Х
Перечисляемый тип представляет собой ограниченную упорядоченную
последовательность скалярных констант, составляющих данный тип. Зна-
чение каждой константы задается ее именем. Имена отдельных констант
отделяются друг от друга запятыми, а вся совокупность констант, сос-
тавляющих данный перечисляемый тип, заключается в круглые скобки.
Программист объединяет в одну группу в соответствии с каким - либо
признаком всю совокупность значений, составляющих перечисляемый тип.
Например, перечисляемый тип Rainbow(РАДУГА) объединяет скалярные значения
RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ,
ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Пе-
речисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные
значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).
Перечисляемый тип описывается в разделе описания типов, который
начинается со служебного слова type, например:
type
Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);
Каждое значение является константой своего типа и может принадле-
жать только одному из перечисляемых типов, заданных в программе. Нап-
ример, перечисляемый тип Traffic_Light не может быть определен в одной
программе с типом Rainbow, так как оба типа содержат одинаковые конс-
танты.
Описание переменных, принадлежащих к скалярным типам, которые объ-
явлены в разделе описания типов, производится с помощью имен типов.
Например:
type Traffic_Light= (RED, YELLOW, GREEN);
var Section: Traffic_Light;
Это означает, что переменная Section может принимать значения RED,
YELLOW или GREEN.
Переменные перечисляемого типа могут быть описаны в разделе описа-
ния переменных, например:
var Section: (RED, YELLOW, GREEN);
При этом имена типов отсутствуют, а переменные определяются сово-
купностью значений, составляющих данный перечисляемый тип.
К переменным перечисляемого типа может быть применим оператор
присваивания:
Section:= YELLOW;
Упорядоченная последовательность значений, составляющих перечисля-
емый тип, автоматически нумеруется, начиная с нуля и далее через еди-
ницу. Отсюда следует, что к перечисляемым переменным и константам мо-
гут быть применены операции отношения и стандартные функции Pred,
Succ, Ord.
Переменные и константы перечисляемого типа не могут быть элемента-
ми списка ввода или вывода.
... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...
... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...
... . Поэтому так легко путешествовать по Всемирной паутине (WWW — Worl Wide Web), переходя с сайта на сайт по гиперссылкам. Для отображения в «плоском* тексте смысловых связей между основными разделами или понятиями можно использовать гипертекст. Гипертекст позволяет структурировать документ путем выделения в нем слов-ссылок (гиперссылок). При активизации гиперссылки (например, с помощью щелчка мышью ...
... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...
0 комментариев