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