Напишите программу, которая моделирует работу процессора. процессор имеет 4 регистра, они обозначаются r0, r1, r2 и r3. все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). коды команд и примеры их использования в таблице:
код операции
обратите внимание, что результат записывается во второй регистр. команды вводятся последовательно как символьные строки. после ввода каждой строки программа показывает значения всех регистров.
2. *добавьте в систему команд умножение, деление и логические операции c регистрами – «и», «или», «исключающее или».
3. *добавьте в систему команд логическую операцию «не». подумайте, как можно использовать второй регистр.
4. *сделайте так, чтобы в команде с кодом 1 можно было использовать шестнадцатеричные значения констант (0-9, a-f).
5. добавьте обработку ошибок типа «неверная команда», «неверный номер регистра», «деление на ноль».
в питоне
1.Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор repeat.. until ; в Си — do.
2 Виды циклов
Безусловные циклы
Цикл с предусловием
Цикл с постусловием
Цикл с выходом из середины
Цикл со счётчиком (или цикл для)
Совместный цикл
До выход из цикла
Пропуск итерации.
3.do… while — цикл с постусловием; for — параметрический цикл (цикл с заданным числом повторений).
4.Если заранее неизвестно число повторений цикла, то можно использовать цикл с постусловием. Сначала выполняется тело цикла, затем проверяется условие. Если оно ложно, то выполняется тело цикла. Если условие истинно, то цикл считается выполненным.
--- Python 3.8.3 ---
n = int(input('n: \n'))
counter = 0
for coin1 in range(0, n+ 1):
for coin2 in range(0, (n // 2) + 1):
for coin5 in range(0, (n // 5) + 1):
for coin10 in range(0, (n // 10) + 1):
if coin1 * 1 + coin2 * 2 + coin5 * 5 + coin10 * 10 == n: counter += 1
print(counter)
для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.
При желании можно использовать как стресс-тест ЦПУ