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

Лабораторная работа №2

Арифметические операции и математические функции языка С

Цель работы

Целью лабораторной работы является получение практических навыков в програмировании алгебраических выражений и использовании математических функций библиотеки языка C.

Темы для предварительной проработки

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

Задания для выполнения

Составьте программу, которая подсчитывает и выводит значение t1 и t2 по формулам, которые приведены в Вашем варианте индивидуального задания. Определите области допустимых значений параметров формул и задайте произвольные значения из этих областей. Параметры, которые имеют имена: n и m - целые, остальные параметры - с плавающей точкой. Значения параметров с именами x и y должны вводиться с клавиатуры, значения остальных - задаваться как начальные значения при объявлении соответствующих переменных. Проверьте правильность программы путем проверки вычислений на калькуляторе для одной пары чисел. Варианты заданий приведены в разделе 6 в конце пособия.

Пример решения задачи

Разработка алгоритма решения.

4.1.1. Основной алгоритм
Алгоритм решения задачи - линейный и состоит из:

  • ввода значений x и y;
  • вычисления значения t1;
  • вычисления значения t2;
  • вывода значений t1 и t2.

4.1.2. Оптимизация алгоритма (необязательная часть)
Перед непосредственным программированием алгоритма проанализируем, как в нем можно изменить объем вычислений.

Выражение ax встречается один раз в первой формуле и дважды - во второй. Следовательно, можно один раз произвести умножение a*x, а потом использовать этот результат.

Во второй формуле дважды встречается умножение квадратного корня на тангенс - это вычисление можно так же сделать один раз.

Выражение c2-b2 можно разложить на (c+b)(c-b). До разложения в выражении было две операции умножения (возведение в степень 2) и одна - сложения. После разложения - два сложения и одно умножение, что выгоднее для вычислений.

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

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

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

c2 - b2 >= 0

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

кроме того:

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

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



ROOT"]."/cgi-bin/footer.php"; ?>