第2节,高效学习方法之编写伪代码

伪代码,是一种非常好的锻炼逻辑思维的手段,不同于真实的代码,它侧重用相对简单的语言表达算法的逻辑,如果是写代码,代码则不允许有半点错误,伪代码可以在初学阶段暂时让你摆脱编程语言语法的困扰。

1. 赋值

在编程语言里的赋值语句

lst = [1, 3, 5, 7, 2]

如果使用伪代码,则可以像下面这样

lst <- [1, 3, 5, 7, 2]

2. for 循环

在编程语言里的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, 进行下一轮循环。

3. while循环

在编程语言里

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

4. if 语句

在编程语言里

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

5. break 与 continue

使用伪代码,可以更加清晰有力的表达出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

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案