МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
кафедра „КОМП’ЮТЕРИЗОВАНІ СИСТЕМИ, АВТОМАТИКА І УПРАВЛІННЯ”
ЗВІТ
до лабораторної роботи № 2б
З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ”
на тему: „Алгоритмічна мова програмування Сі. Прості програми лінійної структури”
Варіант № 3
Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
2. ПОВНИЙ ТЕКС ЗАВДАННЯ
Скласти блок-схемy алгоритмy та програмy мовою Ci для табулювання функції, представленої рядом:
на відрізку [3,4] з кроком 0.1 і похибкою 0.001.
Забезпечити ввід значень інтервалу, кроку та похибки табулювання з клавіатури і вивід результатів на дисплей.
3. ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ
4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
a, b, h, x, y, k, s, d – змінні типу double для зберігання введених даних та результату роботи програми;
getch() – функція яка чекає натискання будь-якої клавіші;
printf() – функція виведення текстових повідомлень і значень змінних на екран;
scanf() – функція яка зчитує дані з клавіатури та присвоює відповідне значення змінним;
pow(x,y) – функція для піднесення х в степінь у;
fabs(x) – функція яка повертає модуль дійсного числа х;
tan(x) – функція для обчислення тангенсу
5. ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
double a,b,h,k,d,x,y,s;
int n;
printf("Enter interval [a,b] krok h ta poxubky d:\n");
printf("a = "); scanf_s("%lf",&a);
printf("b = "); scanf_s("%lf",&b);
printf("h = "); scanf_s("%lf",&h);
printf("d = "); scanf_s("%lf",&d);
x=a;
while (x<b+h/4)
{
n=1; s=0; k=1;
do
{
y=(1/k)*(tan(x/(pow(2,x))));
s+=y; n++;
} while(fabs(y)<d);
printf("\n x = %lf s = %lf",x,s);
x+=h;
}
getch();
}
6. РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ
Enter interval [a,b] krok h ta poxubky d:
a = 3
b = 4
h = 0.1
d = 0.001
x = 3.000000 s = 0.393627
x = 3.100000 s = 0.378174
x = 3.200000 s = 0.363013
x = 3.300000 s = 0.348182
x = 3.400000 s = 0.333710
x = 3.500000 s = 0.319621
x = 3.600000 s = 0.305931
x = 3.700000 s = 0.292652
x = 3.800000 s = 0.279792
x = 3.900000 s = 0.267355
x = 4.000000 s = 0.255342
7. ВИСНОВОК
На даній лабораторній роботі я навчився використовувати найпростіші математичні операції мови Сі, вивчив синтаксис функцій введення-виведення, навчився підлагоджувати найпростіші програми з розгалуженими та циклічними алгоритмами. Як наслідок було створено програму яка табулює функцію задану рядом з деякою точністю.