i = 1 1! = 1
i = 2 2! = 2
i = 3 3! = 6
I = 4 4! = 24
…… ………
7. Внести такие изменения в программу, чтобы результаты пошагового вычисления выдавались в виде:
Вычисление факториала по шагам:
Номер шага i Значение факториала i!
1 1
2 2
3 6
4 24
…… ………
Задание к лабораторной работе №3.
Тема: применение операторов цикла с параметром, с предусловием и с постусловием. Программирование рекуррентных соотношений.
Часть 1 .
1. Задается целое положительное число N. Набрать и запустить на решение программу вычисления значения Y по формуле:
Y = (1+(2+(3+…(N-1+(N)1/2)1/2…)1/2 )1/2 )1/2.
Здесь принципиально важно применить вариант оператора цикла с параметром с изменением значения параметра по нисходящей, так как вычисление начинается с оператора sqrt(n) и заканчивается оператором sqrt(1+sqrt(…)).
{ Программа вычисления вложенных друг в друга N корней квадратных.}
program sqrt_n;
var i,n:integer;y:real;p:char;
begin write (‘Введи целое положительное N= ’);readln(n);
y:=0;
for i:=n downto1 do y:=sqrt(y+i);
writeln(‘При N = ’,n,’ Y = ‘,y:8:3);
readln
end.
2. Внести в программу изменения, позволяющие выдавать на монитор результаты вычисления Y на каждом шаге i.
3. Внести в программу изменения, позволяющие вычислять Y до тех пор, пока разность значений Y на двух последующих шагах больше некоторой заданной (введенной с клавиатуры) величины Е.