М і н і с т е р с т в о о с в і т и і н а у к и У к р а ї н и
Н а ц і о н а л ь н и й у н і в е р с и т е т “Львівська політехніка”
Кафедра ЗІ
Звіт
з
лабораторної роботи №2(б)
«Програми з розгалуженими та циклічними алгоритмами»
З дисципліни
«Алгоритмічні мови та програмування»
Варіант 10
Мета: Вивчити нові оператори мови Сі та основні функції введення- виведення даних, навчитися складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
Завдання:
Домашня підготовка до роботи.
Вивчити синтаксис, призначення, принцип роботи і використання операторів мови Сі та основних функцій введення-виведення.
Скласти блок-схеми алгоритмів та програми мовою Сі для табулювання функції. Забезпечити ввід даних інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:
Б)табулювання функції, представленої рядом, на інтервалі [a,b] з кроком h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
Робота в лабораторії.
Ввести в комп’ютер програму, написану мовою Сі згідно з отриманими даними.
Відлагодити програму. При необхідності скоригувати блок-схему алгоритму у відповідності з виявленими логічними та синтаксичними помилками.
Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи.
Здати звіт з лабораторної роботи.
Блок-схема
Текст програми
#include<stdio.h>
#include<math.h>
Void main(void)
{
double x,syma,po4atok,kinec,krok,pox,n;
printf (“vvedit zna4enna po4atok=”);
scanf (“%lf”,&po4atok);
printf (“vvedit zna4enna kinec=”);
scanf (“%lf”,&kinec);
printf (“vvedit zna4enna krok=”);
scanf (“%lf”,&krok);
printf (“vvedit zna4enna pox=”);
scanf (“%lf”,&pox);
for(x=a; x<=b+0.0001; x=x+h)
{
syma=0;
n=fabs(x/((2*k-1)(2*k+3))*cos(2*k+1));
for(k=0; n>=d; k++)
{
n=fabs(x/((2*k-1)(2*k+3))*cos(2*k+1));
if(n>=d)
{
s=s+h;
}
Printf(“x=%lf,syma=%lf,n=%lf\n”,x,syma,n);
}
}
}
Результат програми
x=0.1; syma=-0.035963; n=0.000004;
x=0.2; syma=-0.071927; n=0.000008;
x=0.3; syma=-0.107890; n=0.000011;
x=0.4; syma=-0.143853; n=0.000015;
x=0.5; syma=-0.179817; n=0.000019;
x=0.6; syma=-0.215780; n=0.000023;
x=0.7; syma=-0.251743; n=0.000026;
x=0.8; syma=-0.287707; n=0.000030;
x=0.9; syma=-0.323670; n=0.000034;
x=1; syma=-0.359633; n=0.000038;
Elapsed time =00:00:07.19. Program returned (34)
Таблиця ідентифікаторів, змінних, функцій, використаних в блок-схемі алгоритму і програмі та їх пояснення
№
позначення
тип
Призначення (опис)
1
po4atok
double
Початкове значення інтервалу
2
kinec
double
Кінцеве значення інтервалу
3
syma
double
Сума обчислень, вихідна
4
krok
double
Значення кроку
5
pox
double
Значення похибки
6
x
double
Аргумент функції ,вихідна
7
n
double
Змінна для заміни виразу, вихідна
#include- директива за допомогою якої включаються заготовочні файли;
stdio.h- заготовочний файл вводу – виводу;
math.h- у цьому файлі знаходяться стандартні математичні ф-ї;
printf- ф-я виводу даних;
scanf- ф-я вводу даних;
for()- оператор покрокового циклу;
if()- умовний оператор;
Висновок: на даній лабораторній роботі я вивчила нові оператори мови Сі та основні функції введення- виведення даних, навчилася складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами. Також я набула важливих практичних знань для можливої в майбутньому роботи.