Разработать программу на языке ассемблера и на машинных кодах мп к580: сложить два числа, одно из которых ввести из ячейки памяти озу с адресом 800₁₆ , а другое - считать из внешнего устройства с адресом 65₁₆ . результат записать в ячейку памяти озу с адресом 2000₁₆.
Объяснение:
Двоичный поиск эффективно определяет положение искомого элемента (или его отсутствие) в упорядоченном наборе.
Это один из базовых и важных алгоритмов.
Если склады от №1 до №15 заполнены, то:
- когда плотник открывает склад №16, он оказывается пуст (1-ая открытая дверь);
- тогда плотник решает искать между №1 и №15, открывает склад №8, он оказывается заполнен (2-ая открытая дверь);
- теперь он ищет между №9 и №15, открывает склад №12 — он заполнен (3-ья открытая дверь);
- далее он ищет между №13 и №15, открывает склад №14 - он заполнен (4-ая открытая дверь);
- наконец он открывает последний склад № 15 (5-ая дверь).
Правильный ответ: 5
program five;
var
number, quantity: integer;
begin
quantity := 0;
read(number);
while number > 0 do
begin
if (number mod 10 mod 5 = 0) then
inc(quantity);
number := number div 10;
end;
write(quantity);
end.
Объяснение:
program five; // Название программы
var
number, quantity: integer; // Целочисленные переменные:
number - вводимое с клавиатуры число;quantity - количество цифр кратных 5.begin // Начало программы
quantity := 0; // Количество цифр = 0
read(number); // Ввод числа с клавиатуры
while number > 0 do // Пока значение переменной number > 0
begin // Начало цикла
if (number mod 10 mod 5 = 0) then // Если последняя цифра переменной number (number mod 10) при делении на 5 дает остаток 0, тогда
inc(quantity); // Прибавляем к переменной quantity единицу
number := number div 10; // Удаляем последнюю цифру числа
end; // Конец цикла
write(quantity); // Вывод ответа
end. // Конец программы