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

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

10.12.2008, 06:45. Показов 150789. Ответов 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
8784 / 2537 / 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
7814 / 4633 / 2837
Регистрация: 22.11.2013
Сообщений: 13,156
Записей в блоге: 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
7814 / 4633 / 2837
Регистрация: 22.11.2013
Сообщений: 13,156
Записей в блоге: 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
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
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
Ответ Создать тему
Новые блоги и статьи
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
Основы WebGL. Простой треугольник
8Observer8 01.07.2025
Простой треугольник без трансформаций. Для трансформаций можно использовать glMatrix, как в примере: https:/ / plnkr. co/ edit/ qT6ZTwvncLPRamK5?preview На русском: . . .
Полиглотные микросервисы на C# и .NET
ArchitectMsa 30.06.2025
Полиглотная архитектура появилась не из желания усложнить жизнь разработчикам. Она родилась из практической необходимости решать разные задачи наиболее эффективным способом. В одном из проектов. . .
Стратегии кеширования
Javaican 29.06.2025
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru