Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.03.2011, 13:49
Ko$ Ko$ вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 8
Репутация: 10
По умолчанию Проверьте код

Вот задание: Обработка исключительных ситуации (try-except)

Проверьте формулу пожалуйста так или нет??:
Код:
procedure TForm1.Image1Click(Sender: TObject);
var x,y,z:integer; v:real; arcsin:real;
begin
try
x:=strtoint(edit1.Text);
y:=strtoint(edit2.Text);
z:=strtoint(edit3.Text);
v:=(sqrt(10)*(sqr(x+x)*(sqrt(y+2))*(arcsin*(sqrt(z-x-y)))));
label4.caption:=floattostr(v);
except
on EConvertError do showmessage ('Введите целые числа');
on EDivByZero do showmessage('не делить на 0');
end;
end;

end.
Ответить с цитированием
  #2  
Старый 17.03.2011, 13:53
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Ko$
Вот задание: Обработка исключительных ситуации (try-except)
А моежт таки задание звучит:
напишите за меня формулу, потому что я не умею и не хочу ничего знать, а люблю готовое?
Ответить с цитированием
  #3  
Старый 17.03.2011, 14:11
Аватар для iliasmalorum02
iliasmalorum02 iliasmalorum02 вне форума
Прохожий
 
Регистрация: 31.10.2009
Сообщения: 29
Репутация: -31
По умолчанию

В реализации формулы есть ошибки. Дам три совета:

1. Не путайте возведение в квадрат и квадратный корень
2. Для упрощения строчки v:=... воспользуйтесь дополнительными переменными для упрощения алгоритма.
3. try-except нужен не для вывода месседжей, а для освобождения ресурсов.
4. Стилистическое: в данном случае лучше вместо ShowMessage использовать создание объекта класса Exception
__________________
Делаю программы за очки репутации!
Ответить с цитированием
  #4  
Старый 17.03.2011, 14:14
Ko$ Ko$ вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от Konrad
А моежт таки задание звучит:
напишите за меня формулу, потому что я не умею и не хочу ничего знать, а люблю готовое?
ну ну )) напишиш: помогите сделать задачу. пишите: выложи код ты даже не пытался. выложиш код пишите: всёравно ты халявщик
Ответить с цитированием
  #5  
Старый 17.03.2011, 16:08
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от iliasmalorum02
3. try-except нужен не для вывода месседжей, а для освобождения ресурсов.
try-except нужен, для обработки исключительных ситуаций. А как вы отработаете исключительную ситуацию это уже ваше дело, можете освободить ресурсы (в этом случае лучше использовать try-finally), можете выводить сообщения.
Ответить с цитированием
  #6  
Старый 17.03.2011, 19:18
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Ko$
ну ну )) напишиш: помогите сделать задачу. пишите: выложи код ты даже не пытался. выложиш код пишите: всёравно ты халявщик
iliasmalorum02 подробно (п. 1 п. 2) описал то что я имел ввиду
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025