Тестирование во время цикла (MARIE)

Я пытаюсь написать цикл while, пока N > 5.

Хотя я понимаю, что нужно просто создать точку цикла и вернуться к ней, как мне написать тест с пропуском секунды для N > 5?

Я посмотрел на еще один вопрос MARIE, касающийся циклов while, но так и не получил ответа.

РЕДАКТИРОВАТЬ: забыл упомянуть, что моя идея заключалась в том, чтобы вычесть 5 из N, а затем пропустить секунду 800, чтобы увидеть, правда это или нет. Это правильный способ сделать это?

1 ответ

Решение

Вот как выглядит цикл while рядом с вашим и выглядит в Мари, посмотрим, поможет ли вам этот обзор, или напишите, что у вас есть, и я помогу вам. Что касается вашего вопроса, вычитая 5 из N после того, как вы пишете Loop, Load N, должно работать просто отлично.

 X := 1;
    while X < 10 do
 X := X + 1;
   endwhile;

----- Код Марии выше

ORG 100
Load One
Store X /Initialize X
Loop, Load X /Load loop constant
Subt Ten /Compare X to 10
SkipCond 000 /If AC<0 (X is less than 10), continue loop
Jump Endloop /If X is not less than 10, terminate loop
Load X /Begin body of loop
Add One /Add 1 to X
Store X /Store new value in X
Jump Loop /Continue loop
Endloop, Halt /Terminate program
X, Dec 0 /Storage for X
One, Dec 1 /The constant value 1
Ten, Dec 10 /The loop constant
Другие вопросы по тегам