Напишите программу, которая в последовательности целых чисел определяет их сумму и количество четных чисел, кратных 5. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит в последовательность) Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел кратных 5. Для записи программы используйте приведенные переменные:
var a, n: integer
begin
n:=0
readln (a)
...
writeln(n)
end
Пояснение.12710 = 01111111206410 = 010000002Заметим, что в маске во втором бите слева должна стоять единица, а в третьем бите слева — ноль. И так как мы знаем про маски, что в них сначала идут единицы, а потом нули, то получаем, что третий слева байт равен 110000002 = 19210
Правильный ответ: 192
Если верить Wiki, микропроцессор КР580ВМ80А - аналог Intel i8080A.
На страничке с описанием i8080 утверждается, что INR reg - инкремент (увеличение на единицу) регистра. В данном случае рассматривается увеличение регистра B со значением 0xFF на единицу. У процессоров серии i80386 есть схожая команда - INC.
По всей вероятности, признаки в КР - то же, что и флаги в i8080. Тогда можно провести аналогию КР - i8080:
CY - CF (перенос)
AC - AF (полуперенос)
S - SF (знак)
Z - ZF (нуль)
P - PF (чётность)
Выполнение команды INC BH (на Intel, BH - 8-битный, как и B в КР) с значением 0xFF даёт 0 в регистре BH и устанавливает в единицу ZF, PF, AF (соотв. признаки Z, P, AC), остальные флаги не меняются.
За правильность решения не ручаюсь.