Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Лабораторна робота №2a
Програми з розгалуженими та циклічними алгоритмами
ЗАВДАННЯ
Домашня пiдготовка до роботи
Вивчити синтаксис, призначення, принцип роботи і використання операторів мови СІ та основних функцій введення-виведення.
Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функції, що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей.
Дані: = , , h=0.2, [a,b]=[2,4].
Робота в лабораторії
Ввести в комп'ютер програму, написану мовою CI згідно з отриманим завданням.
Відлагодити програму. При необхідності скоригувати блок-схему алгоритму та програму у відповідності з виявленими логічними та синтаксичними помилками.
Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи.
Здати звіт з лабораторної роботи.
БЛОК-СХЕМА
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
y – задана функція
x – аргумент функції
b – кінець заданого проміжку
h – крок табулювання функції
ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ
#include <stdio.h>
#include <math.h>
void main ()
{
double x,y,b,h;
printf("Vvedit po4atok intervalu \n");
scanf("%lf", &x);
printf("Vvedit kinec intervalu \n");
scanf("%lf", &b);
printf("Vvedit krok \n");
scanf("%lf", &h);
for (x;x<=b+h/2;x=x+h)
{
if (x<2.5)
y=cos(log(pow(x,2)));
if(x>=2.5 && x<=3.5)
y=1/cos(pow(x,4));
if (x>3.5)
y=tan(sin(x));
printf("x=%lf", x);
printf(" y=%lf \n", y);
}
}
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ
x
y
2,0
0,183457
2,2
-0.006118
2,4
-0.179168
2,6
-6.944246
2,8
4.923199
3,0
1.287522
3,2
-2.657753
3,4
-8.646567
3,6
-0.473863
3,8
-0.701688
4,0
-0.944384