Результати роботи програми

Міністерство освіти і науки, молоді та спорту України

Черкаський державний технологічний університет

Факультет інформаційних технологій і систем

 

Кафедра комп’ютерних технологій

 

 

Дисципліна:

Теорія алгоритмів

 

 

З В І Т

З лабораторної роботи № 1-2

Тема: „Алгоритми та їх властивості”

студента 2-го курсу спеціальності «_____________________________»

Бондар Олени Володимирівни

 

 

_________________ ______________

(Дата) (Підпис студента)

 

 

Оцінка __________________

 

Перевірено ______________

(Дата)

Викладач ________________ /_____________________/

(Підпис) (Прізвище та ініціали)

 

 

Черкаси – 2012 р.

З В І Т

про виконання індивідуального завдання № 1

Тема:„Алгоритми та їх властивості”

Мета роботи:ознайомитись з інтуїтивним поняттям алгоритму, властивостями алгоритмів, зі способами їх подання та розглянути приклади алгоритмів; дізнатись про базові структури алгоритмів та про їх реалізацію в мовах програмування (Pascal, C) а також ознайомитись з основними типами алгоритмів та розглянути приклади алгоритмів різних типів.

Завдання

Завдання 1.Побудувати алгоритм знаходження дійсних коренів квадратного рівняння , де a,b,c – довільні дійсні числа.

Виконання:

Блок-схема

 

   
 
 
 

 


+ -

       
   
 


+ -

           
     
 
 
 


+ -

           
   
     
 
 
 


 

 
 


+ -

       
   
 


 

           
     
 
 
 

 


+ -

       
   


 

 

               
   
   
   
 
 
 

 


 
 


Лістинг програми (Pascal)

Programrivnannya;

usescrt;

vara,b,c,D,x,x1,x2:real;

Begin

clrscr;

writeln('Znahodzhennya koreniv kvadratnogo r-nnya');

writeln('Vvedit koefisienty r-nnya');

write('a='); readln(a);

write('b='); readln(b);

write('c='); readln(c);

if(a=0) and(b=0) and(c=0)

Then

writeln('R-nnya mae bezlich koreniv')

Else

Begin

if(a=0) and(b=0) and(c<>0)

Then

writeln ('Koreniv nenae')

Else

Begin

if(a=0) and(b<>0) and(c<>0)

Then

Begin

x:=-c/b;

writeln('x=',x:6:2);

End

Else

Begin

if(a=0) and(b<>0) and(c=0) or(a<>0) and(b=0) and(c=0)

Then

writeln('x=0')

Else

Begin

D:=sqr(b)-4*a*c;

ifD>=0

Then

Begin

x1:=(-b+sqrt(D))/2*a;

x2:=(-b-sqrt(D))/2*a;

writeln('x1=',x1:6:2,'x2=',x2:6:2);

End

Else

writeln('Diysnuh koreniv nemae');

end;

end;

end;

end;

readkey;

end.

Результати роботи програми

 

Рис.1

 

 

Рис.2

 

Завдання 2.Задано довжини трьох відрізків a,b,c. Скласти алгоритм, за допомогою якого можна визначити чи існує трикутник із сторонами a,b,c чи ні і якщо трикутник існує, то знайти його площу за допомогою формули Герона.

Виконання:

Блок-схема

 
 


 
 


+ -

       
   
 


 
 


       
   
 
 


 
 


Лістинг програми (Pascal)

Programheron;

usescrt;

vara,b,c,p,S: real;

Begin

clrscr;

writeln('Isnyvannya trikytnika');

writeln('Vvestu dovzhiny storin');

write('a='); readln(a);

write('b='); readln(b);

write('c='); readln(c);

if(a+b>c) and(a+c>b) and(b+c>a)

Then

Begin

p:=(a+b+c)/2;

S:=sqrt(p*(p-a)*(p-b)*(p-c));

writeln('Trikutnuk isnue i mae ploschy S=',S:6:2);

End

Else

writeln('Trikutnuk ne isnye');

readkey;

end.

Результати роботи програми

Рис.3

 

Завдання 3.Задано два натуральних числа a,b. Побудувати алгоритм Евкліда для знаходження НСД цих чисел.

Виконання:

Блок-схема

 
 

 
 


+ -

       
   


           
     
 
 


 
 


Лістинг програми (Pascal)

programevklid;

usescrt;

vara, b :integer;

functionnsd(x, y : integer):integer;

Begin

ifx<>0 thennsd:=nsd(y modx, x)

elsensd:=y;

end;

Begin

writeln('Vvedit chisla a i b: ');

write('a = '); readln(a);

write('b = '); readln(b);

writeln('NSD chisel ', a, ' i ', b, ' = ', nsd(a, b));

readkey;

end.

 

Результати роботи програми

Рис.4

Завдання 4.Скласти алгоритм, за допомогою якого можна знайти кількість натуральних чотирьохзначних чисел, які діляться на 23 і свою останню цифру.

Виконання:

Блок-схема

 
 


 
 


+ -

       
   
 


 
 


+

+

 
 


 
 


       
   
 
 


Лістинг програми (Pascal)

programd23;

usescrt;

vari,k: integer;

Begin

clrscr;

i := 989;

k:=0;

writeln('Dilyatsia na 23:');

Repeat