Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №6
з дисципліни “Алгоритми і структури даних”
“ Рекурсивні алгоритми обробки структур даних.”
Львів 2007
Мета роботи: набуття практичних навичок роботи з рекурсивними функціями.
Завдання на роботу:
1)Розробити програмт згідно алгооритму з використарнням рекурсивної функції та без використання рекурсивної функції. Оцінити час виконання та складність алгоритму.
2
Хід виконання завдання
З використанням рекурсивної функції.
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define m 3
int n,p;
float r;
float Suma(int n,int p);
void main()
{clrscr();
puts("Vvedit - n");
scanf("%d",&n);
p=m;
r=Suma(n,p);
printf("SUMA = %f",r);
}
float Suma(int n,int p)
{if(p<=n)
r=(cos(p)*cos(p))/(3*p-3)+Suma(n,p=p+1);
return r;
}
Без використання рекурсивної функції.
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define m 3
int n;
float r;
float Suma(int n);
void main()
{clrscr();
puts("Vvedit - n");
scanf("%d",&n);
r=Suma(n);
printf("SUMA = %f",r);
}
float Suma(int n)
{int p;
for(p=m;p<=n;p++)
r=r+(cos(p)*cos(p))/(3*p-3);
return r;
}
Результати виконання
1)
2)
Висновок: на даній лабораторній роботі я набув практичних навичок роботи з рекурсивними функціями.