3.БЛОК-СХЕМИ ПРОГРАМ Блок-схема програми А
Початок
m, x, a, b, c;
m=0,7; x=1,7 a=0,5; b=1; c=2,1
z |
|
|
sin x |
cmlnmx |
|
|
|
||
|
|
|
||
1 |
m2 sin2 x |
|
||
s e ax 
x 1 e bx 
x 1,5
z ,s;
Кінець
Блок схема програми Б
Початок
a, b, t, w;
a=2,5 ;b=0,4;
t <0,1 |
Ні |
|
|
Так |
|
W=
sqrt(a*t*t+b*sin(t)+1)
w
Кінець
Ні
t == 0,1
Так
W=a*t+b W=sqrt(a*t*t+b*sin(t)
+1)
4. ЛІСТИНГИ ПРОГРАМ
Лістинг лінійної програми
#include <stdio.h> #include <stdlib.h> #include<math.h>
int main()
{
double m, x, a, b, c, Z, S;
m = 0.7; x = 1.7; a = 0.5; b = 1; c = 2.1;
Z = (sin(x) / (sqrt(1 + m*m*sin(x)*sin(x))) - c*m*log((float)10)*m*x); S = exp(-a*x)*sqrt(x + 1) + exp(-b*x)*sqrt(x + 1.5);
printf("S=%f Z=%f \n", S, Z); system("pause");
return 0;
}
Лістинг програми з розгалуженням
#include <stdio.h> #include <stdlib.h> #include<math.h> int main() {
double a, b, t, w; a = 2, 5; b = 0, 4; printf("t="); scanf_s("%lf", &t);
if (t < 0.1) w = sqrt(a*t*t + b*sin(t) + 1); else {
if (t == 0.1) w = a*t + b;
else w = sqrt(a*t*t + b*sin(t) + 1);
}
printf("%f \n", w); system("pause"); return 0;
}
5. РЕЗУЛЬТАТИ РОБОТИ ТА ЇХ АНАЛІЗ
Після запуску лінійної програми отримано результат, відображений на рисунку 5.1:
Рисунок 5.1 – Результат роботи лінійної програми
Після запуску другої програми, ми отримоємо результат, зображений на рисунку 5.2:
Рисунок 5.2 – Результат роботи програми з розгалуженням
Після введення значення для змінної «t» з'являється три варіанти розвитку нашої системи (рисунок 5.3 для t< 0.1, рисунок 5.4 для t=0.1, рисунок
5.4 для t >0.1):
Рисунок 5.3 - другий результат результат роботи програми з розгалуженням
W= sqrt(a*t*t+b*sin(t)+1)=1.0009 при t=0.03(t<0.1)
Рисунок 5.4 – третій результат роботи програми з розгалуженням
W=a*t+b=0.2 при t=0.1 (t=0.1)
Рисунок 5.5 - четвертий результат роботи програми з розгалуженням
W=sqrt(a*t*t+b*sin(t)+1)= при t=3 (t>0.1)
Перевірені на калькуляторі значення збігаються зі значеннями, отриманими при розрахунку другої програми. Це означає, що дві програми працюють правильно.