МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №2
з курсу: «Алгоритмічні мови та програмування»
на тему: «Програми з циклічними та розгалужиними алгоритмами»
Варіант № 2
Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
1. Завдання
Скласти блок-схему алгоритмів та програми мовою СІ для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Табулювання функції , що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h.
2. Блок-схема алгоритму програми
3. Список ідентифікаторів констант, змінних, функцій,
використаних у блок-схемі алгоритму і програмі,
та їх пояснення
a,b,h – змінні дійсного типу, які є аргументами виразу;
x,y – змінні дійсного типу, яким надається значення результату обчислення виразу;
main( ) – головна функція;
printf( ) – функція виводу даних;
scanf( ) – функція вводу даних;
cos(х) – математична функція обчислення косинуса від х;
pow(x,y) – математична функція обчислення xy;
log(x) – обчислення натурального логарифма;
fabs(x)- знаходження абсолютного значення виразу типу int;
if - умовний оператор, що дає змогу змінити хід виконання програми залежно від результату перевірки значення деякого виразу логічного типу;for - циклічний оператор, що визначає ті операції, які циклічно виконуються до тих пір, поки вираз, що перевіряється не стане false або рівним 0.
4. Текст програми
#include<stdio.h>
#include<math.h>
void main (void)
{
double a,b,h,y,x;
printf("Vvedit znachenja a=");
scanf("%lf",&a);
printf("Vvedit znachenja b=");
scanf("%lf",&b);
printf("Vvedit znachenja h=");
scanf("%lf",&h);
for(x=a;x<b+h/10;x+=h)
{
if(x<=3)
y=log(pow(x,3));
else
if(x<3.5)
y=1/fabs(sin(x));
else
y=1/cos(1/x);
printf("x=%lf,\ty=%lf\n",x,y);
}
}
5. Результати роботи програми
a=2
b=4
h=0.2
Result