ІКТА / КБ-12 / Технології Програмування частина №1 (ТП ч.1) / Лаби (готові) / Варіант №6 / Лабараторна робота ТП №2 Волошин Р.Я
.docxМІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №2
з курсу: «Технології програмування »
на тему: «Програми з розгалуженими та циклічними алгоритмами»
Варіант № 6
Виконав: ст. гр. КБ-12
Волошин Р. Я.
Прийняв: Крет Т. Б.
Львів - 2017
Мета роботи - вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
1 а) . Завдання
Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:
а) табулювання функції що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h
2 а) . Блок-схема алгоритму програми
3 а). Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,
та їх пояснення
y – задана функція;
x – аргумент функції;
а – початок заданого проміжку;
b – кінець заданого проміжку;
h – крок табулювання функції;
for - цикл з передумовою;
main() – головна функція;
printf() – функція виводу даних;
scanf() – функція вводу даних;
pow(x,y) – обчислення х в степені у;
fabs – знаходження абсолютного значення типу double;
atan(x) – обчислення арктангенса.
4 а) . Текст програми
#include <stdio.h>
#include <math.h>
int main (void)
{
double a,b,h,x,y,e;
printf ("a=");
scanf ("%lf", &a);
printf ("b=");
scanf ("%lf", &b);
printf ("h=");
scanf ("%lf", &h);
for (x=a; x<=b; x+=h)
{
(x<0.6)? (y=(exp(x-sin(x)))): ((x>=0.6 && x<0.7) ? (y=tan(fabs(log10(x)))): (y = (atan(pow (x,7))))) ;
printf ("x=%lf\t y=%lf\n", x,y); y=0;
}
}
5 а) . Результати роботи програми
a=0.5
b=0.8
h=0.02
б) табулювання функції, представленої рядом, на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
2 б). Блок-схема алгоритму програми
3 б) . Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,
та їх пояснення
y – задана функція;
x – аргумент функції;
а – початок заданого проміжку;
b – кінець заданого проміжку;
h – крок табулювання функції;
d – абсолютна похибка;
for - цикл з передумовою;
if – умовний оператор;
main() – головна функція;
printf() – функція виводу даних;
scanf() – функція вводу даних;
pow(x,y) – обчислення х в степені у;
do while – цикл з післяумовою; рішення, виконувати чи не виконувати в черговий раз тіло циклу, приймається після його проходження
4 б) . Текст програми
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,h,x,y,d,s;
int k;
printf("a="); scanf("%lf",&a);
printf("b="); scanf("%lf",&b);
printf("h="); scanf("%lf",&h);
printf("d="); scanf("%lf",&d);
for(x=a;x<b+0.001;x+=h)
{ k=1;s=0;
do
{
s+=y;
k=++;
y=((pow(-1,k)*x)/k*(k+1)*sin(2*k+1));
}
while(fabs(y)>d);
s+=1;
printf("\n x=%lf s=%lf",x,s);
}
return 0;
}
5 б) . Результати роботи програми
a=-1
b=1
h=0.5
d=0.001
Висновок:
В цій лабораторній роботі я вивчив оператори мови Сі та основні функції введення-виведення даних, навчився складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.