Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
ЗАВДАННЯ
Домашня пiдготовка до роботи
1. Вивчити синтаксис, призначення, принцип роботи і використання операторів мови СІ та основних функцій введення-виведення.
2. Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:
табулювання функції, представленої рядом (див. табл.2), на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
№ п/п
Функція
Інтервал, [a, b]
Крок, h
Похибка, d
9
[1.1, 2]
0.1
0.001
Робота в лабораторії
Ввести в комп'ютер програму, написану мовою Cі згідно з отриманим завданням.
Відлагодити програму. При необхідності скоригувати блок-схему алгоритму та програму у відповідності з виявленими логічними та синтаксичними помилками.
Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи.
Здати звіт з лабораторної роботи.
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
(a, b) - це проміжок на якому табулюється функція y;
h - це крок з яким проходить табуляція функції;
d – похибка;
k – змінна типу integer;
main() – головна функція;
printf() – функція виводу даних;
scanf() – функція вводу даних;
sin(х) – математична функція обчислення синуса від х;
pow(x,y) – математична функція обчислення xy;
ТЕКСТ ПРОГРАМИ
#include <stdio.h>
#include <math.h>
void main(void)
{
double x, y, a, b, h, d, sum;
int k;
printf(“Vvedit znachenja a=”); scanf(“%lf”, &a );
printf(“Vvedit znachenja b=”); scanf(“%lf”, &b );
printf(“Vvedit znachenja h=”); scanf(“%lf”, &h );
printf(“Vvedit znachenja d=”); scanf(“%lf”, &d );
for(x=a;x<=b+h/2;x=x+h)
{
sum=0;k=0;
do
{
sum=sum+y;
y=x/pow(2*k+1,3)*sin(2*k+1);
k++;
}
while(fabs(y)>d);
printf(“x=%lf\t sum=%lf\t y=%lf\n”,x,sum,y);
}
}
БЛОК – СХЕМА
РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ
H:\UNTITLED.EXE
wedit znachennya a= 1.1
wedit znachennya b= 2
wedit krok h=0.1
wedit znachennya d=0.001
x=1.100000 sum=0.925036 y=0.000622
x=1.200000 sum=1.009752 y=0.000678
x=1.300000 sum=1.093903 y=0.000735
x=1.400000 sum=1.178053 y=0.000791
x=1.500000 sum=1.262204 y=0.000848
x=1.600000 sum=1.346355 y=0.000905
x=1.700000 sum=1.430505 y=0.000961
x=1.800000 sum=1.514321 y=0.000344
x=1.900000 sum=1.597780 y=0.000363
x=2.000000 sum=1.681875 y=0.000382
Elapsed time = 00:06:23.55. Program returned (2). Press any key.
H:\UNTITLED.EXE
ВИСНОВОК
На даній лабораторній роботі я навчилася використовувати найпростіші математичні операції мови Сі, вивчила синтаксис функцій введення-виведення, навчилась відлагоджувати найпростіші програми з розгалуженими та циклічними алгоритмами. Як наслідок було створено программу, яка табулює функцію задану рядом з деякою точністю.