Computer science 如何找到两个以上输入数字中的最大值
我能写一个LMC程序,它能找到两个输入值中的较大值。但是我如何修改它来找到任意数量的输入值中的最大值,而不仅仅是两个 下面是我的代码:Computer science 如何找到两个以上输入数字中的最大值,computer-science,little-man-computer,Computer Science,Little Man Computer,我能写一个LMC程序,它能找到两个输入值中的较大值。但是我如何修改它来找到任意数量的输入值中的最大值,而不仅仅是两个 下面是我的代码: START INP STA NUM1 INP STA NUM2 LDA NUM1 SUB NUM2 BRP Positive LDA NUM2 OUT HLT Positive LDA NUM1
START INP
STA NUM1
INP
STA NUM2
LDA NUM1
SUB NUM2
BRP Positive
LDA NUM2
OUT
HLT
Positive LDA NUM1
HLT
NUM1 DAT
NUM2 DAT
设NUM1为目前为止的最大值,并进行循环以将下一个输入读取到NUM2中。如果比较显示下一个输入更大,则更新NUM1,否则不更新
使用此方法,最好将NUM1重命名为MAX,将NUM2重命名为just NUM
您还应确定已提供所有输入的指示。一种方法是同意用户必须输入一个特定的值来标记输入的结束。显然,这意味着特殊值不能成为输入本身的一部分
以下是终止值为0时的外观:
#输入:5 2 8 4 5 0
启动INP
BRZ输出
斯塔马克斯
环路INP
BRZ输出
STANUM
LDA最大值
子编号
BRP环路;投入没有增加
LDA数值
斯塔马克斯;投入更大
文胸环
输出LDA最大值
出来
HLT
数字数据
最大数据0
让我们使用num1存储到目前为止看到的最大数字。因此,将第一个数字存储在那里,在每个新数字之后,将其与num1进行比较,如果新数字更大,则用新数字覆盖num1。最后只显示num1。