МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра захисту інформації
З В І Т
До лабораторної роботи №2 б
з курсу:
„Алгоритмічні мови та програмування”
на тему:
„Програми з розгалуженими та циклічними алгоритмами”
Варіант 6
Мета:
Вивчити оператори мови Сі та основні функції введення- виведення даних, навчився складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
Завдання:
Скласти програму мовою Сі для розрахунку значення табулювання функції, представленої рядом на інтервалі [a,b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
Функція
Крок, h
Інтервал [a,b]
Похибка, d
0,5
[-1,1]
0,001
Забезпечити ввід аргументів з клавіатури та вивід результату на дисплей.
Список індентифікаторів, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення
y, z – змінні дійсного типу, які є аргументами виразу;
x – змінна дійсного типу, якій надається значення результату обчислення виразу;
main() – головна функція;
printf() – функція виводу даних;
scanf() – функція вводу даних;
sin(x) – математична функція обчислення синуса від х;
pow(x,y) – математична функція обчислення
fabs(x) – математична функція обчислення
Блок-схема алгоритму
Текст програми:
#include<stdio.h>
#include<math.h>
void main(void)
{
double x,y,a,b,h,d,k,r;
printf("Mezha a=");scanf("%lf",&a);
printf("Mezha b=");scanf("%lf",&b);
printf("Krok h=");scanf("%lf",&h);
printf("Poxubka d=");scanf("%lf",&d);
for(x=a;x<=b;x+=h)
{
k=0;y=0;
do
{
k=k+1;
r=(pow((-1),k)*x)/(k*(k+1))*sin(2*k+1);
if (fabs(r)>=d) y+=r;
}
while(fabs(r)>=d);
printf("x=%lf\t",x);
printf("y=%lf\t",y);
printf("Ost. chlen rjadu=%lf\n",r);
}
}
Результат виконання програми:
Mezha a=-1
Mezha b=1
Krok h=0.5
Poxubka d=0.001
x=-1.000000 y=0.233800 Ost. chlen rjadu=0.000848
x=-0.500000 y=0.123076 Ost. chlen rjadu=0.000833
x=0.000000 y=0.000000 Ost. chlen rjadu=0.000000
x=0.500000 y=-0.123076 Ost. chlen rjadu=-0.000833
x=1.000000 y=-0.233800 Ost. chlen rjadu=-0.000848
Висновок:
Я вивчив оператори мови Сі та основні функції введення- виведення даних, навчився складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами.