Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
103
Добавлен:
17.12.2017
Размер:
202.41 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ІКТА

кафедра ЗІ

ЗВІТ

до лабораторної роботи №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

Висновок:

В цій лабораторній роботі я вивчив оператори мови Сі та основні функції введення-виведення даних, навчився складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.