如何解决在Marie.js中,我将如何为以下伪代码执行if语句和循环?
max = 0
value = 0
LOOP
INPUT value
IF (value == 0)
EXIT LOOP
ENDIF
IF (value > max)
max = value
ENDIF
ENDLOOP
PRINT max
STOP
我正在使用https://marie.js.org/,但是在尝试弄清楚if语句时遇到了很多麻烦。我试图使用skipcond。我还在无尽的循环中挣扎。任何帮助我入门的帮助都将不胜感激。
解决方法
首先,将伪代码转换为汇编语言和机器代码的 if-goto 样式。
if a then
b
endif
翻译成
if !a then goto endif1
b
endif1,
第二,将伪代码 变量 转换为Marie汇编语言/机器代码变量。
例如,您在伪代码中有一个整数max
,因此在数据区域中放置:
max,dec 0
最后,将每一行if-goto代码转换为汇编语言。
有条件的测试if a < b goto
通过使用减法进行比较来完成。因此,将a
加载到累加器中,减去b
,这将设置条件代码,然后执行SkipCond
和goto以跳过或不跳过要执行的代码。
Marie.js有许多简单的示例。查看乘法示例,查看数据/变量声明,条件分支,循环,输入,输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。