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

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Given the sides of a triangle, the task is to find the area of this triangle.

    Examples : 

    Input : a = 5, b = 7, c = 8
    Output : Area of a triangle is 17.320508
    
    
    Input : a = 3, b = 4, c = 5
    Output : Area of a triangle is 6.000000

    Approach: The area of a triangle can simply be evaluated using following formula. 

    Area = sqrt(s*(s-a)*(s-b)*(s-c))

    where a, b and c are lengths of sides of triangle, and 
    s = (a+b+c)/2

    Program to find area of a triangle

    Below is the implementation of the above approach:

    C++

    #include <bits/stdc++.h>

    using namespace std;

    float findArea(float a, float b, float c) 

        if (a < 0 || b < 0 || c < 0 || 

           (a + b <= c) || a + c <= b || 

                           b + c <= a) 

        

            cout << "Not a valid triangle"

            exit(0); 

        

        float s = (a + b + c) / 2; 

        return sqrt(s * (s - a) * 

                        (s - b) * (s - c)); 

    int main() 

        float a = 3.0; 

        float b = 4.0; 

        float c = 5.0; 

        cout << "Area is " << findArea(a, b, c); 

        return 0; 

    C

    #include <stdio.h> 

    #include <stdlib.h> 

    float findArea(float a, float b, float c)

    {

        if (a < 0 || b < 0 || c <0 || (a+b <= c) ||

            a+c <=b || b+c <=a)

        {

            printf("Not a valid triangle");

            exit(0);

        }

        float s = (a+b+c)/2;

        return sqrt(s*(s-a)*(s-b)*(s-c));

    }

    int main()

    {

        float a = 3.0;

        float b = 4.0;

        float c = 5.0;

        printf("Area is %f", findArea(a, b, c));

        return 0;

    }

    Java

    class Test

    {

        static float findArea(float a, float b, float c)

        {

            if (a < 0 || b < 0 || c <0 || (a+b <= c) ||

                a+c <=b || b+c <=a)

            {

                System.out.println("Not a valid triangle");

                System.exit(0);

            }

            float s = (a+b+c)/2;

            return (float)Math.sqrt(s*(s-a)*(s-b)*(s-c));

        }

        public static void main(String[] args) 

        {

            float a = 3.0f;

            float b = 4.0f;

            float c = 5.0f;

            System.out.println("Area is " + findArea(a, b, c));

        }

    }

    Python3

    def findArea(a,b,c): 

        if (a < 0 or b < 0 or c < 0 or (a+b <= c) or (a+c <=b) or (b+c <=a) ): 

            print('Not a valid triangle'

            return

        s = (a + b + c) / 2

        area = (s * (s - a) * (s - b) * (s - c)) ** 0.5

        print('Area of a triangle is %f' %area) 

    a = 3.0

    b = 4.0

    c = 5.0

    findArea(a,b,c) 

    C#

    using System;

    class Test {

        static float findArea(float a, float b,

                            float c)

        {

            if (a < 0 || b < 0 || c <0 || 

            (a + b <= c) || a + c <=b || 

                b + c <=a)

            {

                Console.Write("Not a valid triangle");

                System.Environment.Exit(0);

            }

            float s = (a + b + c) / 2;

            return (float)Math.Sqrt(s * (s - a) * 

                                (s - b) * (s - c));

        }

        public static void Main() 

        {

            float a = 3.0f;

            float b = 4.0f;

            float c = 5.0f;

            Console.Write("Area is " + findArea(a, b, c));

        }

    }

    PHP

    <?php

    function findArea($a, $b, $c)

    {

        if ($a < 0 or $b < 0 or

            $c < 0 or ($a + $b <= $c) or

            $a + $c <= $b or $b + $c <= $a)

        {

            echo "Not a valid triangle";

            exit(0);

        }

        $s = ($a + $b + $c) / 2;

        return sqrt($s * ($s - $a) * 

                ($s - $b) * ($s - $c));

    }

    $a = 3.0;

    $b = 4.0;

    $c = 5.0;

    echo "Area is ", findArea($a, $b, $c);

    ?>

    Javascript

    <script>

    function findArea( a,  b,  c) 

        if (a < 0 || b < 0 || c < 0 || 

           (a + b <= c) || a + c <= b || 

                           b + c <= a) 

        

            document.write( "Not a valid triangle"); 

            return;

        

        let s = (a + b + c) / 2; 

        return Math.sqrt(s * (s - a) * 

                        (s - b) * (s - c)); 

        let a = 3.0; 

        let b = 4.0; 

        let c = 5.0; 

      document.write( "Area is " + findArea(a, b, c)); 

    </script>

    Time Complexity: O(log2n)
    Auxiliary Space: O(1), since no extra space has been taken.

    Given the coordinates of the vertices of a triangle, the task is to find the area of this triangle.

    Approach: If given coordinates of three corners, we can apply the Shoelace formula for the area below.  

    Area = frac{sum_{i=1}^{n-1} (x_i y_{(i+1)}+x_ny_{1}) - sum_{i=1}^{n-1}(x_{(i+1)}y_i-x_1y_n)}{2}

    = frac{(x_{1}y_{2} + x_{2}y_{3} + ... + x_{n-1}y_{n} + x_{n}y_{1}) -(x_{2}y_{1} + x_{3}y_{2} + ... + x_{n}y_{n-1} + x_{1}y_{n})}{2}

    C++

    #include <bits/stdc++.h>

    using namespace std;

    double polygonArea(double X[], double Y[], int n)

    {

        double area = 0.0;

        int j = n - 1;

        for (int i = 0; i < n; i++)

        {

            area += (X[j] + X[i]) * (Y[j] - Y[i]);

            j = i; 

        }

        return abs(area / 2.0);

    }

    int main()

    {

        double X[] = {0, 2, 4};

        double Y[] = {1, 3, 7};

        int n = sizeof(X)/sizeof(X[0]);

        cout << polygonArea(X, Y, n);

    }

    Java

    import java.io.*;

    import java.math.*;

    class GFG {

        static double polygonArea(double X[], double Y[], int n)

        {

            double area = 0.0;

            int j = n - 1;

            for (int i = 0; i < n; i++)

            {

                area += (X[j] + X[i]) * (Y[j] - Y[i]);

                j = i; 

            }

            return Math.abs(area / 2.0);

        }

        public static void main (String[] args) 

        {

            double X[] = {0, 2, 4};

            double Y[] = {1, 3, 7};

            int n = X.length;

            System.out.println(polygonArea(X, Y, n));

        }

    }

    Python3

    def polygonArea(X,Y, n) :

        area = 0.0

        j = n - 1

        for i in range( 0, n) :

            area = area + (X[j] + X[i]) * (Y[j] - Y[i])

            j =

        return abs(area // 2.0)

    X = [0, 2, 4]

    Y = [1, 3, 7]

    n = len(X)

    print(polygonArea(X, Y, n))

    C#

    using System;

    class GFG {

        static double polygonArea(double []X,

                           double []Y, int n)

        {

            double area = 0.0;

            int j = n - 1;

            for (int i = 0; i < n; i++)

            {

                area += (X[j] + X[i]) * 

                            (Y[j] - Y[i]);

                j = i; 

            }

            return Math.Abs(area / 2.0);

        }

        public static void Main () 

        {

            double []X = {0, 2, 4};

            double []Y = {1, 3, 7};

            int n = X.Length;

            Console.WriteLine(

                     polygonArea(X, Y, n));

        }

    }

    PHP

    <?php

    function polygonArea( $X, $Y, $n)

    {

        $area = 0.0;

        $j = $n - 1;

        for ( $i = 0; $i < $n; $i++)

        {

            $area += ($X[$j] + $X[$i]) * 

                     ($Y[$j] - $Y[$i]);

            $j = $i

        }

        return abs($area / 2.0);

    }

        $X = array(0, 2, 4);

        $Y = array(1, 3, 7);

        $n = count($X);

        echo polygonArea($X, $Y, $n);

    ?>

    Javascript

    <script>

    function polygonArea(X, Y, n)

    {

        let area = 0.0;

        let j = n - 1;

        for (let i = 0; i < n; i++)

        {

            area += (X[j] + X[i]) * (Y[j] - Y[i]);

            j = i;

        }

        return Math.abs(area / 2.0);

    }

        let X = [0, 2, 4];

        let Y = [1, 3, 7];

        let n = X.length;

        document.write(polygonArea(X, Y, n));

    </script>

    Time Complexity: O(n)
    Auxiliary Space: O(1)

    Last Updated :
    16 Feb, 2023

    Like Article

    Save Article

    Перейти к содержанию

    Вычисление площадей и периметров фигур

    Просмотров 5.4к. Обновлено 26 октября 2021

    Площади и периметры фигур можно найти по следующим формулам.

    Периметр треугольника: P = a + b + c
    Площадь треугольника: S = √(p(p-a)(p-b)(p-c)), где p = P/2

    Периметр прямоугольника: P = 2(a + b)
    Площадь прямоугольника: S = ab

    Периметр круга: P = 2πr
    Площадь круга: S = πr2

    Pascal

    вычислить площадь фигуры паскаль


    var
    a,b,c: word;
    w,h: word;
    r: word;
    P,S: real;
    begin
    readln(a,b,c);
    P := (a + b + c) / 2;
    S := sqrt(P * (P - a) * (P - b) * (P - c));
    writeln('P=',a+b+c,'; S=',S:5:2);

    readln(w,h);
    writeln('P=',(w+h)*2,'; S=',w*h);

    readln(r);
    P := 2 * pi * r;
    S := pi * r * r;
    writeln('P=',P:5:2,'; S=',S:5:2);
    end.



    5 3 5
    P=13; S= 7.15
    3 9
    P=24; S=27
    5
    P=31.42; S=78.54

    Язык Си


    #include
    #include

    #define PI 3.14159

    main() {
    int a,b,c;
    float p,S;
    printf("Длины сторон треугольника: ");
    scanf("%d%d%d", &a,&b,&c);
    p = (a+b+c)/2;
    S = sqrt(p*(p-a)*(p-b)*(p-c));
    printf("P = %d; S = %.2fnn", (a+b+c), S);
    printf("Ширина и высота прямоугольника: ");
    scanf("%d%d", &a,&b);
    printf("P = %d; S = %dnn", (a+b)*2, a*b);
    printf("Радиус круга: ");
    scanf("%d", &a);
    printf("P = %.2f; S = %.2fn", 2*PI*a, PI*pow(a,2));
    }



    Длины сторон треугольника: 4 4 6
    P = 14; S = 7.94

    Ширина и высота прямоугольника: 2 5
    P = 14; S = 10

    Радиус круга: 3
    P = 18.85; S = 28.27

    В библиотеке math.h нет константы числа π.

    При компиляции с помощью gcc необходимо в конце команды указать ключ -lm (из-за math.h).

    Python

    вычислить площадь фигуры Python


    import math

    print("Введите длины сторон треугольника: ")
    a = int(input("a="))
    b = int(input("b="))
    c = int(input("c="))
    p = (a+b+c)/2
    s = math.sqrt(p*(p-a)*(p-b)*(p-c))
    print("P=%d; S=%.2f" % (a+b+c, s))

    print("Введите длины сторон прямоугольника: ")
    a = int(input("a="))
    b = int(input("b="))
    print("P=%d; S=%d" % ((a+b)*2, a*b))

    print("Введите радиус круга: ")
    r = int(input("r="))
    print("P=%.2f; S=%.2f" % (2*math.pi*r, math.pi*r**2))



    Введите длины сторон треугольника:
    a=2
    b=4
    c=3
    P=9; S=2.90
    Введите длины сторон прямоугольника:
    a=6
    b=7
    P=26; S=42
    Введите радиус круга:
    r=3
    P=18.85; S=28.27

    КуМир


    алг фигуры
    нач
    цел a,b,c
    ввод a, b, c
    вещ p, S
    p := (a+b+c)/2
    S := sqrt(p*(p-a)*(p-b)*(p-c))
    вывод "P=", p*2, "; S=", S, нс

    цел w, h
    ввод w, h
    вывод "P=", (w+h)*2, "; S=", w*h, нс

    цел r
    ввод r
    p := 2 * 3.14 * r
    S := 3.14 * r**2
    вывод "P=", p, "; S=", S, нс
    кон



    5 7 9
    P=21; S=17.41228
    4 9
    P=26; S=36
    5
    P=31.4; S=78.5

    Не нашлось константы для числа π

    Basic-256


    # найти площади и периметры геометрических фигур
    decimal 2
    # треугольник
    print "ТРЕУГОЛЬНИК"
    input " первая сторона: ", a
    input " вторая сторона: ", b
    input " третья сторона: ", c
    p = a + b + c
    print "Периметр: " + p
    p = p / 2
    s = sqr(p*(p-a)*(p-b)*(p-c))
    print "Площадь: " + s
    print
    # прямоугольник
    print "ПРЯМОУГОЛЬНИК"
    input " ширина: ", a
    input " высота: ", b
    print "Периметр: " + ((a + b) * 2)
    print "Площадь: " + (a * b)
    print
    # круг
    print "КРУГ"
    input " радиус: ", r
    print "Периметр: " + (2 * pi * r)
    print "Площадь: " + (pi * r^2)



    ТРЕУГОЛЬНИК
    первая сторона: 5
    вторая сторона: 5
    третья сторона: 5
    Периметр: 15
    Площадь: 10.83

    ПРЯМОУГОЛЬНИК
    ширина: 5
    высота: 5
    Периметр: 20
    Площадь: 25

    КРУГ
    радиус: 5
    Периметр: 31.42
    Площадь: 78.54

    Как вычислить площадь и периметр треугольника по 3 сторонам? Проверить возможно ли его создать?

    Нашел и немного переделал вот такой пример

    #include "stdafx.h"
    #include "iostream"
    #include "math.h"
    #include "conio.h"
    using namespace std;
    
    float qwer(float x1, float x2, float y1, float y2) {
        float d;
        d = sqrt(y2 - y1)*(y2 - y1) + (x2 - x1)*(x2 - x1);
        return d;
    }
    
    float per(float a, float b, float c) {
        return (a + b + c) / 2;
    }
    
    int main()
    {
        setlocale(LC_ALL, "Rus");
        float x[3], y[3];
        int i;
        for (i = 0; i < 3; i++) {
            cout << "Введите координаты " << i + 1 << " точки: ";
            cin >> x[i] >> y[i];
        }
        float a, b, c;
        a = qwer(x[0], x[1], y[0], y[1]);
        b = qwer(x[1], x[2], y[1], y[2]);
        c = qwer(x[2], x[0], y[2], y[0]);
        float pt;
    
        pt = (a, b, c);
    
        cout << "Площадь треугольники" << sqrt(pt*(pt - a)*(pt - b)*(pt - c)) << endl;
        _getch();
        return 0;
    }
    

    но после ввода значений выдает вот что

    Введите координаты 1 точки: 1 2
    Введите координаты 2 точки: 3 -1
    Введите координаты 3 точки: 2 5
    Площадь треугольника-nan(ind)
    

    BestProg

    Пример использования делегата для вызова анонимного метода. Разработка программы нахождения площади треугольника по формуле Герона

    Содержание

    Поиск на других ресурсах:

    Условие задачи

    Разработать приложение, которое находит площадь треугольника по формуле Герона. В приложении реализовать вызов анонимного метода с помощью делегата. Метод должен осуществлять вычисление площади треугольника. Приложение реализовать в Microsoft Visual Studio по шаблону Windows Forms Application .

    Математическая постановка задачи

    Формула Герона имеет вид:

    • S – площадь треугольника;
    • a , b , c – длины сторон треугольника;
    • p – полупериметр, который вычисляется по формуле:

    Выполнение

    1. Создание проекта

    Запустить систему Microsoft Visual Studio . Создать проект по шаблону Windows Forms Application . Сохранить проект в произвольной папке, например:

    Более детальный пример создания и сохранения проекта по шаблону Windows Forms Application описывается в теме:

    В результате будет создана новая форма приложения, как показано на рисунке 1.

    Рис. 1. Форма приложения после создания проекта

    2. Разработка формы приложения

    2.1. Размещение элементов управления на форме

    Разместить на форме следующие элементы управления:

    • 4 элемента управления типа Label . В результате будет создано 4 объекта (переменные) с именами label1 , label2 , label3 , label4 ;
    • 1 элемент управления типа Button . Будет создан объект с именем button1 ;
    • 3 элемента управления типа TextBox . В результате будет создано 3 объекта с именами textBox1 , textBox2 , textBox3 .

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

    Рис. 2. Форма приложения после размещения элементов управления

    2.2. Настройка элементов управления

    Более детальный пример того, как осуществляется настройка элементов управления типов Button , Label , TextBox описан в теме:

    Настроить следующие свойства элементов управления:

    • в элементе управления label1 свойство Text = «a = « ( label1.Text = «a = « );
    • label2.Text = «b = « ;
    • label3.Text = «c = « ;
    • в элементе управления button1 свойство Text = «Вычислить» ( button1.Text = «b = « );
    • в объекте, который соответствует форме Form1 , свойство Text = «Площадь треугольника» .

    Рис. 3. Главная форма приложения после настройки

    3. Написание программного кода

    Для написания программного кода нужно перейти в файл Form1.cs , который соответствует главной форме приложения (программы).

    3.1. Объявление типа делегата

    В теле класса формы Form1 объявить тип делегата:

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

    • тип делегата носит имя SquareTriangle ;
    • делегат этого типа будет получать три параметра типа float и возвращать значение типа float .

    После объявления типа, текст модуля «Form1.cs» следующий:

    3.2. Программирование обработчика события клика на кнопке «Вычислить»

    Подробный пример программирования события клика на кнопке описан в теме:

    Текст обработчика события клика на кнопке button1 :

    Объясним некоторые фрагменты кода. В обработчике события объявляется делегат с именем ST типа SquareTriangle . Делегат ST ссылается на анонимный метод, который получает входными 3 параметра типа float . В анонимном методе осуществляется вычисление площади треугольника по формуле Герона. Результат (площадь) возвращается с помощью оператора return .

    Длины сторон, которые вводятся с клавиатуры (элементы управления textBox1 , textBox2, textBox3 ) размещаются в переменных aa , bb , cc . Согласно синтаксису С#, переменные, которые объявлены в анонимном методе, имеют видимость на весь блок кода обработчика события button1_Click() . Поэтому, не может быть одинаковых имен в обработчике события и анонимном методе, который описан в этом обработчике. То есть, объявление

    есть верным. Если в тексте обработчика события попробовать написать

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

    3.3. Текст модуля Form1.cs

    Весь программный код модуля Form1.cs имеет вид:

    4. Запуск программы на выполнение

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

    Найти площади разных фигур

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

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

    Для вычисления площади круга необходим радиус, для прямоугольника — длины двух сторон, для треугольника (если площадь вычисляется по формуле Герона) — длины трех сторон. Следовательно, функции будут различаться по количеству параметров.

    Площадь круга вычисляется по формуле πr 2 .
    Площадь прямоугольника является произведением двух его сторон.
    Площадь треугольника по формуле Герона рассчитывается через полупериметр (p=(a+b+c)/2, где a , b и c — длины сторон треугольника) по формуле sqrt(p * (p-a) * (p-b) * (p-c)), где sqrt — квадратный корень.

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

    Pascal

    паскаль площадь фигуры

    В Паскале существует встроенная константа π (pi).

    Язык Си

    Компилировать с ключом -lm.

    Python

    КуМир

    Basic-256

    В функции ничего не передается и ничего из них не возвращается.

    • Total 5
    • 0
    • 0
    • 0
    • 5

    паскаль площадь фигуры

    var
    choice: char;
    a, x, y, z: real;

    function circle(r: real): real;
    begin
    circle := pi * sqr(r);
    end;

    function rectangle(a, b: real): real;
    begin
    rectangle := a * b
    end;

    function triangle(a, b, c: real): real;
    var x: real;
    begin
    x := (a + b + c) / 2;
    triangle := sqrt(x * (x — a) * (x — b) * (x — c))
    end;

    begin
    write(‘Круг(c), прямоугольник(r) или треугольник(t): ‘);
    readln(choice);
    case choice of
    ‘c’: begin
    write(‘Радиус: ‘);
    readln(x);
    a := circle(x)
    end;
    ‘r’: begin
    write(‘Длина и ширина: ‘);
    readln(x, y);
    a := rectangle(x, y)
    end;
    ‘t’: begin
    write(‘Стороны: ‘);
    readln(x, y, z);
    a := triangle(x, y, z)
    end
    end;
    writeln(‘Площадь: ‘, a:4:2);
    end.

    Круг(c), прямоугольник(r) или треугольник(t): c
    Радиус: 2
    Площадь: 12.57

    Круг(c), прямоугольник(r) или треугольник(t): r
    Длина и ширина: 3.85 12.55
    Площадь: 48.32

    Круг(c), прямоугольник(r) или треугольник(t): t
    Стороны: 3 4 6.5
    Площадь: 4.17

    В Паскале существует встроенная константа π (pi).

    float circle(float);
    float rectangle(float, float);
    float triangle(float, float, float);

    main() <
    char ch;
    float a,b,c;
    printf(«Круг(c), прямоугольник(r) или треугольник(t): «);
    scanf(«%c», &ch);
    switch (ch) <
    case ‘c’:
    printf(«Радиус: «);
    scanf(«%f», &a);
    printf(«Площадь круга %.2fn», circle(a));
    break;
    case ‘r’:
    printf(«Длина и ширина: «);
    scanf(«%f%f», &a, &b);
    printf(«Площадь прямоугольника: %.2fn», rectangle(a,b));
    break;
    case ‘t’:
    printf(«Стороны: «);
    scanf(«%f%f%f», &a, &b, &c);
    printf(«Площадь треугольника: %.2fn», triangle(a,b,c));
    break;
    >
    >

    float circle(float r) <
    return 3.14159 * r * r;
    >

    float rectangle(float x, float y) <
    return x * y;
    >

    float triangle(float x, float y, float z) <
    float p;
    p = (x+y+z) / 2;
    return sqrt(p * (p-x) * (p-y) * (p-z));
    >

    Компилировать с ключом -lm.

    def circle(r):
    return math.pi * r**2

    def rectangle(a, b):
    return a*b

    def triangle(a, b, c):
    p = (a+b+c)/2
    return math.sqrt(p * (p-a) * (p-b) * (p-c))

    choice = input(«Круг(к), прямоугольник(п) или треугольник(т): «)
    if choice == ‘к’:
    rad = float(input(«Радиус: «))
    print(«Площадь круга: %.2f» % circle(rad))
    elif choice == ‘п’:
    l = float(input(«Длина: «))
    w = float(input(«Ширина: «))
    print(«Площадь прямоугольника: %.2f» % rectangle(l,w))
    elif choice == ‘т’:
    AB = float(input(«Первая сторона: «))
    BC = float(input(«Вторая сторона: «))
    CA = float(input(«Третья сторона: «))
    print(«Площадь треугольника: %.2f» % triangle(AB,BC,CA))

    алг площадь фигуры
    нач
    вещ а, б, в
    сим фигура
    вывод «Круг(к), прямоугольник(п), треугольник(т): »
    ввод фигура
    если фигура = «к» то
    вывод «Радиус: »
    ввод а
    вывод «Площадь круга: «, круг(а)
    иначе
    если фигура = «п» то
    вывод «Длина: »
    ввод а
    вывод «Ширина: »
    ввод б
    вывод «Площадь прямоугольника: «, прямоугольник(а,б)
    иначе
    если фигура = «т» то
    вывод «Сторона 1: »
    ввод а
    вывод «Сторона 2: »
    ввод б
    вывод «Сторона 3: »
    ввод в
    вывод «Площадь треугольника: «, треугольник(а,б,в)
    все
    все
    все
    кон

    алг вещ круг (вещ р)
    нач
    знач := 3.14 * р**2
    кон
    алг вещ прямоугольник (вещ д, вещ ш)
    нач
    знач := д * ш
    кон
    алг вещ треугольник (вещ ст1, вещ ст2, вещ ст3)
    нач
    вещ п
    п := (ст1 + ст2 + ст3) / 2
    знач := sqrt(п * (п — ст1) * (п — ст2) * (п — ст3))
    кон

    input «Круг (к), прямоугольник (п) или треугольник (т): «, ch$
    if ch$ = «к» then
    gosub circ
    else
    if ch$ = «п» then
    gosub rectangle
    else
    if ch$ = «т» then
    gosub triangle
    endif
    endif
    endif
    end

    circ:
    input «Радиус: «, r
    print «Площадь круга: » + (pi * r^2)
    return

    rectangle:
    input «Длина: «, a
    input «Ширина: «, b
    print «Площадь прямоугольника: » + (a*b)
    return

    triangle:
    input «Первая сторона: «, a
    input «Вторая сторона: «, b
    input «Третья сторона: «, c
    p = (a+b+c) / 2
    s = sqrt(p * (p-a) * (p-b) * (p-c))
    print «Площадь треугольника: » + s
    return

    В функции ничего не передается и ничего из них не возвращается.

    Площадь треугольника по формуле Герона на Питоне

    На языке программирования Питон можно решить много разных задач, в том числе и по математике. Для начинающих изучать этот язык будет полезно решить задание на вычисление площади треугольника. Одним из способов вычисления этой величины является применение формулы Герона.

    Математическая часть задачи

    Из школьного курса математики вы знаете, что площадь треугольника можно вычислить по данным длинам трёх его сторон по формуле Герона:

    p – полупериметр треугольника.

    Решение задачи на Питоне

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

    Для ввода целых чисел используем функцию int() .

    Для решения задачи нам необходимо подключить библиотеку с математическими функциями. Делаем это с помощью строки импорта:

    Функция для извлечения квадратного корня в этой библиотеке записывается так:

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

    Результат выполнения кода программы

    Второй вариант решения задачи

    Также можно воспользоваться стандартной функцией возведения числа в степень. Дело в том, что квадратный корень — это возведение в степень 1/2.

    Синтаксис функции такой:

    где x — число, возводимое в степень, а y — сама степень.

    Вот так это запишется по формуле:

    Результат выполнения кода:

    Третий вариант решения задачи

    Вместо извлечения корня можно возвести в степень 1/2 или 0,5 . При этому функцию использовать не нужно.

    Как видим, результат выполнения программы точно такой же.

    источники:

    http://gospodaretsva.com/search-square.html

    http://inphormatika.ru/programming/python/zadachi_python/plos4ad_treugolnika_po_formule_gerona_na_pitone.html

    Площадь треугольника по формуле Герона

    📐 Площадь прямоугольного треугольника. Вычислить площадь и периметр прямоугольного треугольника по двум сторонам. Четыре варианта решения задач.

    🟩 Вычисление периметра и площади квадрата. Четыре варианта решения задачи. В том числе вариант решения на PascalABC.NET, без использования устаревших конструкций (с точки зрения этой версии).


    Даны три стороны треугольника ABC. Напишите программу вычисления площади треугольника по формуле Герона

    Задачи по информатике, программирование на Паскале. Во втором примере используется оператор перехода GOTO. Третий пример написан, с учётом рекомендаций PascalABC.NET («здоровье кода» составляет 144%).

    Задача №1

    Задание:
    Вычислить площадь треугольника по формуле Герона S = √(p·(p — a)·(p — b)·(p — c))

    Program Heron;
    Var p, St, A, B, C : Real;
    begin
    writeln(‘Площадь треугольника по формуле Герона ‘);
    write(‘Введите стороны треугольника ‘);
    readln(A, B, C);
    if (A+B>C) AND (A+C>B) AND (B+C>A) then begin
    p := (A + B + C) / 2;
    St := Sqrt(p * (p — a) * (p — b) * (p — c));
    writeln(‘Площадь треугольника ‘, St:8:5)
    end
    else writeln(‘Треугольник с такими сторонами не существует’)
    end.

    Замечание:
    В процедуре вывода writeln используется форматированный вывод переменной. St:8:5 обозначает, что для вывода значения переменной S будет использоваться 8 позиций, в том числе 5 после запятой. При этом если целая часть числа будет трёхзначной, то после запятой всё равно будет 5 знаков, а всё число будет занимать 9 позиций.

    Задача №2

    Задание:
    1. Вычислить площадь треугольника по формуле Герона S = √(p·(p — a)·(p — b)·(p — c))
    2. Спросить у пользователя «Заверить программу или продолжить выполнение».

    Program Heron;
    Label 1;
    Var
    p, St, A, B, C : Real;
    YN : Char;
    begin
    writeln(‘Площадь треугольника по формуле Герона ‘);
    1:
    write(‘Введите стороны треугольника ‘);
    readln(A, B, C);
    if (A+B>C) AND (A+C>B) AND (B+C>A) then begin
    p := (A + B + C) / 2; { Найти полупериметр треугольника }
    St := Sqrt(p * (p — a) * (p — b) * (p — c));
    writeln(‘Площадь треугольника ‘, St:8:5)
    end
    else writeln(‘Треугольник с такими сторонами не существует’);
    write(‘Продолжить выполнение программы? Y / N ‘);
    readln(YN);
    if (YN = ‘Y’) OR (YN = ‘y’) then GOTO 1
    else writeln (‘Вы закончили работу с программой’);
    end.

    Вычислить площадь треугольника по формуле Герона. Вариант решения на PascalABC.NET

    Задание:
    Найти площадь треугольника. При решении задачи использовать синтаксис, рекомендуемый в PascalABC.NET.

    begin
    Println(‘Площадь треугольника по формуле Герона ‘);
    Print(‘Введите стороны треугольника ‘);
    var (A, B, C) := ReadReal3; // Возвращает кортеж из трёх значений типа real, введенных с клавиатуры.
    if (A+B>C) AND (A+C>B) AND (B+C>A) then begin // Проверить существует ли треугольник с такими сторонами.
    var p := (A + B + C) / 2; // Найти полупериметр треугольника.
    var St := Sqrt(p * (p — a) * (p — b) * (p — c)); // Вычислить площадь. Функция Sqrt — возвращает квадратный корень числа.
    Println(‘Площадь треугольника ‘, St)
    end
    else Println(‘Треугольник с такими сторонами не существует’)
    end.


    📐 Площадь прямоугольного треугольника. Вычислить площадь и периметр прямоугольного треугольника по двум сторонам. Четыре варианта решения задач.

    🟩 Вычисление периметра и площади квадрата. Четыре варианта решения задачи. В том числе вариант решения на PascalABC.NET, без использования устаревших конструкций (с точки зрения этой версии).

    Рекламный блок

    Информационный блок

    Понравилась статья? Поделить с друзьями:

    Не пропустите также:

  • Как составить акт на списание бензина
  • Как ввести координаты чтобы найти место
  • Как найти формулу в поиске
  • Как найти одну третью от числа 25674
  • Как найти депрессию выборки

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии