М і н і с т е р с т в о о с в і т и і н а у к и У к р а ї н и
Н а ц і о н а л ь н и й у н і в е р с и т е т “Львівська політехніка”
Кафедра ЗІ
Звіт
з
лабораторної роботи №2(а)
«Програми з розгалуженими та циклічними алгоритмами»
З дисципліни
«Алгоритмічні мови та програмування»
Варіант 10
Мета: Вивчити нові оператори мови Сі та основні функції введення- виведення даних, навчитися складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
Завдання:
Домашня підготовка до роботи.
Вивчити синтаксис, призначення, принцип роботи і використання операторів мови Сі та основних функцій введення-виведення.
Скласти блок-схеми алгоритмів та програми мовою Сі для табулювання функції. Забезпечити ввід даних інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:
А)табулювання функції, що вибирається залежно від значення аргумента, на проміжку[a,b] з кроком табуляції h.
Робота в лабораторії.
Ввести в комп’ютер програму, написану мовою Сі згідно з отриманими даними.
Відлагодити програму. При необхідності скоригувати блок-схему алгоритму у відповідності з виявленими логічними та синтаксичними помилками.
Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи.
Здати звіт з лабораторної роботи.
варіант
Функція
Умови для вибору функції
рок,h
Інтервал,[a,b]
10
cos(x)+tg(x)
ctg(x)+sin(x)
(x*ln(x))^3
x<2.3
x>=2.3,x<2.7
x>=2.7
0.1
[2,3]
Блок-схема
Текст програми
#include<stdio.h>
#include<math.h>
Void main(void)
{
double x, y, a, b, h;
printf (“vvedit zna4enna a=”);
scanf (“%lf”,&a);
printf (“vvedit zna4enna b=”);
scanf (“%lf”,&b);
printf (“vvedit zna4enna h=”);
scanf (“%lf”,&h);
x=a;
while(x<=b+0.0001)
{
If(x<0.3) y=cos(x)+tan(x);
If(x>=2.3&&x<2.7) y=1\tan(x)+sin(x);
If(x>=2.7) y=pow(x*log(x),3);
Printf(“x=%lf,y=%lf\n”,x,y);
x=x+h;
}
}
Результат програми
x=2.0 y=-2.601187
x=2.1 y=-2.324693
x=2.2 y=-1.9623224
x=2.3 y=-0.147779
x=2.4 y=-0.416223
x=2.5 y=-0.740176
x=2.6 y=-1.146742
x=2.7 y=19.287207
x=2.8 y=23.960963
x=2.9 y=29.436685
x=3.0 y=35.801162
Elapsed time=00:00:03:30.Program returned (23).
Таблиця ідентифікаторів, змінних, функцій, використаних в блок-схемі алгоритму і програмі та їх пояснення
№
позначення
тип
Призначення (опис)
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()- умовний оператор;
Висновок: на даній лабораторній роботі я вивчила нові оператори мови Сі та основні функції введення- виведення даних, навчилася складати та підлагоджувати розрахункові програми з розгалуженими та циклічними структурами. Також я набула важливих практичних знань для можливої в майбутньому роботи.