Программирование на языке BASIC 1990 г.

Глава 3,4,5 - условия, циклы, подпрограммы.


Глава 3
                         У С Л О В И Я
    Краткое содержание: IF, STOP,=,>,<,<=,>=,<>
    Последовательность  выполнения операторов программы не всегда
предсказуема. В определенных  местах программы  компьютер  может
принимать решение о дальнейшем ходе вычисления,  оператор, реали-
зующий это имеет форму:
          IF- некоторое  истинное  или  ложное  выражение,
          THEN- некоторое действие.
например  выполните  команду NEW,  а затем наберите  и  выполните
программу (это игра для двух человек):
                10 REM CUESS THE NUMBER ( угадывание числа)
                20 INPUT A:CLS
                30 INPUT"GUESS THE NUMBER",B (угадайте число)
                40 IF A=B THEN PRINT "THIS IS CORREKT": STOP
                50 IF BA THEN PRINT"THIS IS TOO BIG, TRY AGAIN"
                70 GOTO 30
    здесь IF оператор имеет форму: IF условие THEN....
где'...' - последовательность операторов,  разделенных двоеточием
обычным образом. Если 'условие' истинно,  то выполняются операто-
ры  следующие  после THEN в противном случае они  пропускаются  и
выполнение программы продолжается со следующего оператора.  Прос
тейшим  условием может быть сравнение двух чисел или двух  строк.
Числа могут быть либо равны,  либо одно больше другого,  а строки
либо равны,  либо одна следует после другой в алфавитном порядке,
для задания условия используются отношения:
                  =, <, >, <=, >=, <>
    Например, выражения 1<2, -2<1, -3<1 истинны, а выражения 1<0,
0<2  ложны.  Строка программы 40 сравнивает числа 'A' и  'B',  и,
если они равны, завершает работу, выполняя команду STOP. При этом
будет выдано сообщение '9 STOP, STATEMENT, 30:3',показывающее,что
команда STOP была выдана в 3-ем операторе в 30-й строке.
    Знаки условия набирают на клавиатуре следующим образом:
  >  -  SIMBOL SHIFT вместе с T               - больше
  <  -  SIMBOL SHIFT вместе с R               - меньше
  <= -  SIMBOL SHIFT вместе с G               - меньше или равно
                                         (нельзя набирать < и =>)
  >= -  SIMBOL SHIFT вместе с E               - больше или равно
  <> -  SIMBOL SHIFT вместе с W               - не равно

Глава 4
                            Ц И К Л Ы
    Краткое содержание: FOR, NEXT, TO, STEP
    Допустим нам необходимо составить  программу,  подсчитывающую
сумму вводимых пяти чисел, это можно было бы сделать так:
                         10  LET TOTAL=0
                         20  INPUT A
                         30  LET TOTAL=TOTAL+A
                         40  INPUT A
                         50  LET TOTAL=TOTAL+A
                         60  INPUT A
                         70  LET TOTAL=TOTAL+A
                         80  INPUT A
                         90  LET TOTAL=TOTAL+A
                         100 INPUT A
                         110 LET TOTAL=TOTAL+A
                         120 PRINT TOTAL
    Получилась  большая и не очень оптимальная  программа,  можно
решить эту задачу более рационально, если ввести счетчик и опера-
тор GO TO
                         10   LET TOTAL=0
                         20   LET COUNT=1
                         30   INPUT A
                         40   REM COUNT= NUMBER OF TIME THAT A  HAS
                                BEEN INPUT SO FAR
                         50   LET TOTAL=TOTAL+A
                         60   LET COUNT=COUNT+!
                         70   IF COUNT<=5 THEN GO TO 30
                         80   PRINT TOTAL
    Теперь,  изменив условие в строке 70,  можно ввести не только
5, но и любое количество чисел, для организации в программе таких
счетчиков  существуют  специальные операторы FOR и  NEXT  которые
всегда используются вместе.
    Наша  программа при исползовании этих операторов будет выгля-
