Programa para hallar la altura de un trapezoide

Dados dos números enteros a y b que representan la longitud de las dos bases, y los dos números enteros p1 y p2 que representan los lados no paralelos de un trapezoide, la tarea es encontrar la altura del trapezoide.

Un trapezoide es un cuadrilátero convexo con al menos un par de lados paralelos. Los lados paralelos se llaman bases del trapezoide y los otros dos lados que no son paralelos se llaman catetos. También puede haber un par de bases. 
En la figura, CD || AB. Por lo tanto, forman las bases, y los otros dos lados, es decir, AD y BC , forman las piernas.

Ejemplos:

Entrada: a = 14, b = 13, p1 = 25, p2 = 10
Salida: 11,2

Entrada: a = 8, b = 16, p1 = 25, p2 = 10
Salida: 7.92401

Aproximación: Para encontrar la altura del trapecio, construya las perpendiculares DE y CF en la base AB del trapecio como se muestra en la siguiente figura.

Ahora, el área del triángulo AED y el área del triángulo CFB se pueden calcular utilizando la fórmula de Heron con lados p1 , p2 y (b – a) . Además, su área es igual a 0,5 * (b – a) * h
A partir de estas dos ecuaciones, calcula el valor de h , que es la altura del trapezoide.

Fórmula de Heron: Considere un triángulo con lados a, b y c , luego 
Área del triángulo, A = (s (s – a)(s – b)(s – c)) 1/2 , donde s = (a + b +c)/2

Además, A = 0.5 * base * altura
Después de reorganizar los términos, la altura del trapezoide = (A * 2) / Base

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program for the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate height
// of the trapezoid
void findHeight(float p1, float p2,
                float b, float c)
{
    float a = max(p1, p2) - min(p1, p2);
 
    // Apply Heron's formula
    float s = (a + b + c) / 2;
 
    // Calculate the area
    float area = sqrt(s * (s - a)
                      * (s - b) * (s - c));
 
    // Calculate height of trapezoid
    float height = (area * 2) / a;
 
    // Print the height
    cout << "Height is: " << height;
}
 
// Driver Code
int main()
{
    // Given a, b, p1 and p2
    float p1 = 25, p2 = 10;
    float a = 14, b = 13;
 
    findHeight(p1, p2, a, b);
 
    return 0;
}

Java

// Java program to implement
// the above approach
import java.util.*;
 
class GFG
{
   
// Function to calculate height
// of the trapezoid
static void findHeight(float p1, float p2,
                float b, float c)
{
    float a = Math.max(p1, p2) - Math.min(p1, p2);
 
    // Apply Heron's formula
    float s = (a + b + c) / 2;
 
    // Calculate the area
    float area = (int)Math.sqrt(s * (s - a)
                      * (s - b) * (s - c));
 
    // Calculate height of trapezoid
    float height = (area * 2) / a;
 
    // Print the height
    System.out.print("Height is: " + height);
}
 
// Driver Code
public static void main(String args[])
{
   
    // Given a, b, p1 and p2
    float p1 = 25, p2 = 10;
    float a = 14, b = 13;
 
    findHeight(p1, p2, a, b);
}
}
 
// This code is contributed by splevel62.

Python3

# Python3 program to implement
# the above approach
import math
 
# Function to calculate height
# of the trapezoid
def findHeight(p1, p2, b, c) :            
    a = max(p1, p2) - min(p1, p2)
 
    # Apply Heron's formula
    s = (a + b + c) // 2
 
    # Calculate the area
    area = math.sqrt(s * (s - a)
                      * (s - b) * (s - c))
 
    # Calculate height of trapezoid
    height = (area * 2) / a
 
    # Print the height
    print("Height is: ",  height)
 
 
# Driver Code
 
# Given a, b, p1 and p2
p1 = 25
p2 = 10
a = 14
b = 13
 
findHeight(p1, p2, a, b)
 
# this code is contributed by sanjoy_62.

C#

// C# program to implement
// the above approach
using System;
 
public class GFG
{
   
// Function to calculate height
// of the trapezoid
static void findHeight(float p1, float p2,
                float b, float c)
{
    float a = Math.Max(p1, p2) - Math.Min(p1, p2);
 
    // Apply Heron's formula
    float s = (a + b + c) / 2;
 
    // Calculate the area
    float area = (int)Math.Sqrt(s * (s - a)
                      * (s - b) * (s - c));
 
    // Calculate height of trapezoid
    float height = (area * 2) / a;
 
    // Print the height
    Console.Write("Height is: " + height);
}
 
// Driver Code
public static void Main(String []args)
{
   
    // Given a, b, p1 and p2
    float p1 = 25, p2 = 10;
    float a = 14, b = 13;
 
    findHeight(p1, p2, a, b);
}
}
 
// This code is contributed by shikhasingrajput

Javascript

<script>
 
// JavaScript program to implement
// the above approach
 
// Function to calculate height
// of the trapezoid
function findHeight(p1, p2, b, c)
{       
    a = Math.max(p1, p2) - Math.min(p1, p2)
 
    // Apply Heron's formula
    let s = Math.floor((a + b + c)/2)
 
    // Calculate the area
    let area = Math.sqrt(s * (s - a)
                    * (s - b) * (s - c))
 
    // Calculate height of trapezoid
    height = (area * 2) / a
 
    // Print the height
    document.write("Height is: ", height)
}
 
// Driver Code
 
// Given a, b, p1 and p2
let p1 = 25
let p2 = 10
let a = 14
let b = 13
 
findHeight(p1, p2, a, b)
 
// This code is contributed by shinjanpatra
</script>
Producción: 

Height is: 11.2

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por saragupta1924 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *