Условие задачи: Даны два целых числа A,B (A<B). Найти сумму целых чисел от A до B,которые делятся на пять. (Язык Pascal)
Сложность: легкая.
Решение задачи
Для начала продумаем наше решение. Мы введем два числа, проверим их на условие (A < B), потом сделаем цикл от A до B и в нем будем проверять каждое число, делится ли оно на 5, если да, то увеличим сумму.
Для того чтобы решить задачу нам понадобятся следующие переменные :
- Переменная A — для первого числа
- Переменная B — для второго числа
- Переменная i — для цикла for
- Переменная sum — для суммы
Начнем мы с каркаса нашей программы
1
2
3
4
5
6
|
var A, B, i, sum : integer ; begin write ( 'Введите A : ' );readln(A); write ( 'Введите B : ' );readln(B); end . |
Тут мы объявили все переменные и попросили пользователя ввести числа A и B. Дальше нам надо проверить условие (A < B), пишем:
1
2
3
4
5
|
if (A > B) then begin writeln ( 'Нужно ввести А меньше чем В ' ); halt; end ; |
Т.е. если (A > B), то мы просто выходим из программы, с помощью процедуры halt.
Ну а теперь цикл, в нем мы проверим делится ли каждое число на 5 с помощью операции mod, которая ищет остаток от деления, подробнее ( тут ).
1
2
3
4
5
|
for i:=A to B do begin if (i mod 5 = 0 ) then sum := sum + i; end ; |
Вот и всё. Каждое число которое делится на пять прибавляем к общей сумме.
Всё решение задачи Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
var A, B, i, sum : integer ; // объявляем переменные begin write ( 'Введите A : ' );readln(A); // вводим А write ( 'Введите B : ' );readln(B); // вводим В sum := 0 ; // обнуляем сумму чтобы не было ошибок if (A > B) then // если A > B begin writeln ( 'Нужно ввести А меньше чем В ' ); // выводим сообщение halt; // выходим из программы end ; for i:=A to B do // делаем цикл begin if (i mod 5 = 0 ) then // если число делится нацело на 5 sum := sum + i; // то увеличиваем сумму на это число end ; writeln ( 'Сумма чисел от ' , A, ' до ' , B , ' равна : ' , sum); // выводим результат readln; // чтобы программа не закрывалась end . |