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

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

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

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

:help нужно на отчет:Написать процедуру,которая вычислит площадь треугольника по формуле Герона S=(p*(p-a)*(p-b)*(p-c))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2008, 06:45
Ответы с готовыми решениями:

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

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

В подпрограмме вычислить площадь треугольника по формуле Герона
Пожалуйста добрые люди помогите решить эти задачи чтобы перездать экзамен:( 1) Найти все целые корни уравнения Ax*x*x+Bx*x+Cx+D=0,...

13
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.12.2008, 16:15
это предсессионное обострение началось, я так понимаю, попробуй так:

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
примитивщина,для спинного мозга

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
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
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
Я наверное тот, кого называют овнокодером. :-)

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
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
31.08.2019, 22:45
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
Две строки предлога ввода данных.
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
01.09.2019, 06:11
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
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,157
Записей в блоге: 1
01.09.2019, 10:45
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
А такая конструкция допустима вообще ?
Pascal
1
2
If <какое либо условие> then <тут отсутствие команды вообще> 
else <ну а здесь уже следует команда какая-либо>
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,157
Записей в блоге: 1
01.09.2019, 21:19
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
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
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2020, 16:52
Очень актуальное сообщение, ведь теме всего 12 лет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.08.2020, 16:52
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru