![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Riki2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 10.12.2009 Репутация: нет Всего: нет |
Помогите разобраться в чём ошибка программы.
Необходимо произвести расчёты на основе вводимых данных Если вводить через переменные sum:=(razmer*stavka*srok)/(day*100); и через обычный расчёт summ:=(50000*14*91)/(365*100); Результаты выходят разные. Пробовал по разному написать формулу,в итоге ничего не получилось. Обращаюсь за помощью к вам. Очень прошу помочь. Мне к завтрашнему надо доделать этот курсовой издать. Присоединённый файл ( Кол-во скачиваний: 4 )
My.rar 24,16 Kb |
|||
|
||||
| ФедосеевПавел |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 2 Всего: 10 |
В TurboPascal размер integer - 2 байта, т.е. диапазон значений примерно от (-32000) до (+32000).
Попробуй в программе ввести i=50000 и посмотри на результат.
При использовании переменных вычисления происходят в типе integer и происходит переполнение уже после присвоения переменной значения 50000, не говоря уже о последующем умножении. А когда константы подставлены напрямую, то происходит неявное преобразование результата к типу LongInt. Замени тип переменных на Real (razmer, stavka). И замени
Это сообщение отредактировал(а) ФедосеевПавел - 11.12.2009, 00:02 |
||||
|
|||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |