Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика_ЗФ / Лабораторный практикум по программированию / Лабораторный_практикум_по программированию_2

.pdf
Скачиваний:
136
Добавлен:
22.03.2016
Размер:
646.66 Кб
Скачать

ПРИЛОЖЕНИЕ А (обязательное)

Структура «ВЕТВЛЕНИЕ» (ветвящийся вычислительный процесс)

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

Алгоритмическая структура (базовая управляющая структура) «ВЕТВЛЕНИЕ» представлена на рисунках А.1 и А.2 Примем следующие обозначения: B – выражение, которое может быть оценено как истинное (не ноль) или ложное (ноль). S1, S2 – операции, группы операций или алгоритмические структуры (базовые управляющие структуры).

 

 

if B then S1 else S2

 

 

 

if B then S1

 

 

 

 

(если B то S1)

(если B то S1 иначе S2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. А.1. Структура «ВЕТВЛЕНИЕ»

Рис. А.2. Сокращенная форма

структуры «ВЕТВЛЕНИЕ»

 

Структура «ВЕТВЛЕНИЕ» описывает следующий процесс: если B – ИСТИНА (TRUE) (не равно нулю), то выполняется структура S1, иначе, если B – ЛОЖЬ (FALSE) структура S2. При этом происходит разветвление алгоритма.

Ветвящийся процесс, включающий в себя две ветви, называется простым. Если S1 либо S2 представляет собой структуру «ВЕТВЛЕНИЕ», то ветвящийся процесс называют сложным. Сложный ветвящийся процесс содержит более двух ветвей.

31

Если в структуре «ВЕТВЛЕНИЕ» отсутствует операция, группа операций или алгоритмическая структура S2, которую необходимо выполнить при ложности выражения B, получается сокращенная форма структуры «ВЕТВЛЕНИЕ» (рис. А.2), которую ещё называют структурой «Обход».

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

32

ПРИЛОЖЕНИЕ Б (обязательное)

Операторы, реализующие структуру «ВЕТВЛЕНИЕ»

Базовая управляющая структура «ВЕТВЛЕНИЕ» в языках QBasic или VBA реализуется с помощью операторов условного и безусловного переходов и операторов выбора.

Оператор безусловного перехода – оператор Goto

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

Синтаксис: Goto {номер метка}

«Метка» определяет оператор, на который передается управление. Если используется метка, то после неё должно стоять двоеточие. Оператор Goto – неструктурированный оператор. Поэтому в практи-

ке современного программирования использование Goto минимизируется с помощью подпрограмм, процедур, функций и структурированных опера-

торов, таких как For-Next, While-Wend, Do-Loop, блочный If-Elseif-Else- End If и Select Case.

Операторы условного перехода

Условные операторы в языках QBasic или VBA представлены:

однострочным (строковым) оператором If-Tnen-Else;

блочным If-Elseif-Else-End If.

Воператорах условной передачи управления в конструкции оператора содержится Условие, определяющее, когда выполняются те или иные действия. Условие представлено целым выражением. Равенство нулю выражения воспринимается как логическая ЛОЖЬ, неравенство — как логическая ИСТИНА.

Однострочный (строковый) оператор If-Tnen-Else

Оператор If-Tnen-Else проверяет условие и изменяет ход программы, если выполнится заданное условие. Его называют оператором условного перехода или условной передачи управления.

Синтаксис:

If Условие Then блок_операторов-1 [Else блок_операторов-2] Если Условие – ИСТИНА (не равно нулю), то выполняются операто-

ры после Then до первого встретившегося Else. Если значение выражения – ЛОЖЬ (равно нулю), то выполняются операторы после Else, если они есть.

Если часть оператора с Else опущена, то выполнение программы продолжается со следующей строки.

33

Обычно условие представлено оператором отношения, хотя и не все-

гда.

Блочный оператор If-Elseif-Else-End If

Блочный оператор If-Elseif-Else-End If создает ряд операторов If. Синтаксис:

If Условие1 Then

[блок_операторов-1] [Elseif Условие2 Then

[блок_операторов-2]] … [Else

[блок_операторов-n]]

End If

Условие1, Условие2 представляют собой любые выражения, которые могут быть оценены как истинные (не ноль) или ложные (ноль). Блок_операторов-1, блок_операторов-2 – один или несколько операторов в одной или нескольких строках. При выполнении блочного оператора If, истинность выражения в операторе If проверяется в первую очередь. Если результат нулевой (ЛОЖЬ), каждый из следующих операторов ELSEIF проверяется по порядку (операторов Elseif может быть сколько угодно). Как только будет найдено выражение со значением ИСТИНА, выполняются операторы, следующие за соответствующим Then, а затем выполняется переход на оператор, следующий за завершающим End If без выполнения каких-либо дальнейших проверок. Если ни одна из предыдущих проверок не явилась удовлетворительной, выполняются операторы, следующие за Else. Важно отметить, что на первой строке блочного оператора If, после ключевого слова Then, не может быть операторов. Также необходимо отметить, что ничего не следует за Else.

Блочные операторы If должны заканчиваться оператором End If. Заметим, что End If содержит пробел, а Elseif не содержит.

Оператор выбора

Оператор Select Case

Синтаксис:

Select Case тест_выражение [Case список_выражений-1 блок_операторов-1] [Case список_выражений-2

. блок_операторов-2.] .

. . .

[Case список_выражений-n блок_операторов-n]. [Case Else

блок_операторов-n+1]

End Select

34

«Тест_выражение» любое числовое или строковое выражение. «Список выражений» одно или несколько выражений для сравнения

с «тест_выражением».

Если проверка удовлетворяется, тогда выполняется блок операторов, связанный с этой проверкой, и затем управление передается оператору, стоящему после End Select. Если никакая проверка не удовлетворяется, тогда выполняется блок операторов после Case Else. Аргументы списка выражений могут принимать любую из следующих форм или их комбинацию и должны разделяться запятыми:

выражение [,выражение...] выражение TO выражение Is оператор_отношения.

Параметр оператор_отношения задает одну из следующих операций отношения:

< – меньше; <= – меньше или равно; > – больше; >= – больше или равно; <> – не равно; = – равно.

35

Учебное издание

ДИБРОВА Галина Дмитриевна

ЛАБОРАТОРНЫЙ

ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ

Ответственный за выпуск Н.В. Ковбасюк

ИД № 06457 от 19.12.01 г. Издательство ЮРГУЭС. Подписано в печать 3.10.08 г.

Формат бумаги 60x84/16. Усл. печ. л. 2,0. Тираж 100 экз. Заказ № 324.

ПЛД № 65-175 от 05.11.99 г. Типография Издательства ЮРГУЭС.

346500, г. Шахты, Ростовская обл., ул. Шевченко, 147

36

37