Цикл факториала - Turbo Pascal
Формулировка задачи:
Заранее спасибо.
Вот
Решение задачи: «Цикл факториала»
textual
Листинг программы
var i: integer;
x, y, a, s: real;
begin
write('x = ');
readln(x);
write('y = ');
readln(y);
if x = 1
then write('Error: zero divide.')
else begin
s := 0;
a := 1;
for i := 2 to 6 do
begin
a := a / i;
s := s + a
end;
s := (5 * y * y + x * s) / (x + 1);
write('S = ', s)
end;
readln
end.
Объяснение кода листинга программы
- Переменная i инициализируется значением 1.
- Переменные x и y инициализируются значениями, введенными пользователем.
- Если x равно 1, выводится сообщение об ошибке
Error: zero divide.. - Иначе, переменные s и a инициализируются значениями 0 и 1 соответственно.
- Затем, в цикле от 2 до 6 (не включая 6), выполняется следующая последовательность действий:
- Переменная a делится на текущее значение i.
- Переменная s увеличивается на значение a.
- Значение s и a присваивается переменной s.
- Затем, значение s умножается на 5, значение y умножается на себя, и результат умножения присваивается переменной s.
- Затем, значение x и s складываются и результат присваивается переменной s.
- Значение s затем делится на (x + 1).
- Результат деления выводится на экран.
- Программа завершается, и пользователь приглашается ввести еще один набор значений.