Практическая работа №2 Арифметические операции и математические функции языка с


Ограничения на значения параметров



бет2/3
Дата25.01.2023
өлшемі59.99 Kb.
#468753
түріПрактическая работа
1   2   3
Практическая работа №2

^ 3. Ограничения на значения параметров

Аргумент функции, которую вычисляет логарифм, не может быть 0 или меньше. Отсюда вытекают требования к значениям:

a * x + b > 0; y * x + d > 0

Аргумент функции извлечения квадратного корня не может быть меньше 0, отсюда:

c2 - b2 >= 0

В знаменателе выражения не может быть 0, отсюда:



кроме того:




5.2. Определение переменных программы

Для решения задачи нам понадобятся переменные для представления каждого параметра формул - a, b, c, d, x, y и результатов - t1, t2. Кроме того, придется ввести дополнительную переменную ax для хранения промежуточного результата , необходимого для оптимизации. Тип всех переменных - double.


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

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

#include

#include


в которых находятся описания функций ввода- вывода и математических функций соответственно.

Далее открываем главную функцию:

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

Полный текст программы приводится ниже.

/**************************************************/

/* Практическая работа */

/* Арифметические выражения и функции */

/* Пример решения. Вариант ╧30. */

/**************************************************/

#include

#include


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;

}



Достарыңызбен бөлісу:
1   2   3




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет