Результати роботи програми
Міністерство освіти і науки, молоді та спорту України
Черкаський державний технологічний університет
Факультет інформаційних технологій і систем
Кафедра комп’ютерних технологій
Дисципліна:
Теорія алгоритмів
З В І Т
З лабораторної роботи № 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