Арифметическая прогрессия - Pascal
Формулировка задачи:
Добрый день помогите со следующим задание по по программированию на языке pascal. Задание:
Составить программу, вычисляющую сумму возрастающей арифметической прогрессии прямым суммированием слагаемых. Определить минимальное число слагаемых, нужных для переполнения слова. Программа не должна выдавать ошибку переполнения. С клавиатуры задается начальный член и шаг прогрессииРешение задачи: «Арифметическая прогрессия»
textual
Листинг программы
var a,d,k,s:integer; begin write('vvedite 1 element progressii ->'); readln(a); write('vvedite shag progressii ->'); readln(d); s:=a; k:=1; while maxint-s>=a+d do begin a:=a+d; s:=s+a; inc(k); end; writeln('summa=',s); writeln ('kol-vo dlya perepolneniya=',k+1); end.
Объяснение кода листинга программы
- Переменные
a
,d
,k
,s
объявляются как целочисленные. - Пользователю предлагается ввести первый элемент прогрессии.
- Пользователю предлагается ввести шаг прогрессии.
- Переменная
s
инициализируется значением переменнойa
. - Переменная
k
инициализируется значением 1. - Запускается цикл while, который выполняется до тех пор, пока значение переменной
s
не превысит максимальное значение для типа данных integer, увеличенное на значение переменнойa
иd
. - Внутри цикла значение переменной
a
увеличивается на значение переменнойd
. - Значение переменной
s
увеличивается на значение переменнойa
. - Значение переменной
k
увеличивается на 1. - По завершении цикла выводится значение переменной
s
. - Выводится количество элементов, которые нужно добавить, чтобы прогрессия была полной.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д