0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 8
|
||||||
1 | ||||||
Арифметическое переполнение19.07.2010, 09:40. Показов 20195. Ответов 17
Метки нет (Все метки)
У меня проблема: все программы выдают арифметическое переполнение. В универе дали методичку перевести паскаль в асм, но проблема в том что те примеры на паскале - дают арифметическое переполнение. сборка: school pak. вот один из примеров.
0
|
19.07.2010, 09:40 | |
Ответы с готовыми решениями:
17
Арифметическое переполнение Арифметическое переполнение Подскажите где ошибка. Выдаёт арифметическое переполнение? Переполнение |
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
|
||||||
19.07.2010, 10:36 | 2 | |||||
О каком переполнении идет речь?
Запустите программу, чтобы она показывала результаты на каждом шаге:
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
||||||
19.07.2010, 10:41 | 3 | |||||
Так и есть, арифметическое переполнение)) не врет.
после первого прохода k[n] = 654, а i[n] = 587. а потом, при втором проходе мы пытаемся сделать
0
|
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
|
|
19.07.2010, 10:43 | 4 |
уже все написали, но от себя добавлю, что school pak иногда подтупливает без причины.
0
|
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
|
||||||
19.07.2010, 11:12 | 5 | |||||
Вот результаты выполнения программы (это начало, а потом зацикливается с постоянными значениями):
Попробуйте запустить сами! P.S. Паскаль ограничивает значения переменных по их типу.
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
|
19.07.2010, 11:52 | 6 |
o-user, не говорите ерунды, посчитайте руками.
Вот посмотрите как это происходит при отладке: http://www.swfcabin.com/open/1279523648
0
|
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 8
|
||||||
19.07.2010, 12:58 [ТС] | 7 | |||||
Спасибо. Значит все-таки ошибка в самом задании?? Просто уже второй пример пытаюсь выполнить "в живую", как написано в книге, и все одинаково - переполнение.
А вот по этому примеру вообще выдает ошибку: ошибочная переменная контролирующая for. подскажите плиз что за фигня такая.. и как мне убрать ошибку, чтоб хоть один пример заработал.
0
|
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
|
|
19.07.2010, 13:17 | 8 |
Вообще-то я написал.
Считают мозгом, а не руками. Запустите программу прежде чем писать!
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
|
19.07.2010, 15:04 | 9 |
Отладка - в меню Debug - F7 (с заходом в подпрограммы) и F8 (без захода)
Ну так я и подумал, что Вы наверное мозгом считали, поэтому и предложил попробовать руками. Особо недоверчивым запускаю программу: http://www.swfcabin.com/open/1279534267 k[n] = 0 --> k[n] = 19 --> после else k[n] = 654 --> при втором else k[n]= 654*654+(587 div 2) = 654 * 654 +293 = 428009, что больше допустимого в WORD. Добавлено через 14 минут не работает из-за k[n]
0
|
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 8
|
|
20.07.2010, 07:29 [ТС] | 10 |
Jabbson, если не сложно подскажи как исправить. в pascal'e 6 лет ничего не писал, да и тогда не очень умел.
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|||||||||||
20.07.2010, 07:45 | 11 | ||||||||||
Зачем переменные j,k объявлены как массивы? Ведь нет же никаких массивов и в помине.
Если нужно создать 2 массива размерностью 23, то нужно организовать внешний цикл типа
1
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
||||||
20.07.2010, 11:24 | 12 | |||||
уточню, что то, что делает сама программа - это уже другой вопрос, она очень долго и нудно совершает действия с нулями. и дает нулевой результат. Но так, она хотя бы это делает
1
|
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 8
|
|
20.07.2010, 11:53 [ТС] | 13 |
Спасибо, Jabbson. Не знаю, то ли программа теперь выполняет, что от меня хотели в методичке, но все равно спасибо. Я так понял, что так как написано в книге, полная чушь выходит?? (хочу удостовериться, просто чтобы сказать это преподам).
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
|
20.07.2010, 12:01 | 14 |
0
|
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
|
|
20.07.2010, 12:08 | 15 |
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
|
20.07.2010, 12:09 | 16 |
Ну так скажем, чтобы ходить сдавать экзамен только один раз ))))
были у нас индивиды, приходили и начинали обкладывать методичку разными плохими вещами, сдавали долго, с чувством с толком, и расстановкой. И не было важно, что они в действительности были чуть ли не лучшими по предмету. Когда преподаватель действительно хочет, чтобы ты сдавал долго - сдавать будешь долго )))
0
|
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 8
|
|
20.07.2010, 12:49 [ТС] | 17 |
Ну, да понятно. просто надо быть уверенным, в том что он мне не скажет тут же что я дурак и ничего не понимаю, а эта методичка просто "супер" книга. ))
ps/ спасиб всем.
0
|
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
|
|
20.07.2010, 13:06 | 18 |
Ну тогда ты можешь попросить компьютер с TP, вбить программу и показать на
Error 97: Invalid FOR control variable (как вариант - Error: Illegal counter variable) и сказать, что управляющая переменная цикла должна быть переменной порядкового перечисляемого типа. Я думаю, возразить будет нечего.
0
|
20.07.2010, 13:06 | |
20.07.2010, 13:06 | |
Помогаю со студенческими работами здесь
18
Почему происходит переполнение? найти ошибку(переполнение.) Вещественное переполнение, исправить код Арифметическое переполнение Арифметическое переполнение Арифметическое переполнение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как узнать директорию bash-скрипта из самого bash-скрипта
InfoMaster 20.01.2025
При разработке bash-скриптов одной из важных задач является определение директории, в которой находится исполняемый скрипт. Это критически важно для корректной работы с файлами, загрузки конфигураций. . .
|
В чем разница между let и var в JavaScript
InfoMaster 20.01.2025
JavaScript прошел длинный путь эволюции с момента своего создания в 1995 году. Одним из важнейших аспектов развития языка стало совершенствование механизмов объявления и управления переменными. . . .
|
Эффективная работа со строками в Go
InfoMaster 20.01.2025
Язык программирования Go предлагает уникальный подход к работе со строками, который существенно отличается от многих других языков программирования. В Go строки представляют собой неизменяемые. . .
|
Как проверить, что отображение (map) содержит ключ в Go
InfoMaster 20.01.2025
Отображения (maps) в языке программирования Go представляют собой мощные структуры данных, которые позволяют хранить пары ключ-значение и обеспечивают быстрый доступ к данным по уникальным. . .
|
Как организовать домашнее хранилище фильмов с общим доступом для всей семьи
InfoMaster 20.01.2025
Преимущества домашнего медиасервера
В современном мире, где цифровой контент стал неотъемлемой частью нашей жизни, организация домашнего медиасервера становится все более актуальной задачей. . . .
|
Перспективы развития жестких дисков: есть ли у них будущее?
InfoMaster 20.01.2025
История и эволюция жестких дисков
История развития жестких дисков начинается в 1956 году, когда компания IBM представила первое устройство для хранения данных на магнитных пластинах - IBM 350. . .
|
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями
Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
|
Какой язык программирования лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
|
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
|
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
|
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
|
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
|