0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 4
|
|||||||||||
1 | |||||||||||
Ошибка в результатах при подсчете суммы n-1 членов прогрессии20.06.2012, 11:56. Показов 1847. Ответов 7
Метки нет Все метки)
(
Проблема собственно вот в чем: разница в результатах при подсчете суммы n-1 членов прогрессии.
Текст задания: Составить программу, вычисляющую сумму возрастающей арифметической прогрессии прямым суммированием слагаемых. Определить минимальное число слагаемых, нужных для переполнения двойного слова. Программа не должна выдавать ошибку переполнения. С клавиатуры задается начальный член и шаг прогрессии. Ниже приведу коды на ассемблере и паскале,т.к. по заданию нужно написать на этих языках.
Ошибка как я понимаю в асме, суммирует неправильно. Не могу понять где именно неправильно Добавлено через 20 часов 21 минуту Что прямо никто не может помочь?
0
|
20.06.2012, 11:56 | |
20.06.2012, 11:56 | |
Ответы с готовыми решениями:
7
Написать рекурсивную функцию для нахождения заданного члена прогрессии и суммы n первых членов прогрессии
|
Хочу в Исландию
![]() 1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
20.06.2012, 18:50 | 2 |
Я проверил ассемблер - считает правильно, за исключением того что ecx у тебя на 1 больше, но это легко поправить, надо не mov ecx,1, а mov ecx,0, а то ещё в цикл не вошли, а уже один раз посчитали.
![]() Сразу после выхода из цикла lp1 ecx у меня равно 46340. А чему в Паскале равно n после выхода из цикла?
0
|
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 4
|
|
21.06.2012, 10:17 [ТС] | 3 |
Так это смотря какие значения брать. Вот скрин, верхнее окошко это паскаль, нижнее ассемблер. Видишь какая разница в результате суммы членов прогрессии, при равных значениях? Вот это и надо исправить
0
|
Хочу в Исландию
![]() 1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
21.06.2012, 16:34 | 4 |
Я забыл написать какие числа брал.
![]() Вижу два окна - чёрное и белое. Какое из них Паскаль выдаёт, а какое ассемблер? Завтра буду на работе - посмотрю.
0
|
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 4
|
|
21.06.2012, 16:40 [ТС] | 5 |
skaa, Верхнее паскаль, нижнее ассемблер.
0
|
Хочу в Исландию
![]() 1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
22.06.2012, 17:34 | 6 |
Во время второго шага первого цикла уже происходит переполнение:
1111111111+2222222222=3333333333 - в этом числе уже старший бит =1, т.е. число отрицательное, а второй цикл у тебя проходит два раза, хотя должен по логике пройти один раз. После 49 строки поставь ещё один dec ecx, и всё будет правильно.
0
|
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 4
|
|
22.06.2012, 18:55 [ТС] | 7 |
skaa, а может вот так: после 49й строки sub ebx,eax ? т.к. цикл заного начинается, а переполнение так и остается, т.е. нужно вернуть прежнее значение, иначе оно суммируется и получается неверный результат. как ты думаешь?
0
|
Хочу в Исландию
![]() 1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
25.06.2012, 17:18 | 8 |
Скорее всего можно и так... Проверь.
![]()
0
|
25.06.2012, 17:18 | |
25.06.2012, 17:18 | |
Помогаю со студенческими работами здесь
8
Ошибка в коде при подсчете суммы цифр трехзначного числа: появляются непонятные символы Найти сумму членов геометрической прогрессии, если известны её первый член, знаменатель и число членов прогрессии Найти сумму членов арифметической прогрессии, если известны ее первый член, знаменатель и число членов прогрессии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Отличия между venv, pyenv, pyvenv, virtualenv, pipenv, conda, virtualenvwrapper, poetry и другими в Python
hw_wired 13.02.2025
В Python существует множество средств для управления зависимостями и виртуальными окружениями, что порой вызывает замешательство даже у опытных разработчиков. Каждый инструмент создавался для решения. . .
|
Навигация с помощью React Router
hw_wired 13.02.2025
React Router - это наиболее распространенное средство для создания навигации в React-приложениях, без которого сложно представить современную веб-разработку. Когда мы разрабатываем сложное. . .
|
Ошибка "error:0308010C:digital envelope routines::unsupported"
hw_wired 13.02.2025
Если вы сталкиваетесь с ошибкой "error:0308010C:digital envelope routines::unsupported" при разработке Node. js приложений, то наверняка уже успели поломать голову над её решением. Эта коварная ошибка. . .
|
Подключение к контейнеру Docker и работа с его содержимым
hw_wired 13.02.2025
В мире современной разработки контейнеры Docker изменили подход к созданию, развертыванию и масштабированию приложений. Эта технология позволяет упаковать приложение со всеми его зависимостями в. . .
|
Отличия интерфейсов и типов в TypeScript
hw_wired 13.02.2025
TypeScript - мощное средство для создания качественного и поддерживаемого кода, который расширяет возможности JavaScript, добавляя систему статической типизации. В отличие от динамической типизации. . .
|
Async/await в циклах JavaScript
hw_wired 13.02.2025
Современная веб-разработка немыслима без асинхронного программирования. Когда приложение выполняет длительные операции - загрузку данных с сервера, чтение файлов или обработку медиа-контента, важно. . .
|
Git не работает на MacOS после апдейта
hw_wired 13.02.2025
После очередного обновления MacOS многие разработчики сталкиваются с неприятным сюрпризом - Git перестает работать и выдает ошибку "xcrun: error: invalid active developer path". Эта проблема особенно. . .
|
Git отказывается объединять несвязанные истории
hw_wired 13.02.2025
Git работает безупречно, пока мы не сталкиваемся с особыми ситуациями вроде объединения веток с разными корнями истории. В таких случаях система контроля версий может преподнести неприятный сюрприз в. . .
|
Проверка email с помощью JavaScript
hw_wired 13.02.2025
Email-адреса имеют довольно запутанную спецификацию, которая допускает множество неочевидных вариантов написания. Например, знали ли вы, что адрес вида "name+tag@domain. com" или даже. . .
|
Замена всех вхождений строки с помощью JavaScript
hw_wired 13.02.2025
JavaScript предлагает несколько способов для выполнения операций замены в строках, каждый из которых имеет свои особенности и область применения. От простейшей замены первого найденного вхождения до. . .
|