Отчет по лабораторной работе 1 по дисциплине Программирование
Скачать 2.6 Mb.
|
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования Иркутский национальный исследовательский технический университет
Задача №45 1. Условие задачи Даны действительные числа A,B,C,D. Если A<=B<=C<=D, то каждое число заменить наибольшим из них; если A>B>C>D, то число оставить без изменения; в противном случае все числа заменяются их квадратами. 2. Математическое описание Если A<=B<=C<=D, то переменной max мы присваиваем значение D, а затем каждой переменной присваиваем значение max. Если нет, то проверяем условие A>B>C>D. Если это условие выполняется то значения остаются неизменными, иначе каждая переменная возводиться в квадрат. 3. Таблица 1 – Внешние спецификации
Таблица сообщений С1: «Введите действительные числа A, B, C и D через пробел». С2: «Wrong Input!». 4. Алгоритмизация 5. Проектирование тестов Таблица2-Таблица тестов
6. Проверка правильности алгоритма с помощью таблицы тестов Рисунок 1 – Результат выполнения программы для теста №1 Рисунок 2 – Результат выполнения программы для теста №2 Рисунок 3 – Результат выполнения программы для теста №3 Рисунок 4 – Результат выполнения программы для теста №4 7. Кодирование алгоритма или запись языка на языке C++ #include using namespace std; int main() { double A, B, C, D, max; bool fail=true; cout << "Введите действительные числа A, B, C и D через пробел: " << endl; cin >> A >> B >> C >> D; do { if ( cin.fail() ){ cout << "Wrong Input!" << endl; return 0; } else fail = false; cin.clear(); cin.ignore( cin.rdbuf()->in_avail() ); }while( fail ); if (A<=B && B<=C && C<=D) { int max = A; if (B > max) max = B; if (C > max) max = C; if (D > max) max = D; A = max; B = max; C = max; D = max; } else if (!(A>B && B>C && C>D)) { A = A*A; B = B*B; C = C*C; D = D*D; } cout << "Результат: " << A << ' ' << B << ' ' << C << ' ' << D; return 0; } Задача №59и 1. Условие задачи Заданы действительные числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) заштрихованной части плоскости. 2. Математическое описание Используем следующие математические положения и формулы: Чтобы обозначить нужные нам линии, воспользуемся формулой: . По формуле находим уравнение для нижней линии и заштриховываем область выше неё: y . Также находим уравнение для левой линии и заштриховываем область справа от неё: y . Убираем всё выше верхней линии с помощью уравнения: 0>x>-y. Убираем полностью первую четверть. 3. Таблица
Таблица сообщений С1: «Принадлежит» С2: «Не принадлежит» С3: «Введите значения x и y:» 4. Алгоритмизация Проектирование тестов
Проверка правильности алгоритма с помощью таблицы тестов Рисунок 1 – Результат выполнения программы для теста №1 Рисунок 2 – Результат выполнения программы для теста №2 Рисунок 3 – Результат выполнения программы для теста №3 Рисунок 4 – Результат выполнения программы для теста №4 Кодирование алгоритма или запись алгоритма на языке C++ #include #include using namespace std; int main() { double x,y; cout << "Введите значения х и у: " << endl; cin >> x >> y; if ((x>=0 && y<=0) || (x<=0 && y<=0) || (x<=0 && y>=0)) { if (!(0>x && x>-y)){ if ((y>=(x-1)/3) && (y<=2*x+3)) { cout << "Принадлежит!"; } else { cout << "Не принадлежит!"; } } else { cout << "Не принадлежит!"; } } else { cout << "Не принадлежит!"; } return 0; } Задача№80г 1.Условие задачи Пусть D - заштрихованная часть плоскости (см. рис. 3) и пусть задана точка своими координатами (X,Y). Запись (X,Y) D означает, что точка с координатами X, Y лежит внутри заштрихованной области D. Определить значение функции U следующим образом: 2. Математическое модель Используем следующие математические положения и формулы: Чтобы обозначить нужные нам линии, воспользуемся формулой: . Заштрихованная область находиться в 1 и 4 четверти. Вырезаем маленький кружок с помощью уравнения: x*x+y*y<=0.09 && x>0 && y>0. Для круга находим уравнение: x*x+y*y==1. 3. Таблица
Таблица сообщений С1: «Значение U равно: » С2: «Wrong Input!» С3: «Введите значения x и y: » 4. Алгоритмизация Проектирование тестов Таблица тестов
Проверка правильности алгоритма с помощью таблицы тестов Рисунок 1 – Результат выполнения программы для теста №1 Рисунок 2 – Результат выполнения программы для теста №2 Рисунок 3 – Результат выполнения программы для теста №3 Рисунок 4 – Результат выполнения программы для теста №4 Кодирование алгоритма или запись алгоритма на языке С++ #include #include using namespace std; int main() { double x, y, u; bool fail=true; cout << "Введите значение x и y:" << endl; cin >> x >> y; do { if ( cin.fail() ){ cout << "Wrong Input!" << endl; return 0; } else fail = false; cin.clear(); cin.ignore( cin.rdbuf()->in_avail() ); }while( fail ); if (y>=0){ if (!(x*x+y*y<=0.09 && x>0 && y>0)){ if (x*x+y*y==1){ u=(x*x-1); } else{ u=(abs(x-1)); } } else{ u=(abs(x-1)); } } else{ u=(abs(x-1)); } cout << "Значение U равно: " << u; return 0; } |