По разделам

 

Решение задачи Begin 21


Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3).
Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20). Для нахождения
площади треугольника со сторонами a, b, c использовать формулу Герона:
S =

p·(p − a)·(p − b)·(p − c),
где p = (a + b + c)/2 — полупериметр.

Код (C/C++)

#include <iostream>
#include <cmath>
using namespace std;
int main(){
	double x1,y1,x2,y2,x3,y3,a,b,c,P,p,S;
	cout << "Vvedit koordinati pervoy vershini (x1, y1): ";
	cin >> x1 >> y1;
	cout << "Vvedit koordinati vtoroy vershini (x2, y2): ";
	cin >> x2 >> y2;
	cout << "Vvedit koordinati tretey vershini (x3, y3): ";
	cin >> x3 >> y3;
	a = sqrt(pow((x1-x2),2)+pow((y1-y2),2));
	b = sqrt(pow((x1-x3),2)+pow((y1-y3),2));
	c = sqrt(pow((x2-x3),2)+pow((y2-y3),2));
	P = a+b+c;
	p = P/2;
	S = sqrt(p*(p-a)*(p-b)*(p-c));
	cout << "Perimetr: " << P << "." << endl;
	cout << "Ploshyad': " << S << "." << endl;
	return 0;
}

Код (Python)

import numpy as np
import math

def Distance(A,B):
    return math.sqrt((A[0] - B[0])**2 + (A[1] - B[1])**2)

x1,x2,x3,y1,y2,y3 = list(np.random.choice(range(-10, 11), 6))
#x1,x2,x3,y1,y2,y3 = [0,3,0,0,0,4]
while (x3-x1)*(y2-y1) == (y3-y1)*(x2-x1):
    x1,x2,x3,y1,y2,y3 = list(np.random.choice(range(-10, 11), 6))    

print("Вершина A (x1, y1): ({0},{1})".format(x1, y1))

 

print("Вершина B (x2, y2): ({0},{1})".format(x2, y2))
print("Вершина C (x3, y3): ({0},{1})".format(x3, y3))

d_AB = Distance([x1,y1],[x2,y2])
print("Длина AB: ", d_AB)

d_AC = Distance([x1,y1],[x3,y3])
print("Длина AC: ", d_AC)

d_BC = Distance([x2,y2],[x3,y3])
print("Длина BC: ", d_BC)

p = (d_AB + d_AC + d_BC)/2
print("Полупериметр: ", p)

S = math.sqrt(p*(p-d_AB)*(p-d_AC)*(p-d_BC))
print("Площадь: ", S)
									

Код (Pascal)

program Begin21;
var
  x1,y1,x2,y2,x3,y3,a,b,c,P,pp,S: Real;{pp-полупериметр}
begin
  Writeln('Введите значение координат певой точки: ');
  Write('Введите значение x: ');
  Readln(x1);
  Write('Введите значение y: ');
  Readln(y1);
  Writeln('Введите значение координат второй точки: ');
  Write('Введите значение x: ');
  Readln(x2);
  Write('Введите значение y: ');
  Readln(y2);
  Writeln('Введите значение координат третьей точки: ');
  Write('Введите значение x: ');
  Readln(x3);
  Write('Введите значение y: ');
  Readln(y3);
  a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
  b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
  c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
  P:=a+b+c;
  Writeln('Периметр треугольника равен: ',P);
  pp:=(a+b+c)/2;
  S:=Sqrt(pp*(pp-a)*(pp-b)*(pp-c));
  Writeln('Площадь треугольника равен: ',S);
end.
									




Begin. Абрамян
Begin 1 Просмотров: 24457
Begin 2 Просмотров: 9654
Begin 3 Просмотров: 11628
Begin 4 Просмотров: 9460
Begin 5 Просмотров: 10250
Begin 6 Просмотров: 9613
Begin 7 Просмотров: 8587
Begin 8 Просмотров: 7588
Begin 9 Просмотров: 8591
Begin 10 Просмотров: 11443
Begin 11 Просмотров: 7767
Begin 12 Просмотров: 9225
Begin 13 Просмотров: 8316
Begin 14 Просмотров: 7568
Begin 15 Просмотров: 8618
Begin 16 Просмотров: 6619
Begin 17 Просмотров: 6251
Begin 18 Просмотров: 5769
Begin 19 Просмотров: 8205
Begin 20 Просмотров: 7607
Begin 21 Просмотров: 9835
Begin 22 Просмотров: 5391
Begin 23 Просмотров: 5341
Begin 24 Просмотров: 3434
Begin 25 Просмотров: 5684
Begin 26 Просмотров: 3949
Begin 27 Просмотров: 4868
Begin 28 Просмотров: 4712
Begin 29 Просмотров: 4911
Begin 30 Просмотров: 4000
Begin 31 Просмотров: 3312
Begin 32 Просмотров: 4767
Begin 33 Просмотров: 5729
Begin 34 Просмотров: 4092
Begin 35 Просмотров: 3894
Begin 36 Просмотров: 3399
Begin 37 Просмотров: 4083
Begin 38 Просмотров: 4034
Begin 39 Просмотров: 4260
Begin 40 Просмотров: 6581

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет