роботы робототехника микроконтроллеры

Условия в программах


Очень часто наши действия зависят от того или иного условия. Например:

  • если на улице хорошая погода, то можно совершить прогулку;
  • если дождь, то берём зонт, иначе зонт не берём.

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

    Для того чтобы задать какое-либо условие, в GameLogo применяют конструкцию следующего вида:


    если <условие> то <команда>


    При истинности условия будет выполняться команда, стоящая после "то", в противном случае команда, стоящая после "то", выполнена не будет.

    В выражениях, создающих условия, используются знаки сравнения:

    =равно
    >больше
    <меньше
    >=больше или равно
    <=меньше или равно
    <>не равно


    Если необходимо выполнить разные действия в зависимости от того, выполняется условие или нет, применяют следующую конструкцию:


    если <условие> то <команда 1> иначе <команда 2>


    При выполнении условия будет выполнена <команда 1>, если же условие не выполнится, то будет выполнена <команда 2>.


    Пример:
    Выдержит ли мост, если по нему проедет грузовик весом 2000 кг., на который погрузили 50 коробок весом 80 кг. каждая?
    Предел нагрузки моста - 5000 кг.



          переменная m
          m = 2000 + 50 * 80
          если m > 5000 то пиши "не выдержит" иначе пиши "выдержит"


    В том случае, если при выполнении условия требуется выполнение нескольких команд, используется следующий тип записи условия:


    если <условие> то
       <команда>
       <команда>
       <команда>
       ...
    конец условия


    Ключевое слово "конец условия" обозначает конец многострочной конструкции, и его наличие в этом случае обязательно.

    Конструкция если ... то ... иначе аналогична конструкции если ... то, но позволяет задать действия, выполняемые как при выполнении условия, так и в случае его невыполнения.


    если <условие> то
       <команда>
       <команда>
       <команда>
       ...
    иначе

       <команда>
       <команда>
       <команда>
       ...
    конец условия


    Если заданное условие не выполняется и запись условия содержит ключевое слово "иначе", выполнится последовательность команд, расположенных следом за "иначе". После чего управление перейдет к командам, следующим после строки "конец условия".

    В случае использования многострочных способов записи условий количество команд может быть любым (в том числе и одна команда). Кроме того, следует помнить, что "если ... то", "иначе" и "конец условия" пишутся на отдельных строках.

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


    переменная m

       m = 2000 + 50 * 80

       если m > 5000 то
            пиши "не выдержит"
       иначе
            пиши "выдержит"
       конец условия



    Так же, как и в случае применения циклов, условия могут быть вложены одно в другое.


    Логические операции в условиях

    В условиях могут применяться логические оперции "И" и "ИЛИ". Логические операции при записи в условии должны отделяться пробелами с двух сторон. Поддерживается любое количество скобок.


    Пример 1:

    если a > 5 и b > 7 то
         пиши "a > 5 и b > 7"
    конец условия



    Пример 2:

    если a > 5 и (b > 0 или c > 2) то
         пиши "(a > 5 и b > 0) или (a > 5 и c > 2)"
    конец условия



    Безусловный переход

    Команда безусловного перехода ПЕРЕЙТИ К осуществляет переход исполнения программы к указанной метке. Метка ставится на отдельной строке. Имя метки может быть любым, но не должно содержать пробелы и знаки препинания. После имени метки всегда ставится двоеточие. Пробел между именем метки и двоеточием не ставится.

    Пример:

    СТАРТ:

    вперед 10
    направо 5

    перейти к СТАРТ


    В данном примере с помощью безусловного перехода организовано бесконечное повторение команд, находящихся между меткой СТАРТ и командой перейти к СТАРТ.


    Продолжение >> Датчик черепахи


  • Роботы на одной микросхеме своими руками




    Copyright © myrobot.ru, 2005-2023


    Яндекс.Метрика   Рейтинг@Mail.ru