Основи програмування на С ++ для початківців

Цикл for в C++

for C++, for С++Как вы заметили в содержании, на главной странице сайта, в языке C применяются несколько видов циклов. Цикл for  ми розглянемо першим, так как его легче понять новичкам, с моей точки зрения. А циклы while і do while, рассмотрены в отдельной статье.

Для начала, разберемся с тем, що означає цикл в програмуванні. Цикл – это специальный оператор, с помощью которого происходит повторение определённого участка кода определённое количество раз (какой участок кода повторять и когда цикл должен прерваться – определяет программист). Ще одне визначення запропонував відвідувач нашого сайту rrrFer: цикл – конструкция языка, предназначенная для организации повторного исполнения команд. Наприклад, щоб вивести на екран числа від одиниці до п'ятисот, можно использовать ручной вывод на экран:

ручной ввод (без цикла for)

Согласитесь – не самое интересное задание и представьте сколько пришлось бы прокручивать колесико мышки, чтобы добраться до конца кода.  А можна скористатися циклом for  і скоротити, тим самим в десятки разів,  час на написання цієї “интересной” программы и сам размер кода. Вот, якомога виконати це завдання із застосуванням for:

Ми починаємо визначати наш цикл в рядку 6 . Для этого пишем ключевое слово for і за ним круглі дужки() . В круглых скобках объявляется управляющая переменная (переменная-счетчик) i. В нашем случае, вона инициализирована нулем. Після ініціалізації стоїть крапка з комою ; . Далі маємо умову: i < 500 (оно означает, что пока i меньше 500, код в теле цикла будет повторяться) и снова точка с запятой ; . Именно оно и будет “говорить” програмі доки буде виконуватися тіло циклу (код в фигурных скобках {}). наостанок вказуємо, как будет изменяться i  з кожним кроком циклу (у нас – увеличение на единицу, используя постфиксный инкремент). Если описать одним предложением, те, что расположено в круглых скобках, команда будет звучать так – выполнять тело цикла, пока переменная i   менше п'ятисот, увеличивая i на единицу, при кожному кроці циклу. Крок циклу ще називають итерацией. А переменную-счетчик – управляющей переменной, так как она управляет количеством итераций.

Розберемо для наочності кілька кроків циклу з нашого прикладу. При першій ітерації циклу керуюча змінна дорівнює 0. Поэтому для вывода на экран единицы используем выражение i + 1 (0 + 1). Когда тело цикла выполнилось, происходит изменение (увеличение) управляющей переменной i  так, як ми вказали в круглих дужках () после оператора for – тобто вона стає рівною одиниці. Вторая итерация начинается с проверки условия (у нас i < 500). Если i действительно< 500, виконання тіла циклу повториться – на экран снова покажется i + 1, что эквивалентно 1 + 1, то есть 2. Последний раз цикл выполнится, когда управляющая переменная будет равна 499 и на экран покажется значение i + 1 (499 + 1). После этого её значение снова увеличится на единицу, но условие повторения цикла уже не будет выполняться, так как i (500) уже не меньше 500.  Після завершення роботи циклу програма перейде до виконання наступного рядка коду, расположенной за закрывающей } фигурной скобкой тела цикла. Результат выполнения программы посмотрите сами, запустив программу.

Управляющая переменная может как увеличиваться так и уменьшаться. В зависимости от того, какая задача поставлена перед программистом. Посмотрите на этот код. При его выполнении, на экране мы увидим числа, розташовані по спадаючій, от 500 до 1.

Не обязательно использовать постфиксный инкремент или декремент. Изменяем управляющую переменную так, как того требует задача. Це може бути++i,  i = 2,  i = 20,  i -= 15… Наприклад:

цикл for - управляющая переменная

управляющая переменная i  змінюється від 8 до 88 включительно, при этом шаг изменения равен 8. То есть сначала i = 8, на второй итерации 16 и так далее до 88.

цикл for - управляющая переменная

управляющая переменная i  змінюється від 3000 до 300 включительно, с уменьшением при каждой итерации на 300 (3000,  2700, 2400…)

цикл for c++, Цикл для C ++

управляющая переменнаяi  змінюється від 0  до 100 включительно, зі збільшенням при кожній ітерації на 10. (0, 10, 20…100)

цикл for - управляющая переменная

управляющая переменнаяi  змінюється від 3000  до 3 включительно, з розподілом при кожній ітерації на 10. (3000, 300, 30, 3)

В дополнение ко всему сказанному, хочу добавить, что все три, використовувані в круглих дужках, выражения необязательны. Если сделать такую, наприклад, запись: for( ; ; ) – это будет воспринято компилятором, как запуск так называемого бесконечного цикла. Здесь нет ни управляющей переменной, ни условия продолжения цикла, ні зміни керуючоїзмінної. Тобто цикл буде виконуватися нескінченно. В этом случае, чтобы все-таки как-то работать с таким циклом, керуюча змінна може бути визначена до циклу, её изменение можно добавить в конец тела for, а условие продолжения цикла можно задать используя оператор if і оператор break. Вот как это будет выглядеть:

