Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 18:39   #1
cherry097
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 10
По умолчанию упростить программу

программа находящая вид треугольника по трем заданным сторонам
Код:
var A,B,C,H,K,L,T1,T2 : integer;
begin
        read(A,B,C);
        if (A + B > C) and (A + C > B) and (B + C > A) then
        begin
            write('Можно построить ');
            if A < B then H := B else H := A;
            if H < C then H := C;
            if A = H then begin K := B; L := C; end;
            if B = H then begin K := A; L := C; end;
            if C = H then begin K := A; L := B; end;
            T1 := Sqr(H); T2 := Sqr(K) + Sqr(L);
            if T1 = T2 then write (' прямоугольный ')
            else if T1< T2 then write (' остроугольный ')
            else write (' тупоугольный ');
            writeln('треугольник.');
         end
        else writeln('Треугольник построить нельзя.');
end.
ее надо упростить. препод сказал что можно убрать два if и использовать вложенный if
я в программировании не секу. помогите плиз

Последний раз редактировалось Stilet; 14.11.2010 в 20:50.
cherry097 вне форума Ответить с цитированием
Старый 14.11.2010, 20:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ох и препод... Не вижу смысла упрощать.
Скажи ему что я разрешил, пусть ставить зачет. )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2010, 01:04   #3
SmallUser
 
Регистрация: 10.06.2010
Сообщений: 8
По умолчанию

Можно попробовать использовать формулу полупериметра: p=((a+b+c)/2);
Затем проверить условие существования: if((p-a)>0 and (p-b)>0 and (p-c)>0) то существует. Потом по формуле S=sqrt(p*(p-a)*(p-b)*(p-c)) и z=arcsin(2*s/(a+b)) найти значение угла.
SmallUser вне форума Ответить с цитированием
Старый 15.11.2010, 09:27   #4
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
var A,B,C,H,K,L,T1,T2 : integer;
begin
        read(A,B,C);
        if (A + B > C) and (A + C > B) and (B + C > A) then
        begin
            write('Можно построить ');
            if A > B then
             if A > C then begin H := A;K := B; L := C; end
             else begin H := C; K:=A; L :=B; end
            else
             if C < B then begin H := B; K := A; L := C; end
             else begin H := C; K:=A; L :=B; end;
            T1 := Sqr(H); T2 := Sqr(K) + Sqr(L);
            if T1 = T2 then write (' прямоугольный ')
            else if T1< T2 then write (' остроугольный ')
            else write (' тупоугольный ');
            writeln('треугольник.');
         end
        else writeln('Треугольник построить нельзя.');
end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 15.11.2010, 18:52   #5
cherry097
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 10
По умолчанию

спасибо!
а препод у меня жесть. десять раз прицепится к идеальной проге
cherry097 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упростить макрос valerij Microsoft Office Excel 8 20.01.2011 12:10
упростить и укоротить программу avi-vi Помощь студентам 6 15.11.2010 22:59
Как можно упростить программу? Евгений92 Общие вопросы C/C++ 0 07.11.2010 17:50
Нужно переделать программу - упростить lukoie Фриланс 14 29.01.2010 01:09
Упростить SAS888 Microsoft Office Excel 4 25.08.2009 12:07