Попробуем написать программу для решения следующей задачи:
Найти сумму всех целых чисел от 100 до 500.
При решении данной задачи возникает трудность в поиске суммы. Если мы будем просто записывать результат сложени в переменную s, например как
s=100+101+102+103+...+500
уйдет очень много времени на саму запись, ведь компьютер не поймет как использовать многоточие в арифметическом выражении и нам прийдется написать все числа от 100 до 500 в эту сумму. Да и ценность такой программы будет ничтожной. Особенно если мы захотим поменять наши числа и взять другой диапазон.
Как же нам поступить?
Если мы обратим внимание на запись выше, то у нас постоянно используется сложение "+".
Можно попробовать добавлять числа к переменной s постепенно. Например, используя такую запись
s := s + i;
что мы здесь сделали:
1) справа мы поставили вычисление выражения s+i, то есть мы берем значение переменной s, которое у нас сейчас в памяти и добавляем к нему значение переменной i
2) слева мы поставили имя переменной s, то есть весь результат вычисления справа будут сохраняться в эту переменную, таким образом мы изменем значение переменной s.
Где же взять числа из нашего диапазона?
Числа от 100 до 500, которые относятся к нашему диапазону должны поочереди попадать в перемнную i. А это можно сделать с использованием известного нам цикла for
Например, таким образом
s := 0; //в начале необходимо обнулить переменную s, чтобы на первом шаге число 100 добавлялось к нулю, а не к тому, что в памяти!
for i := 100 to 500 do //заголовок цикла, в котором переменная i меняет свое значение от 100 до 500 с шагом 1
s := s + i; //тело цикла, в котором мы постепенно к переменной s добавляем значение изменяющейся переменной i
// и результат сохраняем обратно в переменной s
Данное решение очень похоже на вычисление суммы по действиям
s = 0 + 100 = 100
s = 100 + 101 = 201
s = 201 + 102 = 303
и т.д.