Вычисление математических выражений
Автор: Saifut • Март 13, 2022 • Лабораторная работа • 1,321 Слов (6 Страниц) • 252 Просмотры
ГУАП
КАФЕДРА № 43
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
оценка |
М.А. Мурашова |
ОТЧЁТ О ЛАБОРАТОРНОЙ РАБОТЕ №1
ВЫЧИСЛЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ
по дисциплине: ОСНОВЫ ПРОГРАММИРОВАНИЯ
Вариант 11.
Цель работы
Целью работы является вычисление сложных математических выражений, а также отладка программы для поиска ошибок.
2. Задание
Написать программу для расчёта двух выражений, с вводом данных с пользовательского интерфейса значения градуса для тригонометрических выражений, так же осуществить проверку на правильность ввода данных и получить решение в радианах
Согласно варианту №11 написать программу для расчета двух выражений
[pic 1]
[pic 2]
ОДЗ:
Пусть , а . Тогда ,[pic 3][pic 4][pic 5][pic 6]
3. Описание созданных функций
Для реализации задания нам потребуются следующая функция:
Имя: err
Назначение: вывести ошибку при неправильности ввода с интерфейса пользователя
Входные данные:
- a – угол альфа
Выходные данные:
- a – угол альфа (при правильном вводе)
- Ошибка при не правильном вводе
Побочный эффект: отсутствует.
Тестовые данные:
а (ввод) | а (вывод) |
90, 180, 270, -360 | 90, 180, 270, -360 |
йуцц, -361, adfqe, xcv | Введено некорректное значение. |
Прототип: double err()
Алгоритм:
- Псевдокод
Инициализация альфы
Ввод альфы с клавиатуры
Пока Ввод Альфы Не число или Не больше либо равно -360
Вывод ошибки
Ввод альфы
Вернуться к альфе
- Блок схема[pic 7]
Для реализации задания нам потребуются следующие переменные:
1)
Имя: pi
Назначение: для вычисления тригонометрический функций
Входные данные:
- отсутствуют
Выходные данные:
- pi – значение числа pi
Побочный эффект: отсутствует
Прототип: const double pi = atan(1.0) * 4;
2)
Имя: r
Назначение: перевод из градусов в радианы
Входные данные:
- отсутствуют
Выходные данные:
- r – угол альфа (в радианах)
Побочный эффект: отсутствует
Прототип: double r = a * pi / 180;
3)
Имя: y1, y2
Назначение: ОДЗ тригонометрический функций z1,z2
Входные данные:
- отсутствуют
Выходные данные:
- y1, y2
Побочный эффект: отсутствует
Прототип: double y1 = 1 + sin(2 * r);
double y2 = 1 + tan(r);
(т.к z1, z2 делить на ноль нельзя то, при y1, y2 = 0, должен совершаться вывод ошибки “Неверное ОДЗ”)
4)
Имя: z1, z2
Назначение: Тригонометрические выражения заданные по условию
Входные данные:
- отсутствуют
Выходные данные:
- z1, z2
Побочный эффект: отсутствует
Прототип: double z1 = (1 - 2 * sin(r)*sin(r)) / y1;
double z2 = (1 - tan(r)) / y2;
Тестовые данные:
Угол альфа | Z1 | Z2 |
90;270 | -1 | -1 |
180;360 | 1 | 1 |
162.34 | 1.93415 | 1.93415 |
44.99999 | 1.74533e-07 | 1.74533e-07 |
Стоит учесть, что программа вычисляет значения с приблизительной Pi, поэтому при некоторых значениях, таких как 90 градусов, программа вычисляет с помощью pi = 3,1415926
Блок схема main()[pic 8]
4. Листинг программы:
#include <iostream>
#include <math.h>
using namespace std;
// Функция проверки на ошибки ввода
double err()
...