МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
кафедра „ЗАХИСТ ІНФОРМАЦІЇ”
ЗВІТ
до лабораторної роботи № 5 б
З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ”
на тему:
АЛГОРИТМІЧНА МОВА ПРОГРАМУВАННЯ Сі.
ПРОГРАМИ З РОЗГАЛУЖЕНИМИ ТА ЦИКЛІЧНИМИ
АЛГОРИТМАМИ
Варіант № 12
Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
2. ПОВНИЙ ТЕКС ЗАВДАННЯ
Скласти блок-схемy алгоритмy та програмy мовою Ci для табулювання функції, представленої рядом:
на відрізку [1, 2] з кроком 0.1 і похибкою 0.001.
Забезпечити ввід значень інтервалу, кроку та похибки табулювання з клавіатури і вивід результатів на дисплей.
3. ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ
4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
a, b, h, x, y, s, d – змінні типу double для зберігання введених даних та результату роботи програми;
clrscr() – функція очистки екрана яка об’явлена в модулі conio.h;
getch() – функція яка чекає натискання будь-якої клавіші;
printf() – функція виведення текстових повідомлень і значень змінних на екран;
scanf() – функція яка зчитує дані з клавіатури та присвоює відповідне значення змінним;
cos(x) – функція знаходження косинуса кута x заданого в радіанах;
pow(x,y) – функція для піднесення х в степінь у;
fabs(x) – функція яка повертає модуль дійсного числа х;
5. ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
double a,b,h,d,x,y,s;
int k;
clrscr();
printf("Enter interval [a,b] krok h i pohubky d:\n");
printf("a = "); scanf("%lf",&a);
printf("b = "); scanf("%lf",&b);
printf("h = "); scanf("%lf",&h);
printf("d = "); scanf("%lf",&d);
x=a;
while (x<=b+h/4)
{
k=1; s=0;
do
{
y=pow(cos(pow(2,k)*x),4)/pow(2,2*k);
if (k % 2==1) y=-y;
if (fabs(y)<d) break;
s+=y; k++;
} while (1);
printf("\nS = %3.3lf\ty = %0.1lf\t\tx = %0.5lf",s,x,y);
x+=h;
}
getch();
}
6. РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ
Enter interval [a,b] krok h i pohubky d:
a = 1
b = 2
h = 0.1
d = 0.001
S = 0.004 y = 1.0 x = -0.00001
S = -0.030 y = 1.1 x = 0.00056
S = -0.074 y = 1.2 x = 0.00000
S = -0.133 y = 1.3 x = 0.00007
S = -0.174 y = 1.4 x = -0.00003
S = -0.195 y = 1.5 x = 0.00013
S = -0.199 y = 1.6 x = -0.00012
S = -0.184 y = 1.7 x = 0.00020
S = -0.153 y = 1.8 x = -0.00007
S = -0.098 y = 1.9 x = 0.00025
S = -0.046 y = 2.0 x = 0.00003
7. ВИСНОВОК
На даній лабораторній роботі я навчився використовувати найпростіші математичні операції мови Сі, вивчив синтаксис функцій введення-виведення, навчився підлагоджувати найпростіші програми з розгалуженими та циклічними алгоритмами. Як наслідок було створено програму яка табулює функцію задану рядом з деякою точністю.