Модуль: (C++) Оператор цикла For. Типовые задачи


Задача

1/16

Сумма чисел последовательности - Пример 1

Теория Нажмите, чтобы прочитать/скрыть

Задача
Найти сумму всех целых чисел от 100 до 500. 

Напишем программу, которая решает данную задачу, без использования формулы. Если мы будем просто записывать результат сложения в переменную s, например, как
\(s=100+101+102+103+...+500\),

мы потратим очень много времени на саму запись, ведь компьютер не поймет как использовать многоточие в арифметическом выражении и нам придется написать все числа от 100 до 500. Да и ценность такой программы будет ничтожной. Особенно если мы захотим поменять наши числа и взять другой диапазон.

Как же нам поступить?
Если мы обратим внимание на запись выше, то у нас постоянно используется сложение "+".
Можно попробовать добавлять числа к переменной s постепенно. Например, используя такую запись
s = s + i.
Что мы сделали:
1) справа мы поставили вычисление выражения s + i, то есть мы берем значение переменной s и добавляем к нему значение переменной i;
2) слева мы поставили имя переменной s, то есть весь результат вычисления справа будут сохраняться в эту же переменную s, таким образом мы будем изменять значение переменной s
Останется только изменять значение переменной i в нужном диапазоне. Это можно сделать с помощью цикла for.
 
Числа от 100 до 500, которые относятся к нашему диапазону, должны по очереди попадать в переменную i
Пример
// ВАЖНО! В начале необходимо обнулить переменную s, 
// чтобы на первом шаге число 100 добавлялось к нулю, 
// а не к тому что в памяти!
s=0;  
for ( i = 100; i <= 500; i++)  // заголовок цикла, в котором переменная i 
    s = s + i;                    // меняет свое значение от 100 до 500 с шагом 1,
                  // в теле цикла постепенно к переменной s, 
                  // добавляем значение изменяющейся переменной i,
                  // и результат сохраняем обратно в переменной s

Данное решение очень похоже на вычисление суммы по действиям:
\(s = 0 + 100 = 100, \\ s = 100 + 101 = 201, \\ s = 201 + 102  = 303 \\ ... \)

Задача

Запустите разобранную в теоретической части программу на выполнение, посмотрите результат ее работы.