Отмечу, что существует такое понятие, як область видимості змінної. В этом примере область видимости переменной i – тело главной функции main(). А в предыдущих примерах, она ограничивалась телом цикла for  і за його межами ця змінна вже була недоступна (к ней уже нельзя было обратиться – вывести её значение на экран, например)  Це треба мати на увазі. Так как, если в программе встречаются несколько циклов и управляющие переменные определяются выше в коде, а не в круглых скобках () після операторівfor , для каждой необходимо придумывать уникальное имя. Или каким-то другим образом выходить из этой ситуации.   Так що краще користуватися стандартним синтаксисом:

for ( определение управляющей переменной ;  умова повторення циклу;  зміна керуючоїзмінної) 

Так код читається легше, всё необходимое для работы цикла находится в пределах одной строки кода и сколько бы не было циклов в вашем коде, вам не придется утруждаться и придумывать новые имена для управляющих переменных.

Рекомендую посмотреть видео по теме. В нем рассмотрен и цикл while

Практика программирования по этой теме находится здесь – Завдання: Цикл for.

50 думки про "Цикл for в C++

  1. не проходить правильний варіант відповіді ,підкажіть ,помилку не можу знайти: #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “rus”);
    int digit1 = 0;//числа вводить користувач
    int digit2 = 0;//вводить користувач
    int result = 0;//змінна зберігає результат множення

    cout << "Введите два однозначных числа : " <> digit1;
    cin >> digit2;
    cout << " digit1 * цифра2 = результат : " << digit1 * digit2 << endl;
    system("cls");
    int answer = 0;
    cout << answer ;//результат множення вгадує користувач
    cout << "Угадайте результат умножения введенных вами двух чисел : " << endl;
    cout << "Вариант ответа в пределах (от1 до 81)" << endl;
    for(результат = 1; result > answer;
    cout << result < result)
    {
    cout << "Вы дали неправильный ответ! Ваш інший варіант : ";
    }
    else if(answer < result)
    {
    cout << "Ваш ответ неверный , інші варіанти : " << endl;
    }
    else
    {
    відповісти == результат;
    break;
    cout << "Правильный вариант ответа!" << endl;
    }

    }

    return 0;

    1. Ось код:
      #include
      using namespace std;
      int main()
      {
      setlocale(LC_ALL, “ru”);

      int digit1 = 0;
      int digit2 = 0;
      int result = 0;
      ІНТ відповідь;

      cout << "Введите два однозначных числа : " digit1;
      cin>> digit2;
      if (digit1 >= 10 || digit2 >= 10) //ЯКЩО якесь із двох зазначених змінних більше 10 або навіть 10 програма завершить свою роботу. || АБО
      {
      cout << "Вы ввели не однозначное число." << endl;
      return 0;
      }

      else
      {
      результат = цифра1 * digit2;// Помножуємо числа які ми ввели та привласнюємо їх у змінну result;
      system("cls");
      cout << "Угадайте результат умножения введенных вами двух чисел : " << endl;

      cout << "Вариант ответа в пределах (от1 до 81)" answer;
      if (!(відповісти == результат)) // ЯКЩО answer НЕ рівна result
      {
      cout << "К сожалению ответ неверный, правильну відповідь: " << result << endl;
      }
      else
      {
      cout << "Вы молодец! ви відгадали число" << endl;
      }
      }
      }

  2. Ось код:
    #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “RU”);

    int digit1 = 0;
    int digit2 = 0;
    int result = 0;
    ІНТ відповідь;

    cout << "Введите два однозначных числа : " <> digit1;
    cin>> digit2;
    if (digit1 >= 10 || digit2 >= 10) //ЯКЩО якесь із двох зазначених змінних більше 10 або навіть 10 програма завершить свою роботу. || АБО
    {
    cout << "Вы ввели не однозначное число." << endl;
    return 0;
    }

    else
    {
    результат = цифра1 * digit2;// Помножуємо числа які ми ввели та привласнюємо їх у змінну result;
    system("cls");
    cout << "Угадайте результат умножения введенных вами двух чисел : " << endl;

    cout << "Вариант ответа в пределах (от1 до 81)" <> answer;
    if (!(відповісти == результат)) // ЯКЩО answer НЕ рівна result
    {
    cout << "К сожалению ответ неверный, правильну відповідь: " << result << endl;
    }
    else
    {
    cout << "Вы молодец! ви відгадали число" << endl;
    }
    }
    }

  3. cout << + 1 << endl;
    як я розумію тіло петлі починає крутитися з 1
    якщо є інше число, тоді відповідь почнеться з нього

  4. int main()
    {
    int a = 0;
    INT B = 0;

    cout << " згадка про номер " <> a;

    cout << a << endl;

    cout << endl;
    {
    for (a = 0; a < 10; A ++)

    cout << a + 1 << endl;
    }

    return 0;
    }
    "for" ignoring variable after "cin" змінив один ?

Залишити коментар до влад Скасувати відповідь

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *