Модуль 1 / M1L2
.docxМіністерство освіти і науки України
Національний авіаційний університет
Кафедра прикладної інформатики
Лабораторна работа №2
З дисципліни: “Алгоритмізація та програмування”
Виконав
Студент ТП - 113
Односумов Микола
Варіант 16
Задача №1.
Ввести довільні значення х, і (номер варіанта),a, b, c, d можна задати як сталі, та обчислити значення двох функцій: та . Вибрати із першої роботи. Обчислити і вивести значення суперпозиції функцій:
y=
16 |
|
17 |
Розв’язання
Математична постановка: програма обчислює функцію, використовуючи значення змінних, введених користувачем. Програма виводить результат обчислення на екран.
Текст програми:
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
float x, i , a , b , c , d , y , f , w;
i= 16;
a = 1;
b = 2;
c = 3;
d = 4;
cout << " x= ";
cin >> x;
f = tan(x+a) - log(fabs(b+7))/log(fabs(i));
w = pow(c,5)*sqrt(pow(x,2) * d * pow( 2.7 , 1.3));
if (abs(x) < 10 )
{ (y = (sqrt(2 * pow(x, 2) + 1.5)) / (sin(3*x)*(2 * x - 7)) + pow(2.7, -3 * x));
}
else
{
(y = 7.4*cos(w)+((5.7*w-3+log(fabs(4*w)))/((w-1.2)*(w+3.5))));
}
cout << " y= " << y;
system("pause");
}
Скріншоти:
Блок-схема програми:
Задача №2.
Нехай оплата робіт залежить від виду діяльності (А, Б, В) і нараховується за формулою:
де і – номер варіанта. Для робіт типу А відрахування складають 10%, Б – 15%, В – 20%. Ввести тип робіт. Вивести нараховану суму, відрахування і суму до видачі. Розв’язати задачу використовуючи команду розгалудження if.
Розв’язання
Математична постановка: программа присвоює, в залежності від типу роботи, різні значення отриманої кількості грошей, згідно з формулами заданими в умові.
Текст програми:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
char work;
float i, y, x, n;
cout << " work is (A\B\C)?" << endl;
cin >> work;
cin >> i;
if (work = 'A')
{
y = 100* abs(((6.3*i)-(2*sin(3*i))/(1.5*((3*i)-7))) + 50);
x = (10 * y) / 100;
n = y - x;
cout << "Narahovano = " << y << endl << "Vidsotky = " << x << endl << "Suma do vydachi = " << n << endl;
system("pause");
}
else
{
if (work = 'B')
{
y = 150* abs((3.5*tan(2 * i) + (pow(i, 3) - 4) / ((i - 1.2)*(i + 3.5)))+100 );
x = (15 * y) / 100;
n = y - x;
cout << "Narahovano = " << y << endl << "Vidsotky = " << x << endl << "Suma do vydachi = " << n << endl;
system("pause");
}
else
{
if (work = 'C')
{
y = 200*abs(((3 * i - 1)*tan(5 * i)) / ((i + 2)*(3 * i - 8)) + sqrt(fabs(i - 3))+135);
x = (20 * y) / 100;
n = y - x;
cout << "Narahovano = " << y << endl << "Vidsotky = " << x << endl << "Suma do vydachi = " << n << endl;
system("pause");
}
}
}
}
Скріншот
Блок-схема програми:
Висновок: результати обчислень обох програм та результати отримані вручну збігаються. Отже, програми працюють правильно.