Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/744: Рейтинг темы: голосов - 744, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 01.11.2008
Сообщений: 12
1

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

10.12.2008, 06:45. Показов 146726. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать процедуру,которая вычислит площадь треугольника по формуле Герона S=(p*(p-a)*(p-b)*(p-c))

:help нужно на отчет:Написать процедуру,которая вычислит площадь треугольника по формуле Герона S=(p*(p-a)*(p-b)*(p-c))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2008, 06:45
Ответы с готовыми решениями:

Вычислить площадь треугольника по формуле Герона
ВЫЧЕСЛИТЬ ПЛОЩАДЬ ТРЕУГОЛЬНИКА ПО ФОРМУЛЕ ГЕРОНА S=√p(p-a)(p-b)(p-c) где p-полупериметр...

Найти площадь треугольника по формуле Герона
Вот треугольник. Помогите найти площадь большого треугольника по формуле Герона.

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

Вычислить площадь прямоугольного треугольника по формуле Герона
Помогите пожалуйста написать программу решения задачи: Вычислить площадь прямоугольного...

13
Супер-модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.12.2008, 16:15 2
это предсессионное обострение началось, я так понимаю, попробуй так:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program ger;
uses crt;
var a, b, c:integer;
function geron(a,b,c:integer):double;
var p:double;
begin
  p:=(a+b+c)/2;
  geron:=p*(p-a)*(p-b)*(p-c);
end;
begin
  write('vvedite a-> '); readln(a);
  write('vvedite b-> '); readln(b);
  write('vvedite c-> '); readln(c);
  writeln(geron(a,b,c));
  readkey;
end.
0
Не знаю
10.12.2008, 18:04 3
примитивщина,для спинного мозга

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program zadacha;
var a,b,c,p,s:real;
begin
writeln('введите a');
readln(a)
writeln('введите b');
readln(b);
writeln('введите c');
readln(c);
if (a+b>c) and (b+c>a) and (a+c>b) and (a>0) amd (b>0) and (c>0)then
begin
p:=(a+b+c)/2{не помню,по моему через полупериметр формула герона идёт}
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('s= ',s:3:2)
end 
else
writeln('некорректные данные');
readln
end.
dark9
10.12.2010, 12:51 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
var p,a,b,c,s,r,error:real;
begin
clrscr;
writeln('vvedite storoni');
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
if (a>0) and (b>0) and (c>0) then writeln('Treugolnik suchestvuet')
else writeln('Treugolnik ne suchestvuet');
if (a>0) and (b>0) and (c>0) then writeln ('ploshad gerona = ' , s)
else writeln('nekorektnie dannie');
readln;
end.
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 8
12.01.2018, 17:40 5
dark9, у тебя ошибка в коде, вроде всё ок, да вот и нет, не дописал ты основного, треугольник будет только находить а вот не скажет что треугольника не существует, вот как должно быть:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses crt;
var p,a,b,c,s,:real;
           begin
  write('Введите сторону a: ');readln(a);
   write('Введите сторону b: ');readln(b);
    write('Введите сторону c: ');readln(c);
  p := (a + b + c) / 2;
  s := sqrt(p * (p - a) * (p - b) * (p - c));
  if (a > 0) and (b > 0) and (c > 0) and (b+c>a)and (b+a>c)and(a+c>0) then 
    writeln('Треугольник существует')
  else writeln('Треугольник не существует');
  if (a > 0) and (b > 0) and (c > 0)and (b+c<a)and (b+a>c)and(a+c>0) then 
    writeln('Площадь герона= ', s:5:4)
  else writeln('Не верные данные');
end.
0
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 3
31.08.2019, 20:50 6
Я наверное тот, кого называют овнокодером. :-)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Program tri;
uses
CRT;
Var
S,P,A,B,C: Real;
 
Procedure AA;
Begin 
If A > 0 then
esle Repeat WriteLn('Введите положительное число A');
ReadLn(A);
Until A > 0;
end;
 
Procedure BB;
Begin
If B > 0 then
else Repeat WriteLn('Введите положительное число B');
ReadLn(B);
Until B > 0;
end;
 
Procedure CC;
Begin
If C > 0 then
else Repeat WriteLn('Введите положительное число C');
ReadLn(C);
Until C > 0;
end;
 
Begin
ClrScr;
WriteLn('Введите сторону А');
AA;
BB;
CC;
p := (A+B+C)/2;
S := sqrt(p*(p-a)*(p-b)*(p-c));
WriteLn(S:0:5);
End.
0
2373 / 775 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
31.08.2019, 22:45 7
SyMaster, вот Ваш код, очищенный от известной вонючей субстанции
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Program tri;
uses
  CRT;
 
