计算机无法自行解决问题,开发者必须详细记下计算机为解决问题而采取的每一步,而算法就是为解决给定问题而采取的步骤。
算法是对给定问题的逐步解决方案。算法具有以下属性:
1、有限性:过程终止,步骤数是有限的。
2、确定性:每一步都被精确地陈述。
3、有效的可计算性:每一步都可以由计算机执行。
伪代码编写算法
我们将用伪代码编写算法。伪代码独立于任何语言。它是一种用英语表达算法的结构化方式。在开发者编写了伪代码并确保在逻辑上是没问题的,且解决实际问题之后,我们就可以轻松地将伪代码翻译成任何编程语言。
伪代码没有严格的标准。每个作者都有自己的个人风格。
算法三个基本结构
1、线性序列:是一个接一个的任务或语句的进展。
2、有条件的:IF-THEN-ELSE 是在两个行动过程之间做出的决定。
3、循环:while和for是重复多次的语句序列。
序列
在一个序列中,语句的顺序是线性的。一个语句的结果用于后续语句。以下是执行的一些关键操作以及伪代码中使用的常用词:
输入:read、obtain、get
输出:print、write
计算:compute, calculate, determine
初始化:set、initialize
加一:increment
减一:decrement
条件
在条件语句中进行测试。测试的结果是一个布尔值True或False。如果测试结果为True,则采取某种行动,如果测试结果为False,则采取另一种行动。
if condition then
sequence 1
else
sequence 2
endif
如果条件为True,则执行序列1,否则执行 序列2。else序列是可选的。
循环
循环是被执行多次的序列。序列的完整执行称为循环的迭代。有两个主要的循环结构while和for。
while condition
sequence
endwhile
只要条件为真,就会执行序列。当条件为False时循环终止。
for each element in list
for each month of the year
for i = 1 to 10
迭代的短语范围指定迭代的开始和结束。
可以交替使用while循环和for循环。
但通常,当知道循环的确切迭代次数时,会使用for循环。当迭代次数事先未知时,可以使用while循环。还可以将一个循环嵌套在另一个循环中,或者将条件嵌套在循环中,反之亦然。
方法或函数
方法或函数是具有特定功能的代码体。一个方法可能有也可能没有输入值。方法可能会也可能不会返回结果。我们使用关键字call来调用方法。
call sort on studentlist
call move with row, column