Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решение задач программированием.doc
Скачиваний:
26
Добавлен:
18.02.2016
Размер:
389.63 Кб
Скачать

3.2.7. Оператор end

Оператор END – выполняемый оператор, который останавливает выполнение программы.

3.2.8. Операторы управления

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

Оператор безусловного перехода (БП) имеет синтаксис

GO TO n

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

Структурный условный оператор IF. В общем случае имеет следующую конструкцию

IF B THEN

<последовательность операторов 1>

ELSE

<последовательность операторов 2>

ENDIF

Данный оператор работает следующим образом. Если логическое выражение В имеет значение TRUE (истина, Да), то выполняется последовательность операторов 1, если значение FALSE (ложь, Нет), то последовательность операторов 2.

THEN (то) и ELSE (иначе) – ключевые слова оператора IF (если) (ключевые слова используются для обозначения оператора или разделителя внутри него). Последовательности могут содержать любое количество операторов. Структурный оператор должен заканчиваться оператором ENDIF.

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

Пример 1. Написать фрагмент программы вычисления z = max(x,y)

‘ Вычисление z = max(x,y)

IF (X >= Y) THEN

Z = X

ELSE

Z = Y

ENDIF

PRINT “ Z=”,Z

Пример 2. Написать фрагмент программы вычисления z = min(x,y)

‘ Вычисление z = min(x,y)

IF (X < Y) THEN

Z = X

ELSE

Z = Y

ENDIF

PRINT Z

В частном случае оператор IF может иметь конструкцию

IF B THEN

<последовательность операторов>

ENDIF

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

3.2.9. Структура программы

Для записи программ на языке Basic используется свободный формат. В одной строке можно набирать несколько операторов языка Basic через разделитель “:”. Однако следует учесть, что использование этой возможности ухудшает читаемость программы. Поэтому в примерах, приведенных в этом пособии, для более доступного освоения материала, в каждой строке записан один оператор. Операторы могут записываться с любой позиции в строке.

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

3.2.10. Программирование алгоритмов разветвленной структуры.

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

Пример 3. Написать программу вычисления Z = max(A,B,C).

Алгоритм вычисления разобран в п. 4.1, схема вычисления представлена на рис.3. имена переменных в программе выбраны в соответствии со схемой.

Исходные данные А,В,С – переменные действительного типа обычной точности (типа Single). Введем их с помощью оператора ввода INPUT с клавиатуры под управлением списка. Под управлением списка выведем на дисплей и результат, переменную Z.

Результат Z и промежуточную переменную R объявляем переменными типа Single.

Напоминаем ! Что перед использованием переменных их надо обязательно объявить.

Для вычисления промежуточной переменной R и переменной результата Z используем структурный логический оператор IF.

Для читаемости снабдим программу комментариями. Заметим, что количество комментариев определяется автором.

‘ Вычисление Z = max(A,B,C)

DIM A as Single, B as Single, C as Single, Z as Single, R as Single

‘ Ввод исходных данных А,В,C

INPUT A,B,C

‘ Вычисление R = max(A,B)

IF ( A>= B) THEN

R = A

ELSE

R = B

ENDIF

‘ Вычисление Z = max(R,C)

IF(R >= C) THEN

Z = R

ELSE

Z = C

ENDIF

‘ Печать результата

PRINT “Z=”,Z

END