Является ли код правильным?
Написал код, но сомневаюсь в его написание. Тема: Обработка исключительных ситуаций
Задание: Написать программу согласно варианту, демонстрацию обработки исключительной ситуации, генерирующей ошибку пользовательского типа (т.е. написать свой класс "исключение"). Треугольник задается координатами вершин на плоскости: A(x1, y1), B(x2, y2), C(x3, y3). Определить, является ли этот треугольник вырожденным. Исключение: точки не лежат на одной прямой.
#include <iostream> using namespace std; class CustomException : public exception { public: const char* what() const throw() { return "Треугольник вырожденный!"; } }; class Triangle { private: int x1, y1, x2, y2, x3, y3; public: void inputSides() { cout << "Введите координаты точки A (x1 y1): "; cin >> x1 >> y1; cout << "Введите координаты точки B (x2 y2): "; cin >> x2 >> y2; cout << "Введите координаты точки C (x3 y3): "; cin >> x3 >> y3; } void checkDegeneracy() { if ((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0) { throw CustomException(); } else { cout << "Треугольник не вырожден. Он образует правильный треугольник." << endl; } } }; int main() { setlocale(0, ""); Triangle triangle; triangle.inputSides(); try { triangle.checkDegeneracy(); } catch (CustomException& e) { cerr << e.what() << endl; } } |
#include <iostream> using namespace std; class CustomException : public exception { public: const char* what() const throw() { return "Треугольник вырожденный!"; } }; class Triangle { private: int x1, y1, x2, y2, x3, y3; public: void inputSides() { cout << "Введите координаты точки A (x1 y1): "; cin >> x1 >> y1; cout << "Введите координаты точки B (x2 y2): "; cin >> x2 >> y2; cout << "Введите координаты точки C (x3 y3): "; cin >> x3 >> y3; } void checkDegeneracy() { if ((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0) { throw CustomException(); } else { cout << "Треугольник не вырожден. Он образует правильный треугольник." << endl; } } }; int main() { setlocale(0, ""); Triangle triangle; triangle.inputSides(); try { triangle.checkDegeneracy(); } catch (CustomException& e) { cerr << e.what() << endl; } }
Дополнительно:
Запустите код - узнаете :)
Ответы:
(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0 |
(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0
Пока переменные - целые числа. Данное выражение может сработать на истину.
Но если захотите вещественные числа применять, то придется ввести константу или переменную для сглаживания погрешности работы с числами с плавающей запятой.
abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) <= eps |
abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) <= eps
eps - это макс. значение ошибки, при работе с числами с плавающей запятой. Очень сильно будет зависеть, в каких масштабах будут остальные переменные. Если единицы - то eps будет 0,001, если другие переменные сотни и тысячи, то эпсилон будет 0,1 (для примера привел числа, чтобы понимать масштаб).
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для того, чтобы проверить правильность кода в языке программирования PHP, необходимо выполнить следующие шаги:
1. Проверить синтаксис: убедитесь, что все скобки, точки с запятой, кавычки и другие символы используются правильно и в правильном порядке.
2. Проверить логику: просмотрите код и убедитесь, что он делает то, что от него ожидается. Проверьте условия, циклы, операторы и т.д.
3. Проверить переменные: убедитесь, что все переменные объявлены и использованы правильно. Проверьте их типы данных и область видимости.
4. Проверить ошибки: выполните код и проверьте, нет ли ошибок или предупреждений. Используйте инструменты для отладки, если необходимо.
5. Проверить результат: убедитесь, что код возвращает ожидаемый результат. Проверьте вывод на экран, значения переменных и т.д.
Если после выполнения всех этих шагов вы уверены, что ваш код правильный, то он вероятнее всего действительно правильный. Однако, всегда полезно попросить кого-то еще просмотреть ваш код, чтобы убедиться в его правильности.

Для проверки правильности кода в PHP необходимо учитывать несколько аспектов. Вот некоторые из них:
1. Синтаксическая правильность: Убедитесь, что все скобки, точки с запятой и другие символы используются правильно. PHP чувствителен к регистру, поэтому проверьте правильность написания ключевых слов.
2. Логическая правильность: Проверьте, что ваш код делает то, что вы от него ожидаете. Пройдите по коду по шагам и убедитесь, что каждая часть выполняет нужные действия.
3. Обработка ошибок: Обработка ошибок является важной частью любого кода. Убедитесь, что ваш код содержит проверки на ошибки и обработку исключений.
4. Эффективность: Оцените эффективность вашего кода. Может быть, есть способы улучшить его производительность или сделать его более оптимизированным.
Пример использования тега
для отображения PHP кода: <pre lang="php">
После того, как вы убедились, что ваш код соответствует всем вышеперечисленным критериям, вы можете быть уверены в его правильности. Если у вас остались сомнения, вы всегда можете обратиться за помощью к сообществу разработчиков, чтобы получить дополнительные советы и рекомендации по улучшению вашего кода.