деть так.
                        10   LET TOTAL=0
                        20   FOR C=1 TO 5
                        30   INPUT A
                        40   REM  C= NUMBER OF TIMES THAT A  HAS
                                  BEEN INPUT SO FAR    льших программ.
                        50   LET TOTAL=TOTAL+A
                        60   NEXT C
                        70   PRINT TOTAL
    Здесь  'C'  управляющая переменная цикла должна иметь  имя  в
одну букву, 'C' последовательно принимает значения 1, 2, 3, 4, 5
(предел  - конечное  значение переменной цикла)  и  при  каждом
проходе выполняются строки 30, 40, 50,  затем после того как 'C'
примет пятое значение, выполнится 70-я строка.
Приращение значения управляющей переменной составляет 1,  но  это
значение можно изменить, используя указание STEP как часть опера-
тора  FOR,  таким образом общая форма оператора FOR выглядит сле-
дующим образом:
    FOR'упр. перем.'='нач.знач.' TO 'предел' STEP' шаг прирощ.'
    здесь ' начальное значение',  ' предел',  'шаг приращения'  -
есть выражения,  принимающие числовое значение,  и так,  если  вы
замените строку 20 программы на
                         20 FOR C=10 TO 5 STEP 3/2
то 'C' последовательно примет значения, 5 и 4
    Выполните  программу,  выводящую числа от 1 до 10 в убывающей
последовательности:      10 FOR N=10 TO 1 STEP -1
                         20 PRINT N
                         30 NEXT N
    Следующая программа выводит числа домино:
                         10 FOR M=0 TO 6
                         20 FOR N=0 TO M
                         30 PRINT M;":";N;" ";
                         40 NEXT N
                         50 PRINT
                         60 NEXT M
        Значение STEP,  равное 0,  вызовет бесконечное повторение
цикла, этого не рекомендуется делать.
Глава 5
                     П О Д П Р О Г Р А М М Ы
    Краткое содержание GO SUB, RETURN
    Иногда  бывает удобно некоторые фрагменты программы  предста-
вить  в виде отдельных частей,  по нескольку раз  используемых  в
различных местах программы.  Такие части оформляются как подпрог-
раммы, которые могут вызываться в любом месте программы.
    Для этого используются операторы GO SUB (GO TO SUBROUTINE) и
RETURN в форме:             GO SUB N
    где  'N' номер первой строки в подпрограмме.
Этот оператор подобен GO TO  с той разницей,  что при использова-
нии  GO SUB компьютер запоминает следующий после GO SUB оператор,
котороMу  и  передается управление  после  выполнения  программы.
Делается  это  посредством  помещения номера оператора  (адреса
возврата) в специальную область памяти,  называемую GO SUB  стек.
RETURN выбирает верхний адрес возврата  из GO SUB стека и продол-
жает  выполнение программы с оператора следующего после оператора
с этим номером. Приведем пример :
                          100 LET X=10
                          110 GO SUB 500
                          120 PRINT S
                          130 LET X=X+S
                          140 GO SUB 500
                          150 PRINT S
                          160 LET X=X+2
                          170 GO SUB 500
                          180 PRINT S
                          190 STOP
                          500 LET S=0
                          510 FOR U=1 TO X
                          520 LET S=S+U
                          530 NEXT U
                          540 RETURN
     В общем случае подпрограмма может вызывать другие подпрограм-
мы и даже саму себя (такая подрограмма называется рекурсивной).



СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
ZX-Party - глубокая дискуссия по поводу смехотворной позиции демомейкеров против создателей виртуальных миров — гейммейкеров.
Открытые письма Nemo №2.1
brain damage - стихи???
Интервью - КТО ОБОСРАЛ 583-SOFT'А И ПОЧЕМУ
Наш гость - интервью с создателем известных редакторов Excess de Luxe Paint и Excess Sample Editor - ZK System (Константин Зуйков).

В этот день...   18 апреля