|
Практична робота № 3
Обчислення|підрахунок| виразів за допомогою математичних функцій.
Мета|ціль| роботи: програмування обчислювального процесу лінійної структури з використанням арифметичних операцій і|та| математичних функцій на мові|язиці| Сі++.
Завдання|задавання| для виконання
|
|
Скласти програму, яка підраховує|підсумовує| і|та| виводить на екран значення змінних t1 і|та| t2 відповідно до заданих формул. Значення деяких параметрів, можуть бути цілими числами або числами з|із| плаваючою точкою|крапкою|. Вони повинні вводитися|запроваджувати| з клавіатури. Значення інших|останніх| - задаватися як початкові значення при оголошенні відповідних змінних. У разі потреби, допускається (і навіть бажано) спростити формули для того, щоб забезпечити мінімізацію об'єму|обсягу| обчислень|підрахунків|.
Розробка алгоритму розв’язання|вирішення|.
Алгоритм розв’язання задачі - лінійний і|та| складається з|із|: введення значень x і|та| y; визначення констант a, b, c, d; обчислення|підрахунки| значення t1; обчислення|підрахунки| значення t2; виведення значень t1 і|та| t2.
Оптимізація алгоритму.
Вираз ax зустрічається один раз в першій формулі і|та| двічі в другій. Отже, можна один раз провести множення a на x, а потім використовувати цей результат. У другій формулі двічі зустрічається множення квадратного кореня на тангенс - це обчислення|підрахунок| можна так само зробити один раз.
------------------------------------------------------------------------------------------------------------------
Практична робота №3. Обчислення|підрахунок| виразів за допомогою математичних функцій.
------------------------------------------------------------------------------------------------------------------
*/
#include <iostream.h>
#include <math.h>
#include <windows.h>
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double x, y; // вхідні дані
const double a=12.5,b=1.3,c=14.1,d=2.7; // вхідні дані
double t1, t2; // результати
double ax; // робоча змінна
cout<<"Введіть|запроваджуйте| x, y: ";
cin>>x, y;
ax=a*x;
t1=(b*log(ax+b)/a+d*log(y*x+d)/y)/c;
ax=sqrt((c - b)*(c+b))*tan(ax);
t2=log((ax+2)/(ax - 2))/(2*a*b);
cout<<"/n t1 ="<<t1<<"/t t2 ="<<t2
return 0;
}
Результати роботи програми
Введіть|запроваджуйте| x, y: 3.3 1.1
t1 = 0.348897 t2 = 0.0133405
Дата добавления: 2015-11-04; просмотров: 28 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Bright flare on dark side similar to 2nd mag star | | |