Программирование алгоритмов разветвляющейся структуры

Примеры алгоритмов и программ

Программирование алгоритмов линейной структуры

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Пример. Вычислить значение функции y=sin x+ex+2, где x=ln a+ Программирование алгоритмов разветвляющейся структуры - student2.ru ,

b=cos 3a, a=7,25.

Блок-схема алгоритма

Расчет контрольного примера (к.п.)

Программирование алгоритмов разветвляющейся структуры - student2.ru ;

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Паскаль-программа

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

x=lna+ Программирование алгоритмов разветвляющейся структуры - student2.ru
Program prim1;

var a,b,x,y:real;

Программирование алгоритмов разветвляющейся структуры - student2.ru

y=sinx+ex+2 Программирование алгоритмов разветвляющейся структуры - student2.ru
begin

write (‘Введите а=’); readln (a);

b:=cos(a)*cos(a)*cos(a);

x:=ln(a)+sqrt(abs(b));

Программирование алгоритмов разветвляющейся структуры - student2.ru y:=sin(x)+exp(x+2);

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru writeln (‘b=’,b:1:3, ‘ x=’,x:1:3,’ y=’,y:1:3);

end.

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Контрольный пример:

Введите а=1

b=0.158 x=0.397 y=11.379

Вывод: программа работоспособна, т. к. значения результатов контрольного примера ручного и машинного счета приблизи-тельно совпадают.

Результат:

Введите а=7.25

b=0.183 x=2.409 y=82.855



Программирование алгоритмов циклической структуры

Пример. Вычислить значение функции

Программирование алгоритмов разветвляющейся структуры - student2.ru , где Программирование алгоритмов разветвляющейся структуры - student2.ru

при а, изменяющемся от ан до ак,

с шагом Δа

aн=2, ак=3, Δа=0,2

а) с использованием оператора цикла с предусловием while

Блок-схема алгоритма

Программирование алгоритмов разветвляющейся структуры - student2.ru Паскаль-программа

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Program prim31;

Программирование алгоритмов разветвляющейся структуры - student2.ru var an,ak,da,a,x,y:real;

begin

Программирование алгоритмов разветвляющейся структуры - student2.ru write(‘Введите an,ak,da=’);

  a=aн
readln(an,ak,da);

a:=an;

Программирование алгоритмов разветвляющейся структуры - student2.ru while a<=ak+0.0001 do

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru begin

Программирование алгоритмов разветвляющейся структуры - student2.ru нет x:=ln(a);

Программирование алгоритмов разветвляющейся структуры - student2.ru y:=exp(1/3*ln(abs(sin(x))));

Программирование алгоритмов разветвляющейся структуры - student2.ru да writeln(‘a=’,a:3:1,’ x=’,

  x=lna
x:5:3,’ y=’,y:5:3);

a:=a+da;

Программирование алгоритмов разветвляющейся структуры - student2.ru end;

end.

       
    Программирование алгоритмов разветвляющейся структуры - student2.ru
  Программирование алгоритмов разветвляющейся структуры - student2.ru
 

Программирование алгоритмов разветвляющейся структуры - student2.ru Результаты

  a=a+Δa
Введите an,ak,da=2 3 0.2

a=2.0 x=0.693 y=0.861

Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.2 x=0.788 y=0.892

a=2.4 x=0.875 y=0.916

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.6 x=0.956 y=0.935

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.8 x=1.030 y=0.950

Программирование алгоритмов разветвляющейся структуры - student2.ru a=3.0 x=1.099 y=0.962



б) с использованием оператора цикла с постусловием repeat-until

Блок-схема алгоритма Паскаль-программа

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Program prim32;

Программирование алгоритмов разветвляющейся структуры - student2.ru var an,ak,da,a,x,y:real;

Программирование алгоритмов разветвляющейся структуры - student2.ru begin

write(‘Введите an,ak,da=’);

readln(an,ak,da);

Программирование алгоритмов разветвляющейся структуры - student2.ru a:=an;

а=ан
repeat

Программирование алгоритмов разветвляющейся структуры - student2.ru x:=ln(a);

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru y:=exp(1/3*ln(abs(sin(x))));

x=ln(a)
writeln(‘a=’,a:3:1,’ x=’,x:5:3,

Программирование алгоритмов разветвляющейся структуры - student2.ru ‘ y=’,y:5:3);

Программирование алгоритмов разветвляющейся структуры - student2.ru
a:=a+da;

until a>ak;

Программирование алгоритмов разветвляющейся структуры - student2.ru end.

Программирование алгоритмов разветвляющейся структуры - student2.ru

       
    Программирование алгоритмов разветвляющейся структуры - student2.ru
  Программирование алгоритмов разветвляющейся структуры - student2.ru
 

Результаты

Программирование алгоритмов разветвляющейся структуры - student2.ru
Введите an,ak,da=2 3 0.2

Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.0 x=0.693 y=0.861

Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.2 x=0.788 y=0.892

Программирование алгоритмов разветвляющейся структуры - student2.ru нет a=2.4 x=0.875 y=0.916

a=2.6 x=0.956 y=0.935

Программирование алгоритмов разветвляющейся структуры - student2.ru да a=2.8 x=1.030 y=0.950

Программирование алгоритмов разветвляющейся структуры - student2.ru a=3.0 x=1.099 y=0.962



в) с использованием оператора цикла с параметром for

Блок-схема алгоритма

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Паскаль-программа

Программирование алгоритмов разветвляющейся структуры - student2.ru Program prim33;

n=[(aкн)/ Δa]+1
var an,ak,da,a,x,y:real;

i,n:integer;

Программирование алгоритмов разветвляющейся структуры - student2.ru begin

write(‘Введите an,ak,da=’);

  a= aн
