算法初步章节复习课教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法初步一.本章的知识结构
二.知识梳理
(1)四种基本的程序框
输入.
终端框(起止框)
输入.输出框
终端框(起止框)
输入.输出框
处理框
判断框终端框(起止框)输入、输出框处理框
判断框
(2)三种基本逻辑结构
顺序结构条件结构循环结构
(3)基本算法语句
(一)输入语句
单个变量
多个变量
(二)
(三)赋值语句
(四)条件语句
IF-THEN-ELSE格式
当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。
其对应的程序框图为:(如上右图)
IF -THEN 格式
计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。
其对应的程序框图为:(如上右图) (五)循环语句
(1)WHILE 语句
其中循环体是由计算机反复执行的一组语句构成的。
WHLIE 后面的“条件”是用于控制计算机执行循环体或跳出循环体的。
当计算机遇到WHILE 语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
这时,计算机将不执行循环体,直接跳到WEND 语句后,接着执行WEND 之后的语句。
因此,当型循环有时也称为“前测试型”循环。
其对应的程序结构框图为:(如上右图)
(2)UNTIL 语句
当计算机遇到UNIT 语句时,先执行一次DO 和LOOP UNIT 之间的循环体,然后判断UNIT
后的条件是否成立,如果
IF 条件 THEN
语句
END IF
WHILE 条件
循环体 WEND
DO 循环体 LOOP UNTIL
条件
不成立,继续执行循环体;然后再判断上述条件,如果条件仍不成立,再次执行循环体,这个过程反复进行,直到某一次条件符合为止。
这时,计算机将不执行循环体,直接跳到循环体执行LOOP UNIT 后面的语句;
其对应的程序结构框图为:(如上右图)
(4)算法案例
案例1 辗转相除法与更相减损术
例1 利用辗转相除法求3869与6497的最大公约数与最小公倍数。
例2:用更相减损法求378和90的最大公约数 解:6497=3869×1+2628 解:378和90都是偶数,先除以2得189和45
3869=2628×1+1241 189-45=144,144-45=99 ,99-45=54 2628=1241*2+146 54-45=9, 45-9=36,36-9=27 1241=146×8+73 27-9=18,18-9=9
146=73×2+0 所以378和90的最大公约数为2*9=18 所以3869与6497的最大公约数为73 最小公倍数为3869×6497/73=344341
案例2 秦九韶算法:没有乘方运算,只有乘法和加法的 运算,并且次数分别是n 次和n 次
例3:已知一个一元五次的多项式为f (x )=8.07.16.25.3252
3
4
5
-+-++x x x x x 用秦九韶算法求这个多项式当x=5时的值
案例3 排序法:直接插入排序法与冒泡排序法 案例4 进位制
例4: 把十进制数53转化为二进制数. 另一种方法:除法算式
解:53=1×25+1×24+0×23+1×22+0×21+1×20
=110101(2)
注意:二进制转换成六进制的话,就先把二进制转化成十进制,然后十进制再转化成六进制。
三.典型例题
例 写一个算法程序,计算1+2+3+…+n 的值(要求可以输入任意大于1的正自然数) 解:INPUT “n=”;n i=1 sum=0
WHILE i<=n sum=sum+i i=i+1 WEND PRINT sum END
思考:在上述程序语句中我们使用了WHILE 格式的循环语句,能不能使用UNTIL 循环?。