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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2009, 00:10   #1
Maks_X
 
Регистрация: 12.02.2009
Сообщений: 4
Лампочка Задача Паскаль. Поиск квадранта по координатам.

Я пытаюсь решить задачку с таким смыслом - По координатам х,у найти квадрант и в зависимости от его номера вычислить определенную функцию. У меня проблемка: когда забиваю вот этот код он выдает ошибку : вещественное деление на 0. Посмотрите пожалуйста и объясните неразумному что не так. Заранее спасибо!
Код:
Program Ex1;
VAR c,d,x,y,z,b:real;
Begin
Writeln('Vvedite x,y tochki M');
Readln(x,y);
b:=abs(c*d);
If x=0 then writeln('Tochka M nahoditsa na osi oY')
Else
If y=0 then writeln('Tochka M nahoditsa na osi oX')
Else
If (x>0) and (y>0) then
               begin
               z:=(exp(c)+ln(b)/ln(10))/(3*c*d+5);
                writeln('z= ',z:6:2);
               end
END.

Последний раз редактировалось Stilet; 14.10.2009 в 10:38.
Maks_X вне форума Ответить с цитированием
Старый 14.10.2009, 00:12   #2
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

На какой строке останавливается компилятор?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 14.10.2009, 00:16   #3
Maks_X
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

В строке №13, где должна считаться функция "z".
Maks_X вне форума Ответить с цитированием
Старый 14.10.2009, 00:22   #4
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

b:=abs(c*d); - а что это?

c и d равны 0.... Следовательно в формулу z := .... у вас одни нули подставляются..

Я пока нипонял как это связанно с ошибкой. Delphi тупо вылетает и ничего не сообщает.

Если дописать к примеру: c := 1; d := 2;
То чтото считается и даже появляется какойто ответ...

Последний раз редактировалось Вавел из ГМТУ; 14.10.2009 в 00:25.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 14.10.2009, 00:30   #5
Maks_X
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

Благодарю, видимо я не совсем правильно понял условие задачи. Просто в условии написано что дано :c,d,x,y. Далее нужно по координатам х,у найти точку и узнать в каком она квадранте. После этого во всех функциях присутствуют переменные c,d. Только к ним никаких условий не дано, неизвестно откуда брать. Видимо, просто набить произвольно. Спасибо большое!
Maks_X вне форума Ответить с цитированием
Старый 14.10.2009, 00:33   #6
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

А дело даже не в вашей формуле.
Там происходит(т.к. c и d равны 0) вот такое вычисление ln(0) - а это ошибка. Нельзя вычислить логарифм от нуля.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 14.10.2009, 00:35   #7
Maks_X
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

Да, именно. Нужно просто ввести c,d произовльно, но отличное от нуля. Я просто не догадался по запарке =) Спасибо)
Maks_X вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод по координатам Alyonka_v Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 15.09.2009 20:10
Рисование дуги круга по координатам(С++) Olya90 Помощь студентам 0 07.05.2009 13:52
Принадлежность объекта по координатам Angel_CJ Помощь студентам 9 12.09.2007 18:43
Рассчет времени по координатам Квэнди Свободное общение 5 28.12.2006 12:59
Вставка текста по координатам в Word Nowichok Компоненты Delphi 0 16.12.2006 20:01