Міністерство освіти і науки, молоді та спорту України
Черкаський державний технологічний університет
Факультет інформаційних технологій і систем
Кафедра комп’ютерних технологій
Дисципліна:
Теорія алгоритмів
З В І Т
З лабораторної роботи № 1-2
Тема: „Алгоритми та їх властивості”
студента 2-го курсу спеціальності «_____________________________»
Бондар Олени Володимирівни
_________________ ______________
(Дата) (Підпис студента)
Оцінка __________________
Перевірено ______________
(Дата)
Викладач ________________ /_____________________/
(Підпис) (Прізвище та ініціали)
Черкаси – 2012 р.
З В І Т
про виконання індивідуального завдання № 1
Тема: „Алгоритми та їх властивості”
Мета роботи: ознайомитись з інтуїтивним поняттям алгоритму, властивостями алгоритмів, зі способами їх подання та розглянути приклади алгоритмів; дізнатись про базові структури алгоритмів та про їх реалізацію в мовах програмування (Pascal, C) а також ознайомитись з основними типами алгоритмів та розглянути приклади алгоритмів різних типів.
Завдання
Завдання 1. Побудувати алгоритм знаходження дійсних коренів квадратного рівняння, де a,b,c – довільні дійсні числа.
Виконання:
Блок-схема
![]() | |
![]() |
+ -
![]() | ![]() | ||
+ -
![]() | ![]() | ||||
![]() | |||||
+ -
![]() | |||||
![]() | |||||
![]() | |||||
![]() |
+ -
![]() | ![]() | ||
![]() | ![]() | ||||
![]() | |||||
+ -
![]() | ![]() |
![]() | |||||||
![]() | |||||||
![]() | |||||||
![]() |
![]() |
Лістинг програми (Pascal)
Program rivnannya;
uses crt;
var a,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;
if D>=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)
Program heron;
uses crt;
var a,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)
program evklid;
uses crt;
var a, b:integer;
function nsd(x, y: integer):integer;
Begin
if x<>0 then nsd:=nsd(y mod x, x)
else nsd:=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)
program d23;
uses crt;
var i,k: integer;
Begin
clrscr;
i:= 989;
k:=0;
writeln('Dilyatsia na 23:');
Repeat