Условие задачи : Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно и вывести сам ряд.
Сложность : легкая .
Для решения задачи нам понадобиться две переменные для чисел A и B , одна переменная в которую мы занесем сумму ряда и еще одна переменная для цикла for , т.е. переменная счетчик.
Давайте создадим каркас , объявим переменные и попросим пользователя ввести A и B :
uses crt ; var A , B , i , sum : integer ; begin write('Введите А : '); readln(A); write('Введите B : '); readln(B); end.
Теперь у нас есть так называемые границы. Но а что если пользователь введет A больше B? Такого по условию быть не должно так что мы должны прописать некое условие :
if A > B then Halt else ...
То есть если пользователь вводит A больше B мы просто закрываем программу. А если он ввел все правильно мы делаем следующее :
if A > B then Halt else begin sum := 0 ; for i:=A to B do sum := sum + i ; end;
Что мы тут делаем? Для начала мы нашей переменной sum присваиваем 0, так как для работы с переменной надо всегда ей присвоить какое-то значение.
Ну а дальше мы просто делаем цикл от А до В . Здесь А и В служат нам началом и концом цикла, т.к. именно от А до В нам надо найти сумму.
Нам осталось вывести ряд и сумму. Ряд мы будем выводить тогда когда ищем сумму(см.весь код программы), а для того чтобы вывести сумму нам достаточно воспользоваться оператором writeln();
Весь код программы :
uses crt ; var A , B , i , sum : integer ; begin clrscr; {очищаем экран} writeln('Число B должно быть меньше A !!!'); {не большая подсказка пользователю} write('Введите А : '); readln(A); write('Введите B : '); readln(B); if A > B then Halt else begin sum := 0 ; write('Ваш ряд : '); for i:=A to B do begin write(i , ' | '); {выводим ряд} sum := sum + i ; end; end; writeln; {перенос на другую строку. Убери посмотрите что будет без него} writeln('Сумма ряда = ', sum); readln; {чтобы программа не закрывалась} end.