понеділок, 23 квітня 2018 р.

Алгоритми різних типів мовою Pascal



Практична робота 39
Алгоритми різних типів алгебраїчного змісту







Завдання 1. Створити, реалізувати алгоритм мовою Pascal, який знаходить значення алгебраїчного виразу з випадковими числами.
 Це лінійний алгоритм, бо містить тільки вираз з алгебраїчними діями.
program tabul1;
var x, y, z, b : real;
begin    write(‘введіть х :’);     readln(x);     write(‘введіть y :’);     readln(y);
   write(‘введіть z :’);      readln(z);
b:=sqr(sin(x))+(sqr(y)+sin(sqr(z))/cos(sqrt(z)))/(z+exp(-x))+abs(55-2*random(99));     
   writeln(‘значення b=’, 5*b-3); end.
Протестуйте цей алгоритм якщо:  1) х= 10; у=7; z=9. 2) х= 100; у=25; z=49.

Завдання 2. Створити, реалізувати алгоритм мовою Pascal, який містить повне розгалуження  if  .. else  і  обчислює значення декількох виразів при виконання умов на знак числа х. 
Це нелінійний алгоритм, бо має розгалуження на дві умови «+х» та «-х».
program tabul2;
var k,a, r,l, n,q,x: integer;
begin
   x:=48-random(80);     writeln('початкове значення х :=',x);
   n:=random(90);     writeln('початкове значення n :=',n);
   a :=random(70);     writeln('початкове значення a :=',a);
  q:=random(60);     writeln('початкове значення q :=',q);
l:=random(60);     writeln('початкове значення l :=',l);
k:=random(60);     writeln('початкове значення k :=',k);
if   x>0   then   begin     k:=2*k+ k*k+25;     r:=2*a+a*a+24;  l:=0; q:=0;  end
         else begin   l:=2*l+1;  q:=q*a+3; k:=0; r:=0;   end;
writeln(‘число х :=’, x);    writeln(‘число k:=’, k);     writeln(‘число r:=’, r);       
writeln(‘число a :=, a);   writeln(‘число q:=, q);   writeln(‘число l :=,l);  end.  
  
Завдання 3. Створити, реалізувати алгоритм мовою Pascal, який містить вибір  case..  
Це нелінійний алгоритм, бо містить вибір на 6 випадків для цілих значень k від 0 до 5.
program tabul3;
var a, r, l, n, y, x: realk: integer;
begin
   x:=random(80);     writeln('початкове значення х :=',x);
   n:=random(90);     writeln('початкове значення n :=',n);
   a :=random(70);     writeln('початкове значення a :=',a);
  y:=random(60);     writeln('початкове значення y :=',y);
l:=random(60);     writeln('початкове значення l :=',l);
k:=random(6);     writeln('початкове значення k :=',k);
case k of
    1: a:=abs(20*sqrt(a) - 40.567/ln(a));
    2: n:=25/sqr(l)+6.89*exp(-n);
    3: x:=6/sin(-n)+7*cos(y);
    4: r:=6*sin(n)+7.7*cos(-y);
    else y:=0;  n:=0; x:=0; r:=0; a:=0; end;
writeln(‘r:=, r);   writeln(‘y :=’, y);   writeln(‘k:=’, k);    writeln(‘n:=’, n);       
writeln(‘число a :=, a);   writeln(‘число l:=, l);  writeln(‘***********’);  end.    

Завдання 4. Створити, реалізувати алгоритм мовою Pascal, який містить два рази повторення з лічильником  k
Це нелінійний алгоритм, бо має два цикли з лічильниками
program tabul4;
var x : array[1..5] of real;          a,b,y : real;             i : integer;
begin     a:=round(sqrt(random(45)))-2*sqr(round(random(70)))+25;     writeln(' a:=', a);
b :=10*round(40/sqr(a)) - 3*round(random(70));     writeln('початкове значення b :=', b);
  for i:=1 to 5 do   begin  x[i]:=10- round(random(70));   write(‘    x[’,i,’]=’, 2+6*x[i]);     end;

 for i:=1 to 5 do  begin  y:=-a*sqr(x[i])+b; writeln(‘   x=’,8*x[i], ‘    y=’, 30+0.34*y);   end; end.



Немає коментарів:

Дописати коментар