Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №2
на тему: ”Параметри алгоритму. Правило початку”.
з предмету „Алгоритми та методи обчислень”.
Підготував: ст. гр. КІ-3
Львів 2004
Тема: Параметри алгоритму. Правило початку.
Мета: Аналіз впливу „Правила початку” на складність алгоритму.
Теоретичні відомості:
Завдання:
Знайти найбільший спільний дільник (НСД) двох чисел методом перебору для двох варіантів "Правила початку".
Варіант №23
91 і 28 результат виконання: 7
Блок-схема адгоритму №1 з всіма можливими комбінаціями.
Початок
Ввід даних
a = 91; b = 28;
a < b
c=b
c=a
a%c==0 && b%c==0
c=c-1
Кінець
Часова складність L = 8
Блок-схема адгоритму №2 де ми знаємо наперед, що перше число більше за друге.
Початок
Ввід даних
a = 91; b = 28;
c=b
a%c==0
&& b%c==0
Кінець
c=c-1
Часова складність L = 6
Висновок: в ході лабораторної роботи я дослідив аналіз впливу „Правила початку” на подальше виконання алгоритму.
Тексти програм для обох випадків:
# include <stdio.h>
# include <conio.h>
void main()
{int a,b,c,k=1,l=1;
clrscr();
printf("\n\n\tEnter pershe i druhe chyslo: ");
scanf("%d%d",&a,&b);
if(a>b)
c=b;
else
c=a;
while(k!=0)
{if(a%c==b%c)
{l=a%c;
if(l==0)
k=0;}
c--;}
c++;
printf("\n\tNaibilshyi spilnyi dilnyk tsyh chysel - %d",c);
getch();
}
--------------------------------------------------------------------------------------------------------------------
# include <stdio.h>
# include <conio.h>
void main()
{
int a,b,c,k=1,l=1;
clrscr();
printf("\n\n\tEnter pershe i druhe chyslo: ");
scanf("%d%d",&a,&b);
c=b;
while(k!=0)
{if(a%c==b%c)
{l=a%c;
if(l==0)
k=0;}
c--;}
c++;
printf("\n\tNaibilshyi spilnyi dilnyk tsyh chysel - %d",c);
getch();
}