подскажите оператор

Тема в разделе "Флудилка", создана пользователем r13s, 14 авг 2015.

  1. r13s

    r13s Нерд

    Я не так хорошо знаю ардуино, но благодаря форуму я узнаю секреты программирования. вот такой вопрос, if (i==0) i++; else ничего не делать, идем дальше я полагал что break , но это полностью убивает расчет. и еще такой вопрос знаю это дурной тон, но есть ли оператор goto? или как прыгать в коде программы?
     
  2. geher

    geher Гуру

    Вопрос не вполне понятен.
    Имеется ввиду конструкция
    Код (Text):
    if (i==0) i++; else goto tuda;
    что-то делаем
    tuda:
    ?

    Её проще представить в более понятном виде
    Код (Text):
    if (i==0) {
        i++;
        что-то делаем
    }
    //tuda:
    А break применяется исключительно для досрочного прерывания циклов и конструкции switch.
    Для прерывания исполнения функций можно задействовать return.
    И все это при желании достаточно просто может быть сведено к адекватным конструкциям структурного программирования.
    Если же хочется финтов ушами (что вроде как не приветствуется, ибо осложняет понимание написанного даже самим собой), то можно так:
    Код (Text):
     do {
        if (i==0) i++; else break;
        что-то делаем
    } while (false);
     
    Т.е. цикл со всегда неверным постусловием используется как конструкция, выполняемая один раз и прерываемая в любой момент оператором break.
     
    Последнее редактирование: 14 авг 2015
  3. r13s

    r13s Нерд

    спасибо, буду пробовать
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Нет такой ситуации, в которой нельзя обойтись без goto.
     
  5. geher

    geher Гуру

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

    Хотя упоминание про goto вроде как не согласуется с прочтением, требующим такого ответа.
     
  6. DrProg

    DrProg Вечный нерд

    Обучаемся от Бейсика. )
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Бейсик тут ни при чем, условные операторы во всех языках одинаковые и goto почти во всех присутствует.
     
  8. DrProg

    DrProg Вечный нерд

    Я к тому, что классический Бейсик его использует активно, и без goto там обойтись сложновато. Я имею ввиду старые версии Бейсика, в новых практически все те же объекты, что и везде.
     
  9. Megakoteyka

    Megakoteyka Оракул Модератор

    Использует не Бейсик, используют программисты. А в старом QBASIC были и циклы, и условия - все необходимое для жизни без goto.
     
  10. DrProg

    DrProg Вечный нерд

    Меня в школе, еще на Д3-28 учили, что goto чуть ли не самая главная команда. Кроме print, конечно же. Потом приходилось отучать себя, бить по рукам.