Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика / Инф1_Л 4_Реализация_базовых_алгоритмических_структур_в_QBasic_2.docx
Скачиваний:
38
Добавлен:
08.04.2015
Размер:
53.1 Кб
Скачать

2.

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

Оператор передачи управления (безусловного перехода) − gotOn

Оператор даёт возможность перевести процесс выполнения программы в любую строку программы.

Формат конструкции:

GOTO метка

Блок-схема конструкции:

В программе одному оператору GOTO всегда соответствуют две одинаковые метки. Одна расположена справа от оператора, вторая – первым элементом строки, в которую передаётся управление. Допускается передача управления в одну и ту же строку программы несколькими операторами GOTO по одной и той же метке.

Метки могут быть цифровыми и текстовыми. Текстовая метка обязательно начинается с буквы и в целевой строке заканчивается двоеточием.

На блок-схемах GOTO обозначается окружностью с номером блока, которому передаётся управление.

Оператор используется в основном совместно с другими операторами для создания циклов (с операторами IF …) и для организации автоматического реагирования программы на ошибки (с оператором ON ERROR).

В QBasic широко используется группа операторов, в имени которых обязательно присутствует слово IF – если со знаком сравнения.

Конструкция if … then («если – то»)

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

Формат конструкции:

IF условие THEN действие

Блок-схема конструкции:

Условием всех конструкций IF является выражение со знаком сравнения. Оно может иметь только два значения TRUE (истина) – при котором условие выполняется и FALSE (ложь) – при котором условие не выполняется. В условиях используются знаки сравнения. Сравниваться могут не только числа и переменные, но и математические выражения.

Условие может задаваться довольно сложным образом и состоять из нескольких блоков. Для создания таких сложных условий используют специальные операторы AND, OR, NOT, IMP, XOR, EQV.

Особенность конструкции IFTHEN в том, что в зависимости от результата проверки условия Действие может не выполняться, конструкция заканчивает работу и передаёт управление.

Код простейшей программы:

Задание: Рассчитать значение математического выражения x=sin 35 + 2,25 + a. Если переменная x будет иметь значение меньше нуля, умножить её на (-1). Вывести результат (положительное значение переменной x).

CLS

INPUT “Ввести значение переменной а”; a

X = SIN(35) + 2.25 + a

IF X<0 THEN X = X * (-1)

PRINT “X=”; X

END

Конструкция IFTHENELSE («если − то − иначе»)

Позволяет выполнять одно из двух действий в зависимости от выполнения условия.

Формат конструкции:

IF условие THEN действие 1 ELSE действие 2

Блок-схема конструкции:

Особенность конструкции в том, что Действие 1 и действие 2 не могут выполняться последовательно. Выполняется одно из действий, в зависимости от выполнения или невыполнения условия.

Код простейшей программы:

Задание: Ввести X. Если его значение чётное или равно 0, то прибавить 2, если нечетное, то прибавить 1. Вывести результат.

CLS

INPUT «Введите значение x»; x

IF X/2 = X\2 THEN X = X+2 ELSE X = X+1

PRINT x

END

Для двух переменных вопрос нахождения максимума (минимума) с помощью данной конструкции решается в одну строку.

IF A > B THEN PRINT “A > B” ELSE PRINT “A < B”

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

Задание: Определить, наименьшее значение одной из нескольких переменных.

Программный код:

INPUT “Введите значения переменных A1, A2, A3, A4”; A1, A2, A3, A4

IF A1 < A2 THEN MIN = A1 ELSE MIN = A2

IF A3 < MIN THEN MIN A3

IF A4 < MIN THEN MIN A4

PRINT “Минимальное значение”; MIN

В данном случае введена переменная – эталон с именем MIN

Конструкция IFTHEN END IF (“если − то” многострочная)

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

Выход из этой ситуации предлагает конструкция IFTHEN END IF

Формат конструкции:

IF условие THEN

действие 1

действие 2

действие n

END IF

Блок-схема конструкции:

Количество операторов, расположенных в теле конструкции ограничивается только размерами файла, занимаемого программой. Элементы оператора IF и END IF должны быть первыми элементами в своих строках кода программы. После THEN все операторы тела конструкции начинают записывать с новой строки.

Задание: Ввести значение X, извлечь из него квадратный корень и вывести результат. Если значение X меньше нуля, то сообщить «Введено отрицательное значение X» и умножить X на -1. Вывести значение подкоренного выражения.

CLS

INPUT “Введите значение x”; x

IF x < 0 THEN

PRINT “Введено отриц. Значение X”

X = X * (-1)

END IF

PRINT “Корень квадратный из X”; SQR(x)

END