Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка (исходник от Березкиной С.Ю.).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.21 Mб
Скачать

Лабораторная работа №3 Программирование алгоритмов разветвленной структуры

Цель работы: изучить операторы условного и безусловного перехода и приобрести практические навыки в программировании алгоритмов разветвленной структуры.

Задание:

  1. Изучить операторы условного и безусловного перехода языка Бейсик и особенности их применения.

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

  3. Произвести на ЭВМ расчеты по разработанной программе для исходных данных, приведенных в табл. 3.1.

  4. Получить распечатку программы и результатов расчета.

  5. Оформить отчет по лабораторной работе.

Указания по выполнению работы

Алгоритм разветвленной структуры включает в себя одну из основных структур: разветвление (рис.3.1,а) или обход (рис.3.1,б) Разветвление применяется, когда в зависимости от некоторого условия ("да" - условие истинно, "нет" - условие ложно) нужно выполнить либо действие 1, либо действие 2, которые, в свою очередь, могут содержать несколько этапов расчета. Обход является частным случаем разветвления, когда одна ветвь не содержит ни каких действий.

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

Организация разветвления или обхода в программах, осуществляется с помощью операторов безусловного перехода GO ТО и условного перехода IF.

Общий вид оператора безусловного перехода

GO ТО n

где n - номер строки.

Оператор безусловного перехода передает управление первому оператору в строке с меткой n.

1. Если < условие > выполняется перейти к п.4

2. Операторы действия 2

3. перейти к п.5

4. Операторы действия 2

5. …

а)

1. Если < условие > выполняется перейти к п.3

2. Операторы действия

3. …

б)

Рис.3-1. Виды условных конструкций и их программирование с использованием условного оператора IF: а - структура разветвление; б - структура обход.

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

Линейная форма записи:

IF логическое выражение THEN операторы 1 ELSE операторы 2

где логическое выражение - выражение, возвращающее ненулевые значения (истина) или ноль (ложь); операторы 1 – операторы, выполняющиеся при значении логического выражения “истина”; операторы 2 - при значении “ложь”. Блок ELSE и операторы 2 может отсутствовать, тогда при значении логического выражения “ложь” осуществляется переход к первому оператору следующей строки. Если предполагается проверять больше, чем два условия, то целесообразно применять блочную форму оператора IF…THEN…ELSE.

Блочная форма записи:

IF логическое выражение 1 THEN

операторы 1

[ ELSEIF логическое выражение 2 THEN

операторы 2 ]

………………………………………………

[ ELSE

операторы n ]

END IF,

где логические выражения 1 и 2 – выражения, аналогичные логическому выражению в линейной форме записи; операторы 1 - одна или более строк операторов, выполняющихся при условии логическое выражение 1 - “истина”; операторы 2 - одна или более строк операторов, выполняющихся при условии логическое выражение 2 - “истина”; операторы n - одна или более строк операторов, выполняющихся при прочих условиях.

При блочной форме записи первоначально тестируется первое логическое выражение. Если оно не нулевое (“истина”), то выполняются операторы 1. Если первое выражение равно нулю (“ложь”), то оценивается каждое условие ELSEIF. При выполнении такого условия выполняются операторы данного блока (в нашем случае операторы 2). Если ни одно из условий ELSEIF не выполняется (все = “ложь”), то выполняются операторы n блока ELSE. Блоки ELSEIF и ELSE могут быть опущены. Операторы IF, ELSE, ELSEIF и END IF должны быть первыми операторами в строке. Блок должен заканчиваться оператором END IF.

В качестве примера на рис.3.2 приведены алгоритм вычисления функции

и соответствующая ему программа, иллюстрирующая применение условного оператора IF.

а)

REM Программа расчета функции с

REM применением условного оператора

PRINT “Введите значение X=”;

INPUT X

IF X<=0 THEN

Y=SIN(X)

ELSE

Y=1+LOG(X)

END IF

PRINT “Значение функции Y=”;Y

END

б)

Рис. 3.2. Пример программирования алгоритма разветвленной структуры:

а – схема алгоритма; б – его программная реализация с использованием условного перехода IF.

Таблица 3.1