ІКТА / КБ-12 / Технології Програмування частина №1 (ТП ч.1) / Лаби (готові) / Варіант №19 / Лабараторна робота ТП №2.б Мельничук Є.І
.docxМІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №2 (б)
з курсу: «Технології програмування »
на тему: «Програми з розгалуженими та циклічними алгоритмами»
Варіант № 19
Виконала: ст. гр. КБ-12
Мельничук Є.І
Прийняв: Партика А. І.
Львів - 2016
Мета роботи - вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
1. Завдання
Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:
б) табулювання функції, представленої рядом (див. табл.2), на інтервалі [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>
int main ()
{
int n;
double x,y,a,b,h,d,S;
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+h/10;x+=h)
{
n=1;
S=0.0;
do
{
S+=y;
y=(pow((-1),(n+1))*(pow(x,n)/n));
n++;
}
while (fabs(y)>d);
printf ("x=%lf\t s=%lf\t pohybka=%lf\n", x,S,fabs(y));
}
}
5. Результати роботи програми
a=0
b=0.5
h=0.05
d=0.001