1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Xelix |
23.12.2006 20:52
Сообщение
#1
|
|
Гость |
Код Program LR10; Uses CRT,graph; Procedure GrOnScr; Var y,x:real; expo:real; i,i2:integer; yscr:integer; dr,rm:integer; Begin dr:=detect; InitGraph(dr,rm,'D:\TP7\BIN'); MoveTo(0,240); LineTo(640,240); Moveto(320,0); LineTo(320,480); MoveTo(0,240); SetLineStyle(0,Solidln,1); yscr:=0; i:=1; Repeat [b]yscr:=Round((7*sqr(i)*(exp(-5*i)))*480/640+240);[/b] If i<=640 Then LineTo(i,yscr); PutPixel(Random(640),Random(480),Random(5)); Delay(500); PutPixel(Random(640),Random(480),Random(5)); i:=i+1; Until keypressed; End; Begin GrOnScr; ReadKey; End. В выделенной строке компилятор выдаёт ошибку floating point overflow. Что делать? |
![]() ![]() |
| Гость |
23.12.2006 21:53
Сообщение
#2
|
|
Гость |
НО тут же подэкспоненциальное выражение максимум выходит -3200! О каком переполнении reala может идти речь? Может можно как-то заменить именно эту функуцию через логарифм например? Лично мне кажется, что тут всё же паскаль ругается из-за того, что i-переменная типа интеджер. Так как же её перевести в real?
|
Xelix Как преобразовать Integer в Real 23.12.2006 20:52
polic какая из них выделенная? 23.12.2006 20:57
Xelix yscr:=Round((7*sqr(i)*(exp(-5*i)))*480/640+240); 23.12.2006 21:01
мисс_граффити дело не в переводе.
у меня вылетает при i=18...
пр... 23.12.2006 21:34
Xelix Так как исправить положение? Когда отключаю коммен... 23.12.2006 21:40
мисс_граффити у функции exp и аргумент, и возвращаемое значение ... 23.12.2006 21:46
мисс_граффити
Лично мне кажется, что тут всё же паскаль ругаетс... 23.12.2006 22:15
volvo Integer -> Real переводится автоматически, проб... 23.12.2006 21:55
Xelix А если же в этой строке убрать минус перед 5, то о... 23.12.2006 22:16
volvo Правда? А если подумать? И сделать вот так, наприм... 23.12.2006 22:18
Xelix Хорошо, проблема ясна - мы легко переполняем тип. ... 23.12.2006 22:34
мисс_граффити
а у меня опять 18 (TP 7.0)
Гость, ты мои сообщен... 23.12.2006 23:05
volvo У меня тоже TP70, только поддержка сопроцессора у ... 23.12.2006 23:27
Xelix Я ничьи сообщения не игнорирую, а наоборот, читаю ... 23.12.2006 23:32
мисс_граффити
делфи тоже...
Для y:=round(exp(-i)); (y: integer)... 23.12.2006 23:57
volvo Не путай исчезающе малое число и очень большое... ... 24.12.2006 0:40
мисс_граффити это понятно.
я о другом...
про 44 написала просто ... 24.12.2006 0:54![]() ![]() |
|
Текстовая версия | 9.12.2025 1:04 |