Міністерство освіти і науки України
Лабораторна робота
Тема: Циклічні програми з регулярною зміною аргумента, які містять розгалуження
Мета
Навчитись створювати циклічні програми з регулярною зміною аргумента, які містять розгалуження мовою Сі.
Теоретичні відомості
Команда циклу з передумовою while має вигляд:
while (<вираз 1>) <команда 1>;
Дія команди:
1) обчислюється значення виразу. Якщо воно істинне, то переходимо до пункту 2, якщо хибне – до пункту 3;
2) виконується команда1 і відбувається перехід до пункту 1;
3) відбувається перехід до наступної після while команди.
Команда циклу з післяумовою do-while має вигляд:
do <команда 1>;
while(<вираз>);
Дія команди:
1) виконується команда 1 і обчислюється значення виразу;
2) якщо значення виразу істинне, то виконується пункт 1), якщо значення виразу хибне – відбувається перехід до наступної після do-while команди.
Завдання №14.1
b=8,45, dz=0,24, z2=3,2, n=9;
для знаходження z1 використаємо формулу:
, звідки ;
z1=z2-(n-1)dz;
z1=3,2-(9-1)0,24=1,28
Змінна | x | b | z | e
Ілентифікатор | x | b | z | e
Блок-схема
while do-while
Програма
1) з whilе:
#include<stdio.h>
#include<math.h>
#define b 8.45
main()
{
float x,z;
z=1.28;
while (z<3.2);
{
x=pow(fabs(b-z),3)*log(10)/(z-0.3)+tan(z);
printf("z=%f x=%f",z,x);
z+=0.24;
};
}
2) з do-while:
#include<stdio.h>
#include<math.h>
#define b 8.45
main()
{
float x,z;
z=1.28;
do
{
x=pow(fabs(b-z),3)*log(10)/(z-0.3)+tan(z);
printf("z=%f x=%f",z,x);
z+=0.24;
}
while (z<3.2);
}
Результат виконання програми
Завдання №14.2
Обчислити 20 значень функції і відповідних значень аргумента, а також окремо вивести на друк максимальне зна-чення функції:
Аргумент с змінюється від початкового значення 1.35 до кінцевого 4.35 з постійним кроком.
Для знаходження dc використаємо формулу:
, звідки ;
dc=(c2-c1)/(n-1),
dc=(4,35-1,35)/(21-1)=0,15
де с1=1,35 – початкове значення аргумента;
с2=4,35 - кінцеве значення аргумента;
dc=0,15 – крок зміни аргумента;
n=21 – кількість значень функції.
Змінна | b | a | c | e
Ідентифікатор | b | a | c | e
Блок-схема
Програма
#include<stdio.h>
#include<math.h>
#define a 3.85
main()
{
float c,b;
c=1.35;
while (c<4.35)
{
b=(a+pow(log(a+c*exp(a/2)),2))/(fabs(a-c)+0.15);
printf("c=%f b=%f",c,b);
c+=0.15;
};
printf("c=%f b=%f",c,b);
}
Результат виконання програми
Висновок
На цій лабораторній роботі я ознайомився ще з 2 способами створення циклу, а саме за допомогою while та задопомогою команди do-while, а також навчився створювати програми з регулярною зміною аргумента, яка містить розгалуження.