redln(an,ak,da);

n:=trunc((ak-an)/da)+1;

Программирование алгоритмов разветвляющейся структуры - student2.ru a:=an;

Программирование алгоритмов разветвляющейся структуры - student2.ru for i:=1 to n do

begin

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru x:=ln(a);

Программирование алгоритмов разветвляющейся структуры - student2.ru y:=exp(1/3*ln(abs(sin(x))));

  x=lna
writeln(‘a=’,a:3:1,

‘ x=’,x:5:3,’ y=’,y:5:3);

Программирование алгоритмов разветвляющейся структуры - student2.ru a:=a+da;

end;

Программирование алгоритмов разветвляющейся структуры - student2.ru
end.

           
    Программирование алгоритмов разветвляющейся структуры - student2.ru
  Программирование алгоритмов разветвляющейся структуры - student2.ru
    Программирование алгоритмов разветвляющейся структуры - student2.ru
 

Результаты

Введите an,ak,da=2 3 0.2

Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.0 x=0.693 y=0.861

  a=a+Δa
a=2.2 x=0.788 y=0.892

a=2.4 x=0.875 y=0.916

Программирование алгоритмов разветвляющейся структуры - student2.ru a=2.6 x=0.956 y=0.935

a=2.8 x=1.030 y=0.950

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru a=3.0 x=1.099 y=0.962

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru


Программирование алгоритмов разветвляющейся структуры

Пример. Вычислить значение функции. Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru если Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

а) с использованием условного оператора if-then-else

Программирование алгоритмов разветвляющейся структуры - student2.ru Паскаль-программа

Программирование алгоритмов разветвляющейся структуры - student2.ru Program prim21;

Программирование алгоритмов разветвляющейся структуры - student2.ru var a,b,c,x,y:real;

n:integer;

Программирование алгоритмов разветвляющейся структуры - student2.ru begin

Программирование алгоритмов разветвляющейся структуры - student2.ru
write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

Программирование алгоритмов разветвляющейся структуры - student2.ru c:=x*a; b:=x+a;

c=xa b=x+a
if c<=0 then

begin y:=-10.5; n:=1; end

Программирование алгоритмов разветвляющейся структуры - student2.ru else

Программирование алгоритмов разветвляющейся структуры - student2.ru if c=>3.5 then

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru да begin y:=c+ln(b); n:=3; end

else

Программирование алгоритмов разветвляющейся структуры - student2.ru нет begin y:=exp(c)+2*b; n:=2; end;

Программирование алгоритмов разветвляющейся структуры - student2.ru writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ y=’,

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru да y:1:3,’ n=’,n);

end.

Программирование алгоритмов разветвляющейся структуры - student2.ru нет

y=eс+2b, n=2
y=c+lnb, n=3
Результат

y=-10.5, n=1
Введите а=7.35

           
    Программирование алгоритмов разветвляющейся структуры - student2.ru   Программирование алгоритмов разветвляющейся структуры - student2.ru
  Программирование алгоритмов разветвляющейся структуры - student2.ru
 
 

x=1.927 c=14.162 y=16.389 n=3

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru



б) c использованием оператора выбора case

Программирование алгоритмов разветвляющейся структуры - student2.ru Паскаль-программа

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru Program prim22;

var a,b,c,x,y:real;

Программирование алгоритмов разветвляющейся структуры - student2.ru k:integer;

  Программирование алгоритмов разветвляющейся структуры - student2.ru
begin

write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

Программирование алгоритмов разветвляющейся структуры - student2.ru c:=x*a; b:=x+a;

c=x·a b=x+a
if c<=0 then k:=1 else

if c<=3.5 then k:=2 else k:=3;

Программирование алгоритмов разветвляющейся структуры - student2.ru case k of

Программирование алгоритмов разветвляющейся структуры - student2.ru 1: y:=-10.5;

Программирование алгоритмов разветвляющейся структуры - student2.ru да 2: y:=exp(c)+2*b;

Программирование алгоритмов разветвляющейся структуры - student2.ru 3: y:=c+ln(b);

Программирование алгоритмов разветвляющейся структуры - student2.ru нет end;

Программирование алгоритмов разветвляющейся структуры - student2.ru да writeln(‘x=’,x:1:3,’ c=’,c:1:3,’

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru =’,y:1:3,’ k=’,k);

Программирование алгоритмов разветвляющейся структуры - student2.ru

  k=1
нет end.

  k=3
  k=2
Результат

Введите а=7.35

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru x=1.927 c=14.162

y=16.389 k=3

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru

нет

       
  Программирование алгоритмов разветвляющейся структуры - student2.ru
    Программирование алгоритмов разветвляющейся структуры - student2.ru
 

  y=-10.5
да k=1

 
  Программирование алгоритмов разветвляющейся структуры - student2.ru

k=2

       
    Программирование алгоритмов разветвляющейся структуры - student2.ru
 
 
  y=c+lnb

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru k=3

         
    Программирование алгоритмов разветвляющейся структуры - student2.ru
 
    Программирование алгоритмов разветвляющейся структуры - student2.ru
 
  Программирование алгоритмов разветвляющейся структуры - student2.ru



ФЕДЕРАЛЬНОЕ БЮДЖЕТНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра вычислительной техники и инженерной кибернетики

КОНТРОЛЬНАЯ РАБОТА 2

ПО ИНФОРМАТИКЕ

ВЫПОЛНИЛ СТ. ГР. ИМЯ ОТЧЕСТВО ФАМИЛИЯ

ШИФР _________   ПРОВЕРИЛ КАНД. ТЕХН. НАУК, ДОЦ. Султанова Е. А.
   

УФА 2016

Наши рекомендации