Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program project_1;
- uses Crt;
- Var
- // далее напишем 3 функции,которые считают sin(x), cos(x), exp(x)
- // при данном X и с заданной точностью E
- // Если что, чтобы посмотреть значения рядов, погуглите Ряды Маклорена,там все есть
- //_____________________________________
- function SUM_SIN (x:real, E:real): real
- var ch,n,i:real;
- // ch и n используем для факториала в знаменателе каждого нового слагаемого
- // чтобы посчитать значение факториала
- begin
- SUM_SIN:=0;
- n:=1*2*3; // 3 факториал
- ch:=4;
- i:=x;
- while i>E do
- begin
- SUM_SIN:=SUM_SIN+i;
- i:=i*x*x/n;
- n:=n*ch*(ch+1);
- ch:=ch+2;
- end;
- end;
- //_____________________________________
- function SUM_COS (X:real, E:real): real
- var ch,n,i:real;
- // ch и n используем для факториала в знаменателе каждого нового слагаемого
- // чтобы посчитать значение факториала
- begin
- SUM_COS:=0;
- n:=1*2; // 2 факториал
- ch:=3;
- i:=1;
- while i>E do
- begin
- SUM_COS:=SUM_COS+i;
- i:=-i*x*x/n;
- n:=n*ch*(ch+1);
- ch:=ch+2;
- end;
- end;
- //_____________________________________
- function SUM_EXP (X:real, E:real): real
- var ch,n,i:real;
- // ch и n используем для факториала в знаменателе каждого нового слагаемого
- // чтобы посчитать значение факториала
- begin
- SUM_EXP:=0;
- n:=1; // 1 факториал
- ch:=2;
- i:=1;
- while i>E do
- begin
- SUM_EXP:=SUM_EXP+i;
- i:=i*x/n;
- n:=n*ch;
- ch:=ch+1;
- end;
- end;
- Begin
- writeln('введите с клавиатуры x и погрешность');
- readln(_x, _e);
- writeln('выберите пункт меню');
- writeln('0 - нами посчитанный sin')
- writeln('1 - нами посчитанный cos')
- writeln('2 - нами посчитанная exp')
- writeln('3 - реальное значение sin')
- writeln('4 - реальное значение cos')
- writeln('5 - реальное значение exp')
- readln(n);
- case n of
- '0': begin writeln(SUM_SIN(_x,_e)); end;
- '1': begin writeln(SUM_COS(_x,_e));end;
- '2': begin writeln(SUM_EXP(_x,_e));end;
- '3': begin writeln(Sin(x)); end;
- '4': begin writeln(Cos(x));end;
- '5': begin writeln(Exp(x));end;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement