В
случае ЦИКЛА-ПОКА тело цикла
исполняется до тех
пор, пока условие
истинно; в случае
ЦИКЛА-ДО тело цикла
исполняется до того, как
условие
станет истинным.
Наконец, структура следование имеет вид (см. рис. 7):
![]() |
Рис. 7. Следование
Для записи базовых структур используется специальная нотация (см. табл. 1): ([7], табл. 40, с. 146-147).
Алгоритмический
язык Бейсик (BASIC – «Beqinners
Purpоse Symbolic Instruction Code),
построенный по принципу построчной нотации, позволяет представить базовые
структуры алгоритмов следующим образом:
Полная развилка

да
IFPTHEN
![]()
![]()
Выход нет
Неполная развилка

да
IF PTHEN
![]()
![]()
нет
Выход
ЦИКЛ-ПОКА

IFPTHEN ![]()
да ![]()
![]()
Выход нет
ЦИКЛ-ДО
![]()
![]()
![]()
![]()
нет

![]()
![]()
![]()
![]()
да
Выход
![]()
Здесь еще раз (из методических соображений) приведены блок-схемы базовых алгоритмических структур.
Пример
4. ([8], c. 112).
Составить программу решения уравнения
для
произвольных значений числовых параметров
и ![]()
Составим
программу с использованием операторов DАТА и READ для трех
пар значений
и
иллюстрирующих работу алгоритма в каждом
из трех логически возможных случаев:
1Ø
REM УРАВНЕНИЕ ![]()
2Ø
READ ![]()
3Ø IF A= Ø THEN 7 Ø
4Ø LET ![]()
5Ø PRINT «РЕШЕНИЕ ![]()
6Ø GOTO 11Ø
7Ø IF
Ø THEN 1Ø
8Ø PRINT «РЕШЕНИЙ НЕТ»
9Ø GOTO 11Ø
10 Ø PRINT «РЕШЕНИЙ БЕСК. МН.»
11Ø GOTO 2Ø
12 Ø DATA Ø, Ø, Ø, 4, 2, 3
13 Ø END
Пример 5 ([8],
c.115). Составить программу нахождения наибольшего
общего делителя (НОД) двух целых положительных чисел
и
.
Программа использует структуру ЦИКЛ-ПОКА (см. пример 3) и имеет вид:
1Ø REM НОД (
)
2Ø INP
T ![]()
3Ø ![]()
4Ø IF
THEN 8Ø
5Ø IF
THEN 7Ø
6Ø
GOTO 4Ø
7Ø
GOTO 4Ø
8Ø PRINT «НОД» ![]()
9Ø GOTO 2Ø
Часто один и тот же алгоритм можно построить с использованием разных базовых структур.
Пример 6. ([8], c.116-117). Составить программу вычисления (генерирования) 100 членов последовательности

Способ 1. Используя структуру ЦИКЛ-ПОКА по блок-схеме (см. рис. 8),

+
![]()
–
Рис. 8. Генерирование членов последовательности с ЦИКЛОМ-ПОКА
Получаем программу:
1Ø REM ![]()
2Ø REM ЦИКЛ-ПОКА
3Ø ![]()
4Ø IF
Ø Ø THEN 9Ø
5Ø ![]()
6Ø PRINT ![]()
7Ø ![]()
8Ø GOTO 4Ø
9Ø END
Способ 2. Используя структуру ЦИКЛ-ДО по блок-схеме (см. рис. 9),
![]()

–
К > 100
+
Рис. 9. Генерирование членов последовательности с ЦИКЛОМ-ДО
Получим программу:
1Ø REM ![]()
2Ø REM ЦИКЛ-ДО
3Ø ![]()
4Ø ![]()
5Ø PRINT ![]()
6Ø
8Ø IF
Ø Ø THEN 4Ø
9Ø END
В заключение рассмотрим особый случай, когда условием
в базовой структуре ЦИКЛ-ДО является
неравенство
а параметр цикла
изменяется от
по
закону
где
заданный
шаг (разность арифметической прогрессии).
Для программирования таких циклов в Бейсике используются операторы FOR и NEXT (начало цикла и конец цикла), а также оператор STEP (шаг цикла). Если шаг цикла равен +1, то указание STEP 1 может опускаться.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.