
Требовалось написать программу, которая определяет, можно ли построить треугольник из отрезков с
длинами х, у, z. Программа должна выводить соответствующее текстовое сообщение. Программист сделал в программе ошибки. var х, у, z: real; begin readln (x, у, z); if (x + y > z) then begin if (x + z > y) then if (y + z > x) then writeln('треугольник построить можно'); end else writeln('треугольник построить нельзя'); end Последовательно выполните задания: 1. Приведите пример таких чисел х, у, z, при которых программа неверно решает поставленную задачу. 2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать один из способов доработки исходной программы). 3. Укажите, как можно доработать программу, чтобы она вместо вложенных операторов IF содержала логическую операцию AND. Нужен подробный ответ.

Ответы на вопрос

Что бы исправить этот баг необходимо все условия свести в одно:
if ((x + y > z)and (x + z > y) and (y + z > x) ) then
writeln('треугольник построить можно')
else
writeln('треугольник построить нельзя');
end.
------------------------------------
Это решение так же является ответом на 3-й вопрос.



1. Пример чисел x, y, z, при которых программа неверно решает поставленную задачу: x = 1, y = 2, z = 10. В данном случае, программа выведет сообщение "треугольник построить можно", хотя треугольник с такими сторонами невозможно построить.
2. Для того чтобы исправить ошибку в программе, нужно изменить условие проверки на возможность построения треугольника. Вместо проверки (x + y > z) нужно проверять (x + y >= z), чтобы учесть случай, когда сумма длин двух сторон равна длине третьей стороны.
3. Для того чтобы использовать логическую операцию AND вместо вложенных операторов IF, можно переписать программу следующим образом:
var x, y, z: real; begin readln(x, y, z); if (x + y >= z) and (x + z >= y) and (y + z >= x) then writeln('треугольник построить можно') else writeln('треугольник построить нельзя'); end
В данном случае, мы используем логическую операцию AND для объединения условий проверки на возможность построения треугольника. Если все три условия выполняются, то программа выводит сообщение "треугольник построить можно", иначе - "треугольник построить нельзя".


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili