Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Вычисление математических выражений

Автор:   •  Декабрь 17, 2023  •  Лабораторная работа  •  856 Слов (4 Страниц)  •  148 Просмотры

Страница 1 из 4

Цель работы

Целью работы является вычисление сложных математических выражений, а также отладка программы для поиска ошибок.  

Задание на лабораторную работу

Написать программу для расчёта двух выражений. Согласно варианту №9 эти выражения:

 =  - [pic 1][pic 2][pic 3]

 = -4[pic 4][pic 5]

Подготовить тестовые примеры по второй формуле с помощью калькулятора. Значения, полученные в выражениях, должны быть равны.

В область допустимых значений входят все действительные числа.

Программа будет запрашивать повторный ввод значения угла в градусах, если пользователь введет некорректное значение, отличное от числа.

Описание созданных функций

Для выполнения программы потребуются следующие функции:

Имя: calculation1

Назначение: вычислить значение z1

Входные данные:

  • g_a – значение угла α в градусах
  • g_b – значение угла β в градусах

Выходные данные:

  • z1 – результат вычисления выражения z1

Побочный эффект: отсутствует

Тестовые данные:

g_a

g_b

z1

30°

150°

3

90°

90°

0

120°

≈1,63

Прототип: double calculation1(const double g_a, const double g_b)

Алгоритм:

  • псевдокод

//Перевести градусы в радианы 

//Вычислить значение по первой формуле       

  • блок-схема

[pic 6]

Имя: calculation2

Назначение: вычислить значение z2

Входные данные:

  • g_a – значение угла α в градусах
  • g_b – значение угла β в градусах

Выходные данные:

  • z2 – результат вычисления выражения z2

Побочный эффект: отсутствует

Тестовые данные:

g_a

g_b

z2

30°

150°

3

90°

90°

0

120°

≈1,63

Прототип: double calculation2(const double g_a, const double g_b)

Алгоритм:

  • псевдокод

//Перевести градусы в радианы 

//Вычислить значение по второй формуле       

  • блок-схема

[pic 7]

Текст программы

#include <iostream>

#include <cmath>

#include <clocale>

using namespace std;

const double pi = 3.141592653589793238462;

double calculation1(const double g_a, const double g_b)

{

        //Перевести градусы в радианы

        const double a = g_a * pi / 180;

        const double b = g_b * pi / 180;

        //Вычислить значение по первой формуле

        return pow(cos(a) - cos(b), 2) - pow(sin(a) - sin(b), 2);

}

double calculation2(const double g_a, const double g_b)

{

        //Перевести градусы в радианы

        const double a = g_a * pi / 180;

        const double b = g_b * pi / 180;

        //Вычислить значение по второй формуле

        return -4 * pow(sin((a - b) / 2), 2)*cos(a + b);

}

int main()

{

        setlocale(LC_ALL, "rus");

...

Скачать:   txt (6.7 Kb)   pdf (176.7 Kb)   docx (787.3 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club