![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
-DB- |
![]()
Сообщение
#1
|
Гость ![]() |
Код program l; c,i:byte; begin c:=0; for i:=1 to 255 do inc(c); readln; end. и Код program l; c,i:byte; begin c:=0; for i:=1 to 255 do c:=c+1; readln; end. Разницы же никакой так зачем же создали процедуру inc :fire: |
![]() ![]() |
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Inc не является процедурой в полном смысле этого слова. Это языковая конструкция (как и Dec, Write/Writeln, Read/Readln, Succ, Pred и т. п. - большинство "процедур" фиктивного модуля "System").
Причины большей эффективности Inc и Dec перед обычным присвоением заключаются в следующем: для конструкции "c := c + 1;" будет сгенерирован код Код mov al,c xor ah,ah inc ax mov c,al в то время как для "Inc(с);" - всего лишь одна инструкция: Код inc byte ptr c Разница очевидна: c Inc мы не замачиваем - мы просто стираем ![]() -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 15:28 |