Разработка текста программы

Программа начинается с включения файлов:

#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)