Блок-схема главной программы

 
 


Блок-схема функции вычисления факториала

Блок-схема процедуры вычисления суммы


Блок-схема процедуры вычисления произведения


Текст программы на языке Паскаль

program lb3;

uses crt;

var a:integer;

q:char;

function factorial(n:integer):longint; //функция Факториал

begin

if n<=1 then factorial:=1

else factorial:=n*factorial(n-1);

end;

procedure sum; //процедура Сумма

var accur,sum,x:real;

n:integer;

begin

write('Введите точность:');

readln(accur);

sum:=0;n:=1;

repeat

x:=(n+1)/(2*factorial(n));

sum:=sum+x;

n:=n+1;

until x<=accur;

writeln('Сумма:',sum:7:7);

writeln('Последнее значение:',x:7:7);

writeln('Число значений:',n-1);

end;

procedure production; //процедура Произведение

var prod,x,v,z:real;

n:integer;

begin

write('Введите некоторое значение:');

readln(v);

prod:=1;n:=0;

while prod<=v do

begin

n:=n+1;

z:=prod;

x:=(sqrt(factorial(n))+8*n)/(3*n-2);

prod:=prod*x;

end;

writeln('m=',n-1);

writeln('Произведение:',z:5:2);

end;

begin //главное тело

repeat

clrscr;

writeln('Нажмите "1", чтобы запустить сумму');

writeln('Нажмите "2", чтобы запустить произведение');

readln(a);

case a of

1:sum;

2:production;

end;

writeln;

write('Повторить?(Y/N)_');

q:=readkey;

until (q='N') or (q='n');

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: