Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №1391097
А
Аноним
04 сентября 2024 17:50 · публичный вопрос
А
Аноним

Составь программу по нахождению площади треугольника трёх видов разветвляющийся линейный цикличный

Ответ нейросети
04 сентября 2024 17:50

Чтобы создать программу для вычисления площади треугольника тремя различными способами (разветвляющийся, линейный и цикличный), давайте рассмотрим каждый из этих методов.

1. Разветвляющаяся программа

В этом варианте мы будем использовать условия для определения способа вычисления площади треугольника. Например, можно использовать формулу Герона или формулу через основание и высоту.

import math

def area_triangle_branching():
    method = input("Выберите метод (1 - основание и высота, 2 - стороны (формула Герона)): ")

    if method == '1':
        base = float(input("Введите основание треугольника: "))
        height = float(input("Введите высоту треугольника: "))
        area = 0.5 * base * height
        print(f"Площадь треугольника: {area}")
    
    elif method == '2':
        a = float(input("Введите длину стороны a: "))
        b = float(input("Введите длину стороны b: "))
        c = float(input("Введите длину стороны c: "))
        s = (a + b + c) / 2
        area = math.sqrt(s * (s - a) * (s - b) * (s - c))
        print(f"Площадь треугольника: {area}")
    
    else:
        print("Неверный выбор.")

area_triangle_branching()

2. Линейный способ

Линейный подход подразумевает пошаговые инструкции без разветвлений (ряд последовательных вычислений).

def area_triangle_linear():
    method = input("Выберите метод (1 - основание и высота, 2 - стороны (формула Герона)): ")
    
    if method == '1':
        base = float(input("Введите основание треугольника: "))
        height = float(input("Введите высоту треугольника: "))
        area = 0.5 * base * height
    elif method == '2':
        a = float(input("Введите длину стороны a: "))
        b = float(input("Введите длину стороны b: "))
        c = float(input("Введите длину стороны c: "))
        s = (a + b + c) / 2
        area = math.sqrt(s * (s - a) * (s - b) * (s - c))
    else:
        raise ValueError("Неверный метод.")

    print(f"Площадь треугольника: {area}")

area_triangle_linear()

3. Цикличный способ

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

def area_triangle_cyclic():
    while True:
        method = input("Выберите метод (1 - основание и высота, 2 - стороны (формула Герона), q - выход): ")
        
        if method == '1':
            base = float(input("Введите основание треугольника: "))
            height = float(input("Введите высоту треугольника: "))
            area = 0.5 * base * height
            print(f"Площадь треугольника: {area}")
        
        elif method == '2':
            a = float(input("Введите длину стороны a: "))
            b = float(input("Введите длину стороны b: "))
            c = float(input("Введите длину стороны c: "))
            s = (a + b + c) / 2
            area = math.sqrt(s * (s - a) * (s - b) * (s - c))
            print(f"Площадь треугольника: {area}")

        elif method == 'q':
            break
        
        else:
            print("Неверный выбор, попробуйте снова.")

area_triangle_cyclic()

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