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


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

☰ Теория

Попробуем написать программу для решения следующей задачи:
Найти сумму всех целых чисел от 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; i<=500; i++)  //заголовок цикла, в котором переменная i меняет свое значение от 100 до 500 с шагом 1
    s = s + i;   //тело цикла, в котором мы постепенно к переменной s добавляем значение изменяющейся переменной i 
                 // и результат сохраняем обратно в переменной s
Данное решение очень похоже на вычисление суммы по действиям
 s = 0 + 100 = 100
 s = 100 + 101 = 201
 s = 201 + 102  = 303
и т.д.

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

Вставьте недостающие фрагменты кода
Java
1
import java.util.Scanner; 
2


                                                   
3
public class Main 
4
{ 
5
    public static void main(String[] args) { 
6
        Scanner in = new Scanner(System.in); 
7
        int i, s, b; 
8
9
        s = 0;  //обнуляем переменную s, чтобы накапливать результат суммы 
10
11
            s = s + i;  // накопление суммы 
12
        System.out.println(s); 
13
    } 
14
}