Ограничения на значения параметров
Аргумент функции, которую вычисляет логарифм, не может быть 0 или меньше. Отсюда вытекают требования к значениям: a * x + b > 0; y * x + d > 0
Аргумент функции извлечения квадратного корня не может быть меньше 0, отсюда: c2–b2>=0
В знаменателе выражения не может быть 0, отсюда:
кроме того:
ОБРАЩАЕМ ВНИМАНИЕ, ЧТО В ПРОГРАММНОЙ РЕАЛИЗАЦИИ НЕ РАССМАТРИВАЮТСЯ ПРОВЕРКА НА КОРРЕКТНОСТЬ, ЕЕ НЕОБХОДИМО ВЫПОЛНИТЬ САМОСТОЯТЕЛЬНО!!!!
Определение переменных программы
Для решения задачи понадобятся переменные для представления каждого параметра формул — a, b, c, d, x,y и результатов — t1, t2. Кроме того, придется ввести дополнительную переменную ax для хранения промежуточного результата , необходимого для оптимизации. Тип всех переменных — double.
Разработка текста программы
/* Лабораторная работа 2 */
/* Арифметические выражения и функции */
/* Пример решения. Вариант ____ */
#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 >"); /*Вводятся значения для переменных 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;
}
Отладка программы
При отладке программы можно проверять правильность выполнения каждой операции. Для этого сложные операторы-выражения, разбиваются на последовательность операторов-выражений, в каждом из которых выполняется только одна операция. Результат каждой такой операции выводится на экран или отслеживается в пошаговом режиме.
Лабораторная работа №3
Логические операции. Условный оператор
вязыке C
1. Цель работы
2. Темы для предварительной проработки
3. Задание
4. Варианты индивидуальных заданий
5. Пример решения задачи
5.1. Разработка алгоритма решения
5.2. Определение переменных программы
5.3. Разработка текста программы
5.4. Отладка программы
Цель работы
Целью лабораторной работы является получение практических навыков в работе с условным оператором и разветвленными алгоритмами в языке C.
Темы для предварительной проработки
· Логические операции.
· Условный оператор.
Задание
Построить программу, которая вводит координаты точки(x, y) и определяет, попадает ли точка в заштрихованную область на рисунке, который соответствует Вашему варианту. Попадание на границу области считать попаданием в область. Предварительно вывести на экран замкнутую область в виде пересечения графиков. Предусмотреть выход из программы по желанию пользователя"ПродолжитьДа/Нет?")
Варианты индивидуальных заданий
Вариант | Задание и цветовая гамма | Вариант | Задание и цветовая гамма |
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() |
Пример решения задачи