Составить программу которая определяет возможность существования треугольника по трем введенным

По длинам трех отрезков, введенных пользователем, определить возможность существования треугольника, составленного из этих отрезков. Если такой треугольник существует, то определить, является ли он разносторонним, равнобедренным или равносторонним.

Треугольник существует только тогда, когда сумма длин любых его двух сторон больше третьей стороны. Иначе две стороны просто «укладываются» на третьей.

Треугольник является разносторонним, если все его стороны имеют разную длину; треугольник будет равнобедренным, если любые две его стороны равны между собой, но отличны от третьей; и треугольник является равносторонним, когда все его стороны равны.

Прежде чем выяснять вид треугольника, необходимо удостовериться, что треугольник существует.

Если треугольник существует, то можно сначала проверить на неравенство три его стороны. Если они не равны друг другу, то треугольник разносторонний. Если это не так, то следующим шагом будет проверка на равенство всех сторон треугольника. Если все стороны равны, делается вывод о том, что треугольник равносторонний. Иначе остается только один вариант — равнобедренный треугольник.

Определить существование треугольника по трем сторонам. Решение задачи на Python

Pascal

var
a,b,c: word;

begin
write(‘a=’); readln(a);
write(‘b=’); readln(b);
write(‘c=’); readln(c);
if (a+b writeln(‘Такой треугольник не существует.’)
else
if (a <> b) and (a <> c) and (b <> c) then
writeln(‘Это разносторонний треугольник.’)
else
if (a = b) and (b = c) then
writeln(‘Это равносторонний треугольник.’)
else
writeln(‘Это равнобедренный треугольник.’);
end.

a=34
b=6
c=5
Такой треугольник не существует.

a=7
b=8
c=9
Это разносторонний треугольник.

a=6
b=6
c=4
Это равнобедренный треугольник.

a=5
b=5
c=5
Это равносторонний треугольник.

Читайте также:
Загрузить и установить антивирусную программу на компьютер

Язык Си

#include

main() int a,b,c;
scanf(«%d%d%d», b,
if (a+b printf(«Треугольник не существует.n»);
else
if (a != b a != c b != c)
printf(«Разностороннийn»);
else
if (a == b b == c)
printf(«Равностороннийn»);
else
printf(«Равнобедренныйn»);
>

Python

a = int(input(«a b c Треугольник не существует»)
elif a != b and a != c and b != c:
print(«Разносторонний»)
elif a == b == c:
print(«Равносторонний»)
else:
print(«Равнобедренный»)

КуМир

алг треугольник
нач
цел a,b,c
ввод a,b,c
если (a+b) вывод «Треугольник не существует»
иначе
если (a<>b) и (a<>c) и (b<>c) то
вывод «Разносторонний треугольник»
иначе
если (a=b) и (b=c) то

Числа Фибоначчи. Решение задачи на Python


вывод «Равносторонний треугольник»
иначе
вывод «Равнобедренный треугольник»
все
все
все
кон

12 18 14
Разносторонний треугольник

25 30 25
Равнобедренный треугольник

Basic-256

input «a b c Треугольник не существует.»

else
if a<>b and a<>c and b<>c then
print «Разносторонний треугольник.»
else
if a = b and a = c then
print «Равносторонний треугольник.»
else
print «Равнобедренный треугольник»
endif
endif
endif

Источник: gospodaretsva.com

Определить возможность существования треугольника по сторонам

Вводятся длины трех сторон предполагаемого треугольника. Определить, может ли существовать треугольник с такими сторонами при условии что, треугольник существует только тогда, когда ни одна его сторона не превышает сумму двух других.

Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

Ниже приведены решения задачи на языке программирования Паскаль двумя способами. В первом случае все стороны проверяются в одном операторе if ; во втором случае каждая сторона проверяется отдельно, а программа содержит вложенные операторы if-else .

В условии if проверяется, что каждая из сторон меньше суммы других. Если хотя бы одна будет больше, то все логическое выражение вернет ложь ( false ). В таком случае сработает ветка else .

Читайте также:
Гуу российско китайская программа отзывы

var a, b, c: integer; begin write(‘Длины сторон: ‘); readln(a, b, c); if (a < b+c) and (b < a+c) and (c < a+b) then writeln(‘Треугольник существует.’) else writeln(‘Треугольник не существует.’); end.

Примеры выполнения программы:

Длины сторон: 5 7 3 Треугольник существует.
Длины сторон: 10 5 3 Треугольник не существует.

В программе ниже существование треугольника проверяется поэтапно.

  1. Если первое условие возвращает ложь, то поток выполнения программы переходит к ветке else , которая соответствует внешнему if (находится в самом конце).
  2. Если первое условие соблюдено, то поток выполнения программы оказывается у вложенного if . Здесь проверяется уже второе условие.
  3. Если оно возвращает ложь, то программа переходит к предпоследнему else .
  4. Если и второе логическое выражение возвращает истину ( true ), то программа идет к третьему условию. При его соблюдении выполняется тело самого вложенного оператора if . При его несоблюдении сработает самое вложенное else .

Определить существование треугольника по трем сторонам

У треугольника сумма любых двух сторон должна быть больше третьей. Иначе две стороны просто «лягут» на третью и треугольника не получится.

Пользователь вводит длины трех сторон. Программа должна определять, может ли существовать треугольник при таких длинах. Это значит, необходимо сравнить суммы всех пар сторон с оставшейся третьей стороной. Чтобы треугольник существовал, сумма всегда должна быть больше отдельной стороны или, по крайней мере, не меньше, если учитывать так называемый вырожденный треугольник.

Поскольку всего три стороны, то можно составить три варианта сложения двух сторон: a + b , b + c , a + c . Первую сумму сравниваем с оставшейся стороной c , вторую — с a и третью — с b . Если хотя бы в одном случае сумма окажется не больше третьей стороны, то делается вывод, что треугольник не существует.

Читайте также:
Сколько было запусков при которых программа напечатала да доступ к файлу fish gif

print(«Стороны:») a = float(input(«a = «)) b = float(input(«b = «)) c = float(input(«c = «)) if a + b > c and a + c > b and b + c > a: print(«Треугольник существует») else: print(«Треугольник не существует»)

Можно решить задачу сложнее. Если требуется также определить, какая из сторон больше суммы двух других, то решение может быть таким:

print(«Длины сторон треугольника:») a = float(input(«a = «)) b = float(input(«b = «)) c = float(input(«c = «)) flag = » if a + b > c: if a + c > b: if b + c > a: print(«Треугольник есть») else: flag = ‘a’ else: flag = ‘b’ else: flag = ‘c’ if flag != »: print(«Треугольника нет») print(«‘%s’ > суммы других» % flag)

Особого смысла использовать переменную flag здесь нет. Она просто позволяет лишний раз не писать в программе строки, информирующие о том, что треугольник не существует.

Пример выполнения программы:

Длины сторон треугольника: a = 4 b = 5 c = 10 Треугольника нет ‘c’ > суммы других

Более изящным решением является использование оператора множественного ветвления языка программирования Python: if-elif-else.

print(«Длины сторон треугольника:») a = float(input(«a = «)) b = float(input(«b = «)) c = float(input(«c = «)) flag = » if a + b c: flag = ‘c’ elif a + c b: flag = ‘b’ elif b + c a: flag = ‘a’ else: print(«Треугольник есть») if flag != »: print(«Треугольника нет») print(«‘%s’ > суммы других» % flag)

Здесь сравнение происходит от обратного: утверждается, что сумма двух сторон меньше или равна третьей. Если это так (утверждение верно), то треугольника не существует. «Слишком длинная сторона» определяется в зависимости от того, в заголовке какой ветки логическое выражение возвращает истину.

X Скрыть Наверх

Решение задач на Python

Источник: younglinux.info

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru