
Нижегородский Государственный Технический Университет Имени Р.Е. Алексеева Кафедра «Энергетические установки и тепловые двигатели» Дисциплина «Компьютерные технологии» Лабораторная работа №1 Тема: Линейные алгоритмы Вариант №15
Выполнил: Туев А.В. 23-ЭУД-1 Проверила: Шубина Н.В.
Нижний Новгород 2023
Постановка задачи (a) Составить блок-схему и написать программу вычисления значений функций
и
, где
и
в рамках линейного алгоритма без анализа исходных аргументов
и
на ОДЗ. Выполнить ручной счёт для проверки результатов работы программы. Поскольку в программе не предусмотрен анализ на ОДЗ, необходимо задавать исходные значения и , удовлетворяющие обеим вычислительным функциям. ОДЗ по
:
ОДЗ по
:
Для тестового расчёта зададим значения исходных данных, одновременно удовлетворяющих ОДЗ обеих функций:
Начало
Описание переменных x, a, y, z
Блок-схема(а)
«Введите
x, a»
Конец
Ввод
x, a
Вывод
x, a, y, z
Листинг программы на С++ (a) #include “stdafx.h” #include <iostream> #include <math.h> using namespace std; void main() { double x, a, y, z; setlocale(LC_ALL, “Russian”; cout << “Введи x, a: \n” << endl; cin >> x >> a; cout << “\n”; y = -sqrt((4 * pow(x, 2) + pow(a, 2)) / 3.0); z = (5 * pow(cos(x * a), 3) - 1) / (pow(x * a, 1.0 / 3.0) + 2.5); cout << "Исходные данные: \n \n" << "x = " << x << "\t a = " << a << "\n"; cout << "\nРезультаты : \n \n" << "y = " << y << "\t z = " << z << "\n"; getchar(); }
Результаты программы на C++ (a)
Постановка задачи (б) Составить блок-схему и написать программу вычисления значений функций и , где и в рамках разветвлённого алгоритма с анализом исходных аргументов и на ОДЗ. Выполнить ручной счёт для проверки результатов работы программы. ОДЗ по : ОДЗ по : Для тестовых расчётов зададим 2 набора значений исходных данных, в первом случае набор будет удовлетворять ОДЗ функций, а во втором – не будет.
«Результаты:» y=
«Исходные данные:» x, a
Ввод x, a
«Введите x, a»
Описание переменных x, a, y, z
Начало
“Не удовлетворяет ОДЗ по Z.”
z =
Конец
Блок-схема(б)
Листинг программы на С++ (б) #include “stdafx.h” #include <iostream> #include <math.h> using namespace std; void main() { double x, a, y, z; setlocale(LC_ALL, “Russian”; cout << "\n Введи x, a: \n"; cin >> x >> a; cout << "\n Исходные данные: \n x = " << x << "\t a = " << a << endl; y = -sqrt((4 * pow(x, 2) + pow(a, 2)) / 3.0); cout << "\n Результаты: \n y = " << y << endl; if ((pow(x * a, 1.0 / 3.0) + 2.5)!= 0) { z = (5 * pow(cos(x * a), 3) - 1) / (pow(x * a, 1.0 / 3.0) + 2.5); cout << "\n z = " << z << endl; } else cout << "\t Не удовлетворяет ОДЗ по Z. \n"; getchar(); }
Р
езультаты программы на C++ (б)
П
рограмма в Mathcad (а и б)
Программа в Excel (а и б)