伪代码,是一种非常好的锻炼逻辑思维的手段,不同于真实的代码,它侧重用相对简单的语言表达算法的逻辑,如果是写代码,代码则不允许有半点错误,伪代码可以在初学阶段暂时让你摆脱编程语言语法的困扰。
在编程语言里的赋值语句
lst = [1, 3, 5, 7, 2]
如果使用伪代码,则可以像下面这样
lst <- [1, 3, 5, 7, 2]
在编程语言里的for循环
lst = [1, 3, 5, 7, 2]
for item in lst:
print(item)
如果使用伪代码,则可以这样写
lst <- [1, 3, 5, 7, 2]
For item <-lst[0] to lst[4]
Output item
Next item
For item <-lst[0] to lst[4] 表示从lst[0]到lst[4] 依次赋值给item, Next item 表示下一个item, 循环的第一轮,item = lst[0],Next item表示将下一个数值,也就是lst[1]赋值给item, 进行下一轮循环。
在编程语言里
lst = [3, 1, 5, 2, 4]
max_value = 0
index = 0
while index < len(lst):
if lst[index] > max_value:
max_value = lst[index]
index += 1
print(max_value)
用伪代码来描述程序的逻辑
lst <- [3, 1, 5, 2, 4]
max_value <- 0
index <- 0
While index < len(lst)
If lst[index] > max_value
max_value = lst[index]
EndIf
index = index + 1
EndWhile
在编程语言里
x = int(input("请输入一个整数:"))
y = int(input("请输入一个整数:"))
z = int(input("请输入一个整数:"))
if x > y:
if x > z:
print(x)
else:
print(z)
else:
if y > z:
print(y)
else:
print(z)
程序使用input函数接收3个整数,输出其中较大的一个,使用伪代码可以这样描述
x <- Input to int
y <- Input to int
z <- Input to int
If x > y
If x > z
Output x
Else
output z
EndIf
Else
If y > z
Output y
Else
Output z
Endif
使用伪代码,可以更加清晰有力的表达出break和continue的作用,下面的代码从一个列表中找到3个偶数,使用python语言编写
lst = [3, 4, 7, 6, 8, 9, 10, 12, 14]
target = []
for item in lst:
if item % 2 == 0:
target.append(item)
if len(target) == 3:
break
print(target)
如果有伪代码编写,则更能有力的体现出break的作用
lst <- [3, 4, 7, 6, 8, 9, 10, 12, 14]
target = []
For item <- lst[0], lst[8]
If item mod 2 = 0
append item to target
Endif
IF target.length = 3
Endfor
Eenif
Next item
Endfor代表整个for循环都结束了
同样是这个逻辑,我们可以使用continue来实现,下面是python语言的实现
lst = [3, 4, 7, 6, 8, 9, 10, 12, 14]
target = []
for item in lst:
if item % 2 != 0:
continue
target.append(item)
if len(target) == 3:
break
print(target)
使用伪代码里表示
lst <- [3, 4, 7, 6, 8, 9, 10, 12, 14]
target = []
For item <- lst[0], lst[8]
If item mod 2 <> 0
Next item
Endif
append item to target
IF target.length = 3
Endfor
Endif
Next item
遇到Next item的时候,后面的代码就不会被执行了,而是回到For item 那一行来执行,开始新一轮的循环。
在伪代码里,要求对于for循环,使用Next 来指明循环体内的代码,使用EndWhile来标明while循环体的范围,对于If语句,要求使用EndIf 来标明if 语句的代码段,这样,就强制你理解代码从哪里执行,到哪里结束。
如果是实际编写代码,加入语法掌握不熟练,那么写出来的代码就无法运行,你会纠结于如何让代码运行,但在学习的初期,更重要的是培养自己的逻辑思考能力,画流程图,写伪代码,都可以很好的实现这个目标,伪代码不需要运行,只要准确的描述出代码的运行逻辑就可以了,甚至对语法没有特殊要求,我使用If, 你也可以使用“如果”,只要是准确的描述了程序的逻辑就可以了。
通过一段时间的锻炼,你的逻辑思考能力增强后,写代码就会有思路,而不会一看就会,一写就错。
QQ交流群: 211426309