Мари симулятор умножения трех чисел - PullRequest
0 голосов
/ 17 ноября 2018

В симуляторе Мари, как бы я умножил 3 положительных числа (например, 21, 19 и 23) и сохранил результат в переменной product , используя цикл?Я новичок в Мари и не могу понять это.Спасибо!

1 Ответ

0 голосов
/ 18 ноября 2018

Я использовал две переменные Sum1 и Sum2 для итераций.Sum1 добавляет первую переменную на счет второй переменной.Эта сумма затем добавляется счетчиком третьей переменной.В конце получается ваш product.

Например: 2 x 3 x 4
2 + 2 + 2 = 6 (Sum1 добавить 2, 3 раза)
6 +6 + 6 + 6 = 24 (Sum2 добавить 6, 4 раза)

    Input
    Store   A
    Input
    Store   B
    Input
    Store   C

    Load    B
    Store   Count   /Set count for B times

Loop1,  Load    A
    Add     Sum1
    Output  /Track process
    Store   Sum1

    Load    Count
    Subt    One
    Store   Count
    Skipcond 800
    Jump    Count2
    Jump    Loop1

Count2, Load    C
    Store   Count   /Set count for C times

Loop2,  Load    Sum1
    Add     Sum2
    Store   Sum2    /Final Sum2 == Product
    Output  /Track process
    Load    Count
    Subt    One
    Store   Count
    Skipcond 800
    Jump    End
    Jump    Loop2

End,    Load    Sum2
    Output
    Halt

A,  Dec 0
B,  Dec 0
C,  Dec 0
Sum1,   Dec 0
Sum2,   Dec 0
Count,  Dec 0
One,    Dec 1
...