- 119.80 KB
- 2022-08-15 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
学习必备欢迎下载算法初步复习课一.本章的知识结构算法算法与程序框图程序框图顺序结构算法的三种基本逻辑分支结构结构和框图表示循环结构输入语句、输出语句、赋值语句、基本算法语句条件语句、循环语句二.知识梳理要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。算法的概念1广义地讲算法是为完成一项任务所应当遵照的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。2狭义地讲算法是解决一个问题采取的方法和步骤的描述1例1任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。算法分析:根据质数的定义,很容易设计出下面的步骤:第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性例5写出求1+2+3+4+5+6的一个算法。(1)四种基本的程序框精品学习资料可选择pdf第1页,共5页-----------------------\n学习必备欢迎下载终端框(起止框)输入.输出框处理框判断框(2)三种基本逻辑结构顺序结构条件结构循环结构顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执行不同指令的控制结构。循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。(3)基本算法语句(一)输入语句精品学习资料可选择pdf第2页,共5页-----------------------\n学习必备欢迎下载单个变量INPUT“提示内容”;变量多个变量INPUT“提示内容1,提示内容2,提示内容3,⋯”;变量1,变量2,变量3,⋯(二)输出语句PRINT“提示内容”;表达式(三)赋值语句变量=表达式(四)条件语句IF-THEN-ELSE格式IF条件THEN满足条件?语句1否ELSE是语句2语句1语句2ENDIF当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)IF-THEN格式是IF条件THEN满足条件?语句否ENDIF语句计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)精品学习资料可选择pdf第3页,共5页-----------------------\n学习必备欢迎下载(五)循环语句(1)WHILE语句WHILE条件循环体循环体WEND满足条件?是其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控否制计算机执行循环体或跳出循环体的。当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图)(2)UNTIL语句循环体DO循环体否LOOPUNTIL条件满足条件?是其对应的程序结构框图为:(如上右图)(4)算法案例案例1辗转相除法与更相减损术案例2秦九韶算法案例3排序法:直接插入排序法与冒泡排序法案例4进位制三.典型例题例1写一个算法程序,计算1+2+3+⋯+n的值(要求可以输入任意大于1的正自然数)解:INPUT“n=”;ni=1sum=0WHILEi<=nsum=sum+ii=i+1WENDPRINTsumEND思考:在上述程序语句中我们使用了WHILE格式的循环语句,能不能使用UNTIL循环?例3把十进制数53转化为二进制数.543210解:53=1×2+1×2+0×2+1×2+0×2+1×2精品学习资料可选择pdf第4页,共5页-----------------------\n学习必备欢迎下载=110101(2)例4利用辗转相除法求3869与6497的最大公约数与最小公倍数。解:6497=3869×1+26283869=2628×1+12412628=1241*2+1461241=146×8+73146=73×2+0所以3869与6497的最大公约数为73最小公倍数为3869×6497/73=344341精品学习资料可选择pdf第5页,共5页-----------------------