МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №2
з курсу: «Алгоритмічні мови та програмування»
на тему: «Програми з розгалуженими та циклічними алгоритмами»
Варіант № 17
Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
Завдання
А)Скласти програму мовою Сі для табулювання функції, що вибирається залежно від значення аргумента, на проміжку [a,b] з кроком табуляції h.
№ п/п
Функції
Умови для вибору функцій
Крок, h
Інтервал, [a,b]
17
0.05
[0.3, 0.9]
СПИСОК ІДЕНТИФІКАТОР1В КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-CXEMI АЛГОРИТМУ I ПРОГРАМІ, ТА ЇХ
ПОЯСНЕННЯ
a, b, h - змінні дійсного типу, які є аргументами виразу;
х – змінна дійсного типу, якій надається значення аргумента, на проміжку від [a,b];
y - змінна дійсного типу, якій надається значення результату обчислення виразу;
main() - головна функція;
printf() - функція виводу даних;
scanf() - функція вводу даних;
while() – цикл з передумовою;
if, else – ключові слова мови Сі;
1/sin(cos(x*x))- математична функція;
cos(sin(x))- математична функція
sin(1/cos(x))- математична функція.
.
БЛОК-СХЕМА АЛГОРИТМУ
ТЕКСТ ПРОГРАМИ
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, h,x,y;
printf("Enter a="); scanf ("%lf", &a);
printf("Enter b="); scanf ("%lf", &b);
printf("Enter h="); scanf ("%lf", &h);
for (x = a; x<=b+h/2; x+=h)
{
if (x<0.5)
y=1/sin(cos(x*x));
else if (x>=0.7)
y=cos(sin(x));
else
y=sin(1/cos(x));
printf("x = %lf,\t y = %lf\n",x,y);
}
return 0;
}
Результат роботи програми
/
Завдання
Б) Табулювання функції, представленої рядом, на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
№ п/п
Функція
Інтервал, [a, b]
Крок, h
Похибка, d
17
[1, 1.5]
0.05
10-5
СПИСОК ІДЕНТИФІКАТОР1В КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-CXEMI АЛГОРИТМУ I ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
a, b, h, d - змінні дійсного типу, які є аргументами виразу;
х – змінна дійсного типу, якій надається значення аргумента, на проміжку від [a,b];
y - змінна дійсного типу, якій надається значення результату обчислення виразу;
S – змінна дісного типу, якій надається значення результату обчислення суми виразу;
main() - головна функція;
printf() - функція виводу даних;
scanf() - функція вводу даних.
Текс програми
#include <stdio.h>
#include <math.h>
int main()
{
double x1,x2,h,y1,sum,d,n;
printf("Enter x1 = ");
scanf("%lf",&x1);
printf("Enter x2 = ");
scanf("%lf",&x2);
printf("Enter h = ");
scanf("%lf",&h);
printf("Enter d = ");
scanf("%lf",&d);
for(;x1<=x2+h/2;x1+=h)
{
n=1;
sum=1;
while (1)
{
y1=pow(-1,n+1)*(pow(x1-1,n))/n;
if(fabs(y1)>d)
{sum=sum+y1;}
else{break;}
n++;
}
printf("X= %lf Y = %lf\n",x1,sum);
}
}
Результат програми
/