Разработка текста программы
Программа начинается с включения файлов:
#include <stdio.h>
#include <math.h>
в которых находятся описания функций ввода- вывода и математических функций соответственно.
Далее открываем главную функцию:
int main(void)
Включаем описания переменных (см. п.5.2):
double x,y;
double a=12.5, b=1.3;
double c=14.1, d=2.7;
double t1, t2;
double ax;
Вводятся значения для переменных x и y:
printf("Введите x, y >");
scanf("%lf %lf",&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+b)/(ax-b))/2/a/b;
Полученные результаты выводятся на экран:
printf("t1 = %lg\n",t1); printf("t2 = %lg\n",t2);
Полный текст программы приводится ниже.
/**************************************************/
/* Лабораторная работа ╧3 */
/* Арифметические выражения и функции */
/* Пример решения. Вариант ╧30. */
/**************************************************/
#include <stdio.h>
#include <math.h>
int main(void) {
/* параметры, которые вводятся */
double x,y;
/* параметры, которые задаются в программе */
double a=12.5, b=1.3;
double c=14.1, d=2.7;
double t1, t2; /* результаты */
double ax; /* рабочая переменная */
printf("Введите x, y >");
scanf("%lf %lf",&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+b)/(ax-b))/2/a/b;
printf("t1 = %lg\n",t1);
printf("t2 = %lg\n",t2);
return 0;
}
Результаты работы программы
При работе программы на экран было выдано следующее:
Введите x, y >3.3 1.1
t1 = 0.348897
t2 = 0.0133405
Выводы
При выполнении лабораторной работы изучены следующие темы:
- программирование алгебраических выражений с использованием арифметических операций и стандартных математических функций.
Некоторые стандартные математические функции.
Стандартные математические функции находятся в файле math.h.
abs - абсолютное значение целого числа - |x|
int abs(int x);
labs - абсолютне значення "длинного" целого числа - |x|:
long labs(long x);
fabs - абсолютное значение числа с плавающей точкой - |x|:
double fabs(double x);
sqrt - извлечение квадратного корня:
double sqrt(double x);
pow - возведение в степень:
double pow(double x, double y);
cos - косинус - cos x (здесь и далее x задается в радианах):
double cos(double x);
sin - синус - sin x:
double sin(double x);
tan - тангенс - tg x:
double tan(double x);
acos - арккосинус - arccos x:
double cos(double x);
asin - арксинус - arcsin x:
double sin(double x);
atan - арктангенс - arctg x:
double atan(double x);
atan2 - арктангенс - arctg x/y:
double atan2(double x, double y);
exp - експонента :
double exp(double x);
log - натуральный логарифм - ln x:
double log(double x);
log10 - десятичный логарифм - log10x:
double log10(double x);
Варианты заданий
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)