IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Как преобразовать Integer в Real
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. Что делать?
 К началу страницы 
+ Ответить 

Сообщений в этой теме
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 21:53
мисс_граффити   Лично мне кажется, что тут всё же паскаль ругаетс...   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


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 22:07
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"