ТОП 10:

Разветвляющиеся алгоритмы. Алгоритм вычисления арксинуса - агсsin х.



В таких алгоритмах делается выбор: выполнять или не выполнять какую-нибудь группу команд в зависимости от условия, т.е. выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.

Признаком разветвляющегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения (проверяемое условие) и в зависимости от истинности или ложности проверяемого условия для выполнения выбирается та или иная ветвь алгоритма.

В логических выражениях используется операция сравнения: < (меньше), > (больше), <= (меньше или равно), >= (больше или равно), = (равно), <> (не равно). Часто встречаются задачи, в которых используются не отдельные условия, а совокупность связанных между собой условий (отношений). Для связи используются AND и (или) OR.

Арксинус(х). Алгоритм

А)Если |x|<1, то арксин(х)

Б)Если |x|=1, то арксин(х)=sign(x)

В)Если |x|>1, то вывести сообщение об ошибке.

 

Программа вычисления арксинуса - Агcsin.

Program ArcSin;

Uses сrt;

Const one=’------------------------‘;

two=’------------------------‘;

nl=#13#10;

Var x,t,ypribl,ycontr:real;

Begin

Clrscr;

Write(‘Введите x==>’);

Readln(x);

Clrscr;

Writeln(nl,nl,two,nl,’Вычисление arcsin’,

Nl,’ x=’,x:7:3);

If abs(x)<1

Then begin

t:=x*x;

ypribl:=(((5*t/112+3/40)*t+1/6)*t+1)*x;

end;

else

if abs(x)>1

then begin

writeln(‘Ошибка!’);

halt end;

else

if x=1 then ypribl:=pi*0.5;

else ypribl:=-pi*0.5;

if abs(x)=1

then y contr:=ypribl

else ycontr:=arctan(x/sqrt(1-x*x));

writeln(nl,one,nl,’ Ответы:’,

nl,’ ypribl=’,ypribl:>:4,

nl,’ ycontr=’,ycontr:z:4,

nl,two,nl,’Press Enter!’:40);

readln;

end.

 

5. Программа расчета машинного "эпсилона" - Ерsilon.

Program Epsilon;

{Программа вычисляет и выводит на экран значение "машинного эпсилон"}

Var;

epsilon: Real;

begin

epsilon := 1;

while epsilon/2 + 1 > 1 do

epsilon := epsilon/2;

WriteLn('Машинное эпсилон = ',epsilon);

Readln;

end.

 

6. Циклические алгоритмы. Программа вычисления конечного произведения (степени числа а).

Алгоритмы, содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз ( или не разу), до тех пор, пока выполняются некоторые условия.

Цикл с параметром, предусловием и постусловием.

Программа вычисления конечного произведения (степени числа а).

Program Production;

Uses сrt;

Const nl=#13#10; one=’------------------------‘;

Var a,p:real;

i,n:integer;

Begin

Clrscr;

Write(‘Введите основание и показатель степени ==>’);

Readln(a,n);

Clrscr;

Writeln(nl,nl,one,nl,’Введите число а ’,

a:6:2,’ в степени’, n:3,’ даёт: ‘);

If n=0

Then p:=1

else begin

p:=a;

for i:=2 to abs(n) do p:=p*a;

if n<0 then p:=1/p;

end;

writeln(p:9:2,nl,one,nl,‘Нажмите клавишу «Enter»!’);

readln;

end.

 

Циклические алгоритмы. Алгоритм вычисления бесконечного произведения.

Алгоритмы, содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз ( или не разу), до тех пор, пока выполняются некоторые условия.

Цикл с параметром, предусловием и постусловием.

 

8. Циклические алгоритмы. Программа вычисления бесконечного произведения.

Алгоритмы, содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз ( или не разу), до тех пор, пока выполняются некоторые условия.

Цикл с параметром, предусловием и постусловием.

Программа вычисления гипотенуз с использованием функции Роwer.

Program Using Function;

Uses сrt;

Const nl=#13#10; one=’------------------------‘;

Var a,b,hyp:real;

i:integer;

Function Power(a:real; n:integer):real;

Var i:integer;

res:real;

begin

if n=0

then power:=1

else begin

res:=a

for i:=2 to abs(n) do res:=res*a;

if n>0 then power:=res else power:=1/res;

end; {power}

Begin

Clrscr;

Write(‘Введите катет а ==>’);

Readln(a);

Clrscr;

b:=a*0.25;

for i:=1 to 5 do

begin

hyp:=sqrt(power(a,2)+power(b,2));

writeln(i:2, a:7:2, b:7:2, hyp:9:2);

end;

writeln(‘Press Enter!’:20);

readln;

end.

 







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.30.155 (0.007 с.)