Страница 1 из 1
Задача на вычисление площади геометрической фигуры с проверк
Добавлено: 15.03.2012 20:30:18
kazmund
Проверить условие суще-ствования треугольника и вы-числить его площадь по формуле Герона:
uses crt;
var a,b,c,p,s:real;
ch:char;
begin clrscr;
write('Задайте сторону а: ');readln(a);
write('Задайте сторону b: ');readln(b);
write('Задайте сторону c: ');readln(c);
p:=(a+b+c)/2;
if (p<=a) or (p<=b) or (p<=c) then
write('Треугольник с такими сторонами не существует')
else
begin
p:=p*(p-a)*(p-b)*(p-c);s:=sqrt(p);writeln;
writeln('Площадь треугольника - ',s:0:3);
end;
ch:=readkey;
end.
Помогите преобразовать программу в Лазарус , я нашел её вид в паскале , необходимо перевести в лазарус
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 15.03.2012 21:20:19
iskander
Например так?
Код: Выделить всё
program Heron;
{$mode objfpc}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
{ you can add units after this }FileUtil;
var a,b,c,p,s:Double;
begin
writeln(UTF8ToConsole('Задайте сторону а: '));
readln(a);
writeln(UTF8ToConsole('Задайте сторону b: '));
readln(b);
writeln(UTF8ToConsole('Задайте сторону c: '));
readln(c);
p:=(a+b+c)/2;
if (p<=a) or (p<=b) or (p<=c) then
writeln(UTF8ToConsole('Треугольник с такими сторонами не существует'))
else
begin
p:=p*(p-a)*(p-b)*(p-c);s:=sqrt(p);
writeln;
writeln(UTF8ToConsole('Площадь треугольника - '),s:0:3);
end;
readln;
end.
Нужно ещё добавить LCL в зависимости проекта.
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 15.03.2012 22:08:08
Little_Roo
kazmund писал(а):p:=(a+b+c)/2;
if (p<=a) or (p<=b) or (p<=c) then
write('Треугольник с такими сторонами не существует')
А причем тут полупериметр?
Э

, а класс-то какой? Приходская школа, или экономический-юридический-болтологический....класс ?
Вроде как партия

и правительство

, а также все СОЗНАТЕЛЬНЫЕ граждане верят ,тьфу, ЗНАЮТ - что
главная ОДЗ для существования произвольного треугольника - это ПРЕВЫШЕНИЕ СУММЫ ДЛИН ДВУХ ЛЮБЫХ СТОРОН ТРЕУГОЛЬНИКА ДЛИНЕ ЕГО ТРЕТЬЕЙ СТОРОНЫ
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 15.03.2012 22:42:11
zub
>>ОДЗ для существования произвольного треугольника - это ПРЕВЫШЕНИЕ СУММЫ ДЛИН ДВУХ ЛЮБЫХ СТОРОН ТРЕУГОЛЬНИКА ДЛИНЕ ЕГО ТРЕТЬЕЙ СТОРОНЫ
и
одно и тоже, такчто всё верно
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 15.03.2012 23:05:10
Little_Roo
zub писал(а):>>ОДЗ для существования произвольного треугольника - это ПРЕВЫШЕНИЕ СУММЫ ДЛИН ДВУХ ЛЮБЫХ СТОРОН ТРЕУГОЛЬНИКА ДЛИНЕ ЕГО ТРЕТЬЕЙ СТОРОНЫ
и
одно и тоже, такчто всё верно
Ну, как учитель, ищем блох в коде
В поставленной задаче пионЭра было (вроде) условие проверки существования тр-ка
а при вводе (к примеру)
а = -11111111111 и кирдык...
Предлагаю переместить топик в Помощь за .... (....)
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 16.03.2012 07:29:59
Ask
Little_Roo писал(а):zub писал(а):>>ОДЗ для существования произвольного треугольника - это ПРЕВЫШЕНИЕ СУММЫ ДЛИН ДВУХ ЛЮБЫХ СТОРОН ТРЕУГОЛЬНИКА ДЛИНЕ ЕГО ТРЕТЬЕЙ СТОРОНЫ
и
одно и тоже, такчто всё верно
Ну, как учитель, ищем блох в коде
Учителя, руководствующиеся принципом "так было написано в учебнике, поэтому все другие способы неверны" --
это одна из главных проблем современного обучения программированию.
(И, наверное, другим предметам, но в программировании встречаются особенно вопиющие примеры).
Проверка правильная, и даже немного более эффективная по сравнению с подходом "в лоб".
Код имеет стилистические недостатки, и вообще, за списывание таких элементарных вещей надо сразу
выгонять из учебного заведения, но с условием как раз всё в порядке.
Little_Roo писал(а): а при вводе (к примеру)
а = -11111111111 и кирдык...
В каком смысле "кирдык"?
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 16.03.2012 18:40:49
Little_Roo
Ask писал(а):Код имеет стилистические недостатки, и вообще, за списывание таких элементарных вещей надо сразу
выгонять из учебного заведения, но с условием как раз всё в порядке.
Это уже флуд

Но -
НЕзнание основ школьной геометрии ...
ОДЗ (область допустимых значений) никто не отменял - и
кирдык - длина стороны отрицательная (или нулевая), я уж не говорю, что она может быть и символьной.
Так что условие проверки существования надо пересмотреть - учебник геометрии 7-й класс (могу несколько ошибиться

)
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 16.03.2012 22:03:00
Protopopulus
Код: Выделить всё
if ((a < b + c) and (b < a + c) and (c < a + b) and (a <> 0) and (b <> 0) and (c <> 0))
then
считаем площадь
выводим ответ
else
треугольник невозможен
Не?
Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 16.03.2012 22:47:34
Little_Roo
Protopopulus писал(а):(a <> 0) and (b <> 0) and (c <> 0))
Может, хватит ЭТО ворошить??
И...Не дело здесь открывать коррекционный класс ...
To:
Модератор - убейте тему

Re: Задача на вычисление площади геометрической фигуры с про
Добавлено: 17.03.2012 00:24:41
zub
>>И...Не дело здесь открывать коррекционный класс ...
Автор правильно подглядел пример реализации, если по каждому поводу отправлять за учебники - из пионеров никогда комсомольцы не вырастут)). Вполне рабочий вариант. Начнет вводить нули, отрицательные числа или символьную билеберду - подумает\спросит и доработает при желании. Хотя думаю после первого ответа - зачет здан и фиг с ним))
>>за списывание таких элементарных вещей надо сразу выгонять из учебного заведения
Всё давно написано до нас, так что в "списывании" ниче страшного нет. Главное чтоб понимание было