Procedure ValueIn(str: string; var arg: real);
Begin
  WriteLn('Введите сторону ' + str);
  Repeat
    WriteLn('Введите положительное число ' + str);
    ReadLn(arg);
  Until arg > 0;
end;
 
Var
  s,p,a,b,c: Real;
Begin
  ClrScr;
  ValueIn('A',a);
  ValueIn('B',b);
  ValueIn('C',c);
  if (a+b > c) and (b+c > a) and (a+c > b) then
    begin
      p := (a + b + c)/2;
      s := sqrt(p*(p-a)*(p-b)*(p-c));
      WriteLn('Площадь треугольника: ',S:0:5);
    end
  else
    WriteLn('Треугольника с такими сторонами не существует.');
  Readln;
End.
Добавлено через 7 минут

Не по теме:


Дорогая передача! Во субботу чуть не плача,
Вся Канатчикова Дача к телевизору рвалась.
Вместо, чтоб поесть, помыться, уколоться и забыться,
Вся безумная больница у экрана собралась.

Говорил, ломая руки, краснобай и баламут
Про бессилие науки перед тайною Бермуд.
Все мозги разбил на части, все извилины заплел,
И канатчиковы власти колят нам второй укол.

Уважаемый редактор! Может лучше про реактор,
Про любимый лунный трактор? Ведь нельзя же, год подряд
То тарелками пугают, дескать, подлые, летают,
То у вас собаки лают, то руины говорят.

Мы кое в чем поднаторели - мы тарелки бьем весь год,
Мы на них уже собаку съели, если повар нам не врет.
А медикаментов груды - мы в унитаз, кто не дурак,
Вот это жизнь! И вдруг Бермуды. Вот те раз, нельзя же так!

Мы не сделали скандала - нам вождя недоставало.
Настоящих буйных мало - вот и нету вожаков.
Но на происки и бредни сети есть у нас и бредни,
И не испортят нам обедни злые происки врагов!

Это их худые черти бермутят воду во пруду,
Это все придумал Черчилль в восемнадцатом году.
Мы про взрывы, про пожары сочиняли ноту ТАСС,
Тут примчались санитары и зафиксировали нас.

Тех, кто был особо боек, прикрутили к спинкам коек,
Бился в пене параноик, как ведьмак на шабаше:
"Развяжите полотенцы, иноверы, изуверцы,
Нам бермуторно на сердце и бермутно на душе!"

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

Вон он, змей, в окне маячит, за спиною штепсель прячет.
Подал знак кому-то, значит, фельдшер, вырви провода.
И нам осталось уколоться и упасть на дно колодца,
И там пропасть на дне колодца, как в Бермудах, навсегда.

Ну а завтра спросят дети, навещая нас с утра:
"Папы, что сказали эти кандидаты в доктора?"
Мы ответим нашим чадам правду, им не все равно:
Удивительное рядом, но оно запрещено!

А вон дантист-надомник Рудик, у него приемник "Грюндиг",
Он его ночами крутит, ловит, контра, ФРГ.
Он там был купцом по шмуткам и подвинулся рассудком,
А к нам попал в волненьи жутком,
С растревоженным желудком и с номерочком на ноге.

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

Те, кто выжил в катаклизме, пребывают в пессимизме.
Их вчера в стеклянной призме к нам в больницу привезли.
И один из них, механик, рассказал, сбежав от нянек,
Что Бермудский многогранник - незакрытый пуп Земли.

"Что там было, как ты спасся?"- Каждый лез и приставал.
Но механик только трясся и чинарики стрелял.
Он то плакал, то смеялся, то щетинился, как еж.
Он над нами издевался. Ну сумасшедший, что возьмешь!

Взвился бывший алкоголик, матерщинник и крамольник,
Говорит: "Надо выпить треугольник. На троих его, даешь!"
Разошелся, так и сыплет: "Треугольник будет выпит.
Будь он параллелепипед, будь он круг, едрена вошь!"

Больно бьют по нашим душам голоса за тыщи миль,
Мы зря Америку не глушим, ой, зря не давим Израиль,
Всей своей враждебной сутью подрывают и вредят,
Кормят, поят нас бермутью про таинственный квадрат.

Лектора из передачи, те, кто так или иначе
Говорят про неудачи и нервируют народ,
Нас берите, обреченных, треугольник вас, ученых,
Превратит в умалишенных, ну а нас - наоборот.

Пусть безумная идея, не решайте сгоряча!
Отвечайте нам скорее через доку-главврача.
С уваженьем. Дата, подпись... Отвечайте нам, а то,
Если вы не отзоветесь мы напишем в "Спортлотто".

Владимир Высоцкий.
Текст песни "Бермудский треугольник".

0
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 3
31.08.2019, 23:14 8
Две строки предлога ввода данных.
0
2373 / 775 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
01.09.2019, 06:11 9
SyMaster, дельное замечание сделали. Исправим.
Pascal
1
2
3
4
5
6
7
Procedure ValueIn(str: string; var arg: real);
Begin
  Repeat
    WriteLn('Введите длину стороны ' + str + ':');
    ReadLn(arg);
  Until arg > 0;
end;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7786 / 4612 / 2827
Регистрация: 22.11.2013
Сообщений: 13,108
Записей в блоге: 1
01.09.2019, 10:45 10
Pascal
1
2
3
4
5
6
var a, b, c, p: Real;
begin
  Write('Длины сторон треугольника: '); ReadLn(a,b,c);
  p:=(a+b+c)/2;
  WriteLn('Площадь треугольника: ',SqRt(p*(p-a)*(p-b)*(p-c)));
end.
Оно же:
Pascal
1
2
3
4
5
6
7
8
9
10
11
function Heron(a, b, c: Real): Real;
var p: Real;
begin
  p:=(a+b+c)/2;
  Heron:=SqRt(p*(p-a)*(p-b)*(p-c));
end;
var a, b, c: Real;
begin
  Write('Длины сторон треугольника: '); ReadLn(a,b,c);
  WriteLn('Площадь треугольника: ',Heron(a,b,c));
end.
Проверки существования треугольника в условии не было, но раз зачем-то хочется:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function Heron(a, b, c: Real): Real;
var p: Real;
begin
  p:=(a+b+c)/2;
  Heron:=SqRt(p*(p-a)*(p-b)*(p-c));
end;
function IsTriangle(a, b, c: Real): Boolean;
begin
  IsTriangle:=(a>0) and (b>0) and (c>0) and (b+c>a) and (b+a>c) and (a+c>0);
end;
var a, b, c: Real;
begin
  Write('Длины сторон треугольника: '); ReadLn(a,b,c);
  if IsTrianle(a,b,c) 
  then WriteLn('Площадь треугольника: ',Heron(a,b,c))
  else WriteLn('Треугольник не существует');
end.
или то же самое:
Pascal
1
2
3
4
5
6
7
8
var a, b, c, p: Real;
begin
  Write('Длины сторон треугольника: '); ReadLn(a,b,c);
  p:=(a+b+c)/2;
  if (a>0) and (b>0) and (c>0) and (b+c>a) and (b+a>c) and (a+c>0)
  then WriteLn('Площадь треугольника: ',SqRt(p*(p-a)*(p-b)*(p-c)))
  else WriteLn('Треугольник не существует');
end.
0
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 3
01.09.2019, 15:57 11
А такая конструкция допустима вообще ?
Pascal
1
2
If <какое либо условие> then <тут отсутствие команды вообще> 
else <ну а здесь уже следует команда какая-либо>
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7786 / 4612 / 2827
Регистрация: 22.11.2013
Сообщений: 13,108
Записей в блоге: 1
01.09.2019, 21:19 12
SyMaster,
Pascal
1
2
3
begin
  if False then else WriteLn('Почему бы и нет')
end.
Добавлено через 47 секунд
Но обычно все-же просто инвертируют условие:
Pascal
1
2
3
begin
  if  not False then WriteLn('Почему бы и нет')
end.
0
1 / 1 / 0
Регистрация: 28.09.2016
Сообщений: 43
12.08.2020, 14:02 13
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program ST_4;
 
var a,b,c,h:integer;
p:real;
S:real;
 
begin
  
 write('Введите основание: ');
 readln(a);
 write('Введите высоту: ');
 readln(h);
 
  S := (a*h)/2;
    
writeln ('Площадь треугольника: = ',S);
 
  write('Длины сторон треугольника: ');
  readln(a,b,c);
  
  p := (a+b+c)/2; // Вспомагательная формула
  S := sqrt(p)*(p - a)*(p - b)*(p - c); // Формула Герона
 
writeln ('Площадь треугольника по формуле Герона: = ',S);
 
end.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
12.08.2020, 16:52 14
Очень актуальное сообщение, ведь теме всего 12 лет.
0
12.08.2020, 16:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2020, 16:52
Помогаю со студенческими работами здесь

Определить площадь треугольника (если он существует) по формуле Герона
program x3; var a,b,c,p,r,s:real; begin writeln('Введите стороны треугольника:');...

Написать процедуру,которая вычислит площадь треугольника по формуле Герона
Помогите решить через procedure:Написать процедуру,которая вычислит площадь треугольника по формуле...

Написать функцию, находящую площадь треугольника ABC по формуле Герона
3. Описать функцию Area(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую площадь треугольника ABC...

Вычислить площадь прямоугольного треугольника по формуле Герона, если заданы его стороны
Помогите пожалуйста решить задачку: Вычислить площадь прямоугольного треугольника по формуле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru