Математическая логика и теория алгоритмов: Методические указания к практическим занятиям, страница 13

В случае  ЦИКЛА-ПОКА  тело цикла    исполняется до тех пор, пока  условие      истинно;  в случае   ЦИКЛА-ДО  тело цикла     исполняется до того, как условие    станет  истинным.

Наконец, структура  следование  имеет вид (см. рис. 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Ø   INPT      

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   может опускаться.