Цикл for в С++ для начинающих

Надеюсь, прошлые темы был неоднократно повторены, вы поупражнялись и с легкостью можете написать простой калькулятор на C++. Теперь речь пойдет о первом цикле. Как первый, нам вполне подойдёт цикл for.
Суть любого цикла в программировании в том, что выполняется какое-то действие определенное число раз. Вам постоянно придётся встречаться с задачами, в которых некоторое однотипное действие нужно выполнить большое число раз. Чтобы заставит программу выполнять какой-то участок кода многократно, можно использовать циклы.
В языке C++ есть два прямых способа зацикливания: for и while, зацикливание с помощью рекурсии. Способов зацикливания несколько, я же буду знакомить сейчас только с одним, с зацикливанием for.
Пример простой учебной задачи: Напишите программу, которая выведет на экран числа по порядку. Например, от 1 до 10




Вот элементарная и наглядная программа для начинающих, написанная в C++.
Наиболее важная для вас здесь только одна строчка for (i=1; i<=10; i++)
Давайте разберём эту самую строчку.
Вовнутрь цикла for передаётся три параметра, которые разделяются точкой с запятой:

Первый параметр — начало отсчёта.
Второй параметр — конец отсчёта.
Третий параметр — шаг отсчёта.
Чтобы циклы не выполнялись бесконечно, им нужен некоторый опознавательный признак, который сможет дать понять циклу, что пора завершаться, таким опознавательным признаком служит так называемый счётчик цикла. В примерах выше счётчиком цикла выступает переменная i. Эта переменная в показанных примерах принимает начальное значение единицу (смотрите на однострочные коды). Признак выхода из цикла сработает тогда, когда в i окажется значение, равное или большее 10 (второй параметр внутри круглых скобок цикла). Какое значение окажется внутри i после очередного выполненного повторения — определяется шагом цикла: i++ обозначает, что после каждого повторения значение в i увеличивается на единицу, это то же, что i=i+1. Можно использовать разный шаг: i+=10, i+=20, i+=100, i*=2 и т. п.

  • for (начальное значение счётчика; пока значение счётчика согласуется с некоторым условием; изменять счётчик){ выполнять какой-то код }
В первое время при программировании на C++ у начинающих могут возникать некоторые характерные для новичков ошибки.
  • То, что должно циклически выполняться, нужно указать в фигурных скобках (можно забыть их поставить, а потом ломать голову – почему не работает)
Хотя можно и не использовать фигурные скобки в случае единичного выражения, лучше всё-таки не пренебрегать ими и не лениться.
for требует для себя обязательных круглых скобок и кода для повторений. Вам нужно привыкать к таким понятиям, как параметры и операторы. Внутри круглых скобок for происходит своеобразная настройка цикличности. Главная цель этой настройки — задать количество повторений или определить условие прекращения повторений. Программисты называют повторения итерациями. Каждая итерация цикла обозначает очередной повтор, очередной проход.
Внутри круглых скобок у for-цикла указываются параметры. Эти параметры разделяются точкой с запятой. Параметр может быть пустым. В бесконечной программе задано три пустых параметра для for-цикла.

Первый параметр определяет начальное значение счётчика:

Второй параметр определяет критерий прекращения повторений:

Сейчас программа бесконечно выполняется потому, что значение счётчика не изменяется. Т. е. i всегда ноль. Изменяется счётчик третьим параметром:

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

  • Будьте внимательны к точке с запятой и её отсутствию. Если поставить точку с запятой до фигурных скобок, то повторения не произойдут. Цикл-for посчитает, что его задача повторять пустое выражение.
Обязательно научитесь писать эту простейшую программу по памяти. Поймите принцип, чтобы было легче. Когда научитесь – начинайте использовать знания, полученные на прошлых уроках.
  • 1. Попробуйте вывести на экран только четные натуральные числа от некоторого указанного вами значения до какого-то другого указанного вами значения по возрастанию.
  • 2. Попробуйте вывести на экран числа, делящиеся на три, по возрастанию.
  • 3. Попробуйте вывести на экран числа от 20 до 1 в порядке убывания.
  • 4. Если справились, напишите одну программу, которая выполняет все 3 задания.
i++ то же, что i=i+1
i+=10 то же, что i=i+10
i*=3 то же, что i=i*3
i/=3 то же, что i=i/3
  • Никогда, вообще никогда не изменяйте одну и ту же переменную сразу и в параметрах for-цикла, и внутри повторямего кода:

Чтобы освоить этот материал C++ для начинающих, может потребоваться время. Кто-то поймет быстро, а кто-то потратит больше времени, чем хотел бы. Главное, не сдавайтесь, постоянно повторяйте несложные упражнения, чтобы руки до автоматизма знали как, где и что нужно писать. Если возникли какие вопросы, то лучше спросите. Я самостоятельно изучаю язык и по себе знаю, какого это, когда абсолютно один. – Приходится очень много искать, читать, и очень много примеров встречается с громоздкими, неудобными и непонятными решениями.
Цикл-for удобно использовать, когда есть чёткий критерий отсчёта повторов.

16 комментариев на «“Цикл for в С++ для начинающих”»

  1. Anonymous:

    ПОМОГЛИ СПАСИБО

  2. Евгений Семикопный:

    Помогите . Научился делать калькулятор , но не знаю как сделать калькулятор который бы после 5 вычислений бы завершал работу Пример //logic if('+'==cOper) dRes=d1+d2; else if ('-'==cOper) dRes=d1-d2; else if ('*'==cOper)2 + 3 = 55 + 5 = 107 * 6 = 411 + 3 = 43 — 2 = 1 << после пятого действия бы он завершил работу . Как всунуть цикл в калькулятор подскажите 🙁 спс большое

  3. Бахадир:

    Отличный сайт! Спасибо за все. Можно изучать здесь.

  4. Помогите, нужно сделать задачу за циклом for
    Вычислить y = sin1(sin1+sin 2)(sin1+sin 2+sin3)…(sin1+sin 2 +sin3+…+sin n)

    Автор сайта отвечает:

    2
    2
  5. Дарья:

    Здравствуйте. Отличный у Вас сайт, но в комментарии, когда Вы писали программу на вычисление суммы синусов у Вас ошибка — точнее не дописана часть программы. Для более лучшего понимания уберем sin. Т.е. получается надо вычислить: (1+2)*(3+4)*… Возьмем для сравнения по N=4. По Вашей программе получается: i=1 sum=1 pro=1 — должна быть 0 т.к. еще надо сложить (1+2)…дальше ошибка возрастает с прогрессией и при N=4 pro=180 (а должно быть 21). Правильная программа будет иметь вид:
    int j, N, z, sum=0, pro=1; //lдля суммы можно использовать и целые числа
    //Дальше ввод N с клавиатуры
    for(j=1; j<=N; j++)
    {
    if(!(!(j%2))) z=i;
    if(!(j%2))
    {
    sum=z+i;
    pro=pro*sum;
    cout<<"\n"<<pro; //Чтобы видеть все значения
    }
    }

    Автор сайта отвечает:
    при N=4 должно срабатывать
    1*(1+2)*(1+2+3)*(1+2+3+4)
    все это дело = 180.
    ==============================
    и не понял вообще каким боком ноль). Я на ноль нигде не умножаю.
    Внимательнее будьте. Всмотритесь в формулу которую товарищ просил использовать.
    и зачем вы так сложно пишете?
    ваша программа должна выглядеть как-то так

    Да похоже немного не досмотрела зато потренировалась в написании программы на другой манер. Спасибо!

  6. Саня:

    Объясните пожалуйста глупому идиоту как получаеться 500500 ? Как работает эта формула не пойму

  7. Гульназ:
    почему в цикле for (double i=-1; i<=1; i=i+0.1)  0 равен -1.38778e-016
    for(double i=-1; i<=1;i=i+0.1)
    cout<<i<<"\n";

    результат

    -1
    -0.9
    -0.8
    -0.7
    -0.6
    -0.5
    -0.4
    -0.3
    -0.2
    -0.1
    -1.38778e-016
    0.1
    0.2
    0.3
    0.4
    0.5
    0.6
    0.7
    0.8
    0.9
    1
  8. Диана:

    Помогите,пожалуйста,решить задачку на С++

    Дана последовательность целых чисел a1, a2, …, an.
    Вывести на печать только те числа, для которых ai >= i.

  9. Максим:

    сайт гавно

  10. Добрий день!Поможіть,будь ласка, зробити завдання.

    • Исправить?

  11. Добрий день!Допоможіть,будь ласка,виконати завдання:
    #include»stdafx.h»
    #include
    using namespace std;
    int main()

    {int i;s;
    s=0;
    for (i=1;i<=5;i++){s=s+i;}
    cout<<s<<endl;
    return 0;
    }

  12. Тина:

    Здравствуйте. Подскажите, пожалуйста, как с помощью оператора for вывести на экран одно и тоже слово несколько раз. Например, задача: Дано натуральное число N (1<=N<=100). Вывести свое имя N раз.
    Спасибо

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/mark-pilgrim/pogruzhenie-v-html5-2/?lfrom=15589587
Яндекс.Метрика