как это будет выглядеть в Паскале? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
как это будет выглядеть в Паскале? |
forum4uxa |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: 0 |
i:=57; k:=19;
while i<199 do if ((i + k div 2) mod 11) = 5 then i:=i-k else k:=k*k+(i div 2) |
volvo |
Сообщение
#2
|
Гость |
В Паскалевском варианте деления на 0 НЕТ. Есть зацикливание, но это разные вещи...
|
forum4uxa |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: 0 |
|
hiv |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: 11 |
а как избавиться от этого??? Зацикливание возникает в следствии того, что не обрабатывается ошибка переполнения, если ее включить - то будет паскалем выдаваться "Runtime error 215 at 0BED:0075.", что означает "Arithmetic overflow error". Это значит что где-то при вычислении твоего k происходит переполнение, в ассемблере после математических операций нада проверять флаговый регистр:Код Регистр флагов ----------------------------------------------------------------- Этот 16-разрядный (16-битовый) регистр содержит всю необхо- димую информацию о состоянии процессора 8086 и результатах пос- ледних инструкций (см. Рис. 4.5). 15 0 ------------------------------------------------------------ | | | | | O | D | T | S | Z | | A | P | P | | C | ------------------------------------------------------------ Битовые флаги: O - флаг переполнения; D - флаг направления; I - флаг прерывания; T - флаг перехвата; S - флаг знака; Z - флаг нуля; A - флаг дополнительного переноса; P - флаг четности; C - флаг переноса. Рис. 4.5 Регистр флагов процессора 8086. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Текстовая версия | 23.04.2024 23:35 |