Написать алгоритм, составить блок-схему и отладить программу для определения суммы - Pascal
Формулировка задачи:
Помогите, пожалуйста решить задачу.
Нужно написать алгоритм, составить блок-схему и отладить программу для определения суммы (произведения).
помогите пожалуйста.
Решение задачи: «Написать алгоритм, составить блок-схему и отладить программу для определения суммы»
textual
Листинг программы
const
EPS = 0.0001;
var
s, si: Extended; //Double, Real
a: Single;
i, n: LongWord;
begin
Write('Input n(>0): '); ReadLn(n);
if (n <> 0)
then
begin
Write('Input a: '); ReadLn(a);
if (Abs(a) > EPS)
then
begin
s := 0; si := 1;
for i := 0 to n do
begin
s := s + si;
si := si / a;
end;
WriteLn('S=', s:0:4);
end
else
WriteLn('ERROR! Division by zero!');
end
else
WriteLn('S=', 1);
end.
Объяснение кода листинга программы
- Объявляется константа
EPSсо значением0.0001для указания точности вычислений. - Объявляются переменные:
sтипа Extended для хранения суммы (Double, Real);siтипа Extended для хранения вспомогательной суммы (Double, Real);aтипа Single для ввода значения с клавиатуры;iтипа LongWord для использования в цикле;nтипа LongWord для хранения введенного значения n.
- Пользователю выводится приглашение
Input n(>0):для ввода значения n через стандартный ввод. - Проверяется условие, что
nне равно нулю. - В случае выполнения предыдущего условия, пользователю выводится приглашение
Input a:для ввода значенияaчерез стандартный ввод. - Проверяется условие, что абсолютное значение
aбольшеEPS(установленная точность). - При выполнении предыдущего условия устанавливаются начальные значения переменных:
sустанавливается в 0,siустанавливается в 1. - Запускается цикл от 0 до
n.- На каждой итерации происходит увеличение значения
sнаsi. siделится наa.
- На каждой итерации происходит увеличение значения
- Выводится результат суммы
Sс точностью до 4 знаков после запятой. - Если значение
aне удовлетворяет условию из пункта 6, выводится сообщение об ошибке деления на ноль. - Если введенное значение
nравно 0, выводится сообщениеS=1.