- 知识讲解_几何概型_基础练习题 试卷 1 次下载
- 巩固练习_变量间的相关关系_基础 试卷 1 次下载
- 知识讲解_变量间的相关关系_基础练习题 试卷 1 次下载
- 巩固练习_用样本估计总体_基础 试卷 2 次下载
- 巩固练习_《算法初步》全章复习与巩固 试卷 1 次下载
知识讲解_《算法初步》全章复习与巩固
展开《算法初步》全章复习与巩固
【学习目标】
1.了解算法的含义,了解算法的思想;
2. 重点理解程序框图的三种基本逻辑结构:顺序结构、条件结构和循环结构;
3. 重点理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义;
4.会用辗转相除法和更相减损术求最大公约数。
【知识网络】
【要点梳理】
要点一:算法的概念
1、算法的定义:
广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.
在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
2、算法的特征:
(1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.
(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.
(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.
(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法.
3、设计算法的步骤
算法与一般意义上的解决问题的方法不同,它是针对一类问题的一般解法的抽象和概括,在设计算法时,要注意算法的特性,即概括性、逻辑性、有穷性、普遍性等.一般用算法解决问题的过程可大致分为三步:
(1)明确问题的性质,分析题意.
(2)建立问题的描述模型.
(3)设计明确的算法.
要点二:程序框图及其画法
1. 程序框图的概念:
程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:
图形符号 | 名称 | 含义 |
| 开始/结束框 | 用于表示算法的开始与结束 |
| 输入/输出框 | 用于表示数据的输入或结果的输出 |
| 处理框 | 描述基本的操作功能,如“赋值”操作、数学运算等 |
| 判断框 | 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” |
| 流程线 | 表示流程的路径和方向 |
| 连接点 | 用于连接另一页或另一部分的框图 |
| 注释框 | 框中内容是对某部分流程图做的解释说明 |
3.画程序框图的规则:
(1)使用标准的框图的符号;
(2)框图一般按从上到下、从左到右的方向画;
(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。判断框是具有超过一个退出点的唯一符号;
(4)一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;
(5)在图形符号内描述的语言要非常简练清楚。
4、算法的三种基本逻辑结构
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构.
见示意图和实例:
顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作.
(2)条件结构
如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件P是否成立,选择不同的执行框(A框、B框).无论P条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行.A框或B框中可以有一个是空的,即不执行任何操作.
见示意图
要点诠释:
条件结构中的条件要准确,不能含混不清,要清楚在什么情况下需要作怎样的判断,用什么条件来区分.
(3)循环结构
在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.
循环结构有两种形式:当型循环结构和直到型循环结构.
①当型循环结构,如左下图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构,继续执行下面的框图.
②直到型循环结构,如右下图所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立,依次重复操作,直到某一次给定的判断条件P成立为止,此时不再返回来执行A框,离开循环结构,继续执行下面的框图.
见示意图
要点诠释:
循环结构中使用什么样的条件控制循环的开始和结束,要清楚满足某个条件的变量的次数与循环次数的联系与区别.
5.设计程序框图的注意事项
程序框图是用规定的图形和连接线来准确、直观、形象地表示算法的图形,画程序框图之前应先根据问题设计出合理有效的算法,然后分析算法的逻辑结构,最后根据逻辑结构画出相应的程序框图.
在画程序框图时,应注意图形的准确性,连接线指向方向要正确.
在利用判断框设计循环结构时,对循环变量要先赋值,同时注意推出的条件,不能形成死循环.
要点三:用基本算法语句编写程序
1.输入语句
在程序中的INPUT语句就是输入语句.这个语句的一般格式是:
其中,“提示内容”一般是提示用户输入什么样的信息.
INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:
功能:可对程序中的变量赋值.
要点诠释:
①“提示内容”提示用户输入什么样的信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;
②变量是指程序在运行时其值是可以变化的量;
③一个语句可以给多个变量赋值,中间用“,”分隔,但最后的变量的后面不需要;
④要求输入的数据必须是常量,而不能是函数、变量或表达式;
⑤无计算功能.
例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:
INPUT “数学,语文,英语”;a,b,c
2.输出语句
在程序中的PRINT语句是输出语句.它的一般格式是:
同输入语句一样,表达式前也可以有“提示内容”.
功能:可输出表达式的值,计算.
要点诠释:
①“提示内容”提示用户输出什么样的信息,提示内容必须加双引号,提示内容要用分号和表达式分开;
②表达式是指程序要输出的数据,可以是变量、计算公式或系统信息;
③一个语句可以输出多个表达式,不同的表达式之间可用“,”分隔;
④有计算功能,可以输出常量、变量或表达式的值以及字符.
3.赋值语句
用来表明赋给某一个变量一个具体的确定值的语句.它的一般格式是:
赋值语句中的“=”叫做赋值号.
功能:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.
要点诠释:
①赋值号的左右两边不能对换,如“A=B”“B=A”的含义运行结果是不同的;
②格式中右边“表达式”可以是一个数据、常量和算式,如果“表达式”是一个算式时,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“=”左边的变量;
③赋值号左边只能是变量名字,而不能是表达式,如:2=X是错误的;
④不能利用赋值语句进行代数式的演算(如化简、因式分解等);
⑤对于一个变量可以多次赋值;
⑥有计算功能;
⑦赋值号与数学中的等号的意义是不同的.赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将“原值”冲掉.
4.条件语句
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一般格式是:(IF-THEN-ELSE格式)
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2.其对应的程序框图为:(如上右图)
在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:(如上右图)
要点诠释:
条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理.
5.循环语句
算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构.即WHILE语句和UNTIL语句.
(1)WHILE语句的一般格式是:
其中循环体是由计算机反复执行的一组语句构成的.WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的.
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.因此,当型循环有时也称为“前测试型”循环.其对应的程序结构框图为:(如上右图)
(2)UNTIL语句的一般格式是:
其对应的程序结构框图为:(如上右图)
直到型循环又称为“后测试型”循环,从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.
要点诠释
当型循环与直到型循环的区别
①当型循环是先判断后执行,直到型循环是先执行后判断;
②当型循环用WHILE语句,直到型循环用UNTIL语句;
③对同一算法来说,当型循环和直到型循环的条件互为反条件.
基本算法语句包括输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件分支结构、循环结构,用基本语句编写程序时,要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表述以及循环语句中有关变量的取值范围.
【典型例题】
类型一:算法设计
例l.写出解方程的一个算法.
【解析】 算法一:
第一步:将方程左边因式分解,得; ①
第二步:由①得x-3=0, ②
或x+1=0; ③
第三步:解②得x=3,解③得x=-1.
算法二:
第一步:移项,得; ①
第二步:①式两边同时加1并配方,得; ②
第三步:②式两边开方,得; ③
第四步:解③得x=3或x=-1.
算法三:
第一步:计算方程的判别式判断其符号△=22+4×3=16>0;
第二步:将,,,代入求根公式,得,得,.
【总结升华】 比较三种算法,算法三更简单,步骤最少,由此我们只要有公式可以利用,利用公式解决问题是最理想、合算的算法.因此在寻求算法的过程中,首先是利用公式,下面我们设计一个求一般的一元二次方程的根的算法如下:
第一步:计算;
第二步:若,方程无实根;
第三步:若△≥0,方程的根.
例2.设计一个算法,将高一某班56名同学中考试成绩不及格者的分数打印出来.
【解析】算法步骤如下:
S1 令n=1.
S2 如果n>56,则转到S7.
S3 输入一个学生的成绩G.
S4 将G和60比较,如果G<60,则输出G.
S5 n=n+1.
S6 转到S2.
S7 结束.
【总结升华】该题中实际是用到了算法的条件结构和循环结构,条件结构用于判断分数是否小于60;循环结构用于控制输入成绩的次数.
举一反三:
【变式1】 写出求过点M(-2,-1)、N(2,3)的直线与坐标轴围成的三角形面积的一个算法.
【解析】算法步骤如下:
第一步:取,,,;
第二步:得直线方程;
第三步:在第二步的方程中令y=0,得y的值m,从而得直线与y轴的交点A(0,m);
第四步:在第二步的方程中令y=0,得x的值n,从而得直线与x轴的交点B(n,0);
第五步:根据三角形的面积公式求;
第六步:输出运算结果.
【总结升华】先由M,N两点得出直线的方程,再求直线与两坐标轴的交点,求出三角形的两条直角边长,再由面积公式计算.
类型二:程序框图及其画法
例3.输出1000以内能被3和5整除的所有正整数,画出其程序框图.
【解析】 能被3和5整除的正整数一定能被15整除,由于1000=15×66+10,因此1000以内一共有66个这样的正整数.
引入变量a表示待输出的数,则a=15n(n=1,2,3,…,66),n从1变到66,反复输出a,就能输出l000以内的所有能被3和5整除的正整数,算法流程图如图所示.
【总结升华】像这样的算法结构称为循环结构,其中反复执行的第②部分称为循环体.
变量n控制着循环的开始和结束,称为循环变量,第①部分就是赋予循环变量初始值,预示循环开始.
第③部分判断是否继续执行循环体,称为循环的终止条件.
循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等问题常需要用循环结构来设计算法.
在循环结构中,要注意依据条件,设计合理的计数变量、累加变量等,要特别注意循环结构中条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.
例4.(2016春 河南南阳月考)以下是某次考试中某班10名同学的数学成绩(单位:分)82,120,97,65,130,115,98,107,77,89.要求将90分以上的同学的平均分求出来.画出算法框图,并写出程序语句.
【思路点拨】根据算法的三种结构的特点,结合本题的要求,我们可以用条件结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量,分别计算高于80分的成绩的总和和人数.
【解析】算法框图如下:
算法语句如下:
i=1
s=0
m=0
DO
INPUT x
IF x>=90 THEN
s=s+x
m=m+1
END IF
i=i+1
LOOP WHILE i<=10
P=s/m
PRINT P
END
举一反三:
【变式1】指出下列程序框图的运行的结果.
(1)图1的运行结果是 ;
(2)图2的运行结果是 ;
(3)图3中若输入,则输出的结果是 ;
(4)图4的运行结果是 .
【答案】(1);(2);(3)是负数;(4)。
【变式2】如图5的算法功能是 ; 输出的结果为 ; .
【答案】积为624的相邻两个整数,24,26
【变式3】已知函数,以下程序框图(图6)表示的是给定值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填 ,②处应填 .
【答案】,
类型三:用基本算法语句编写程序
例5.如图所示,在边长为4的正方形ABCD的边上有一点P,沿着折线B-C-D-A由点B(起点)向点A(终点)运动.设点P运动的路程为x,△APB的面积为y,求y与x之间的函数关系式.画出程序框图,并写出程序.
【思路点拨】此分段函数只要能够判断x的取值范围,就能够很容易的求出y的值.所以我们可以分或和这两个模块分别设计算法,然后再组合成整个算法.
【解析】按x的变化情形,可知函数关系式为
程序框图如图所示
程序如下:
【总结升华】本题要求运用条件语句的嵌套来完成,在书写含有嵌套形式的程序时,一般采用缩进的形式体现层次性.另外在书写运算符、逻辑关系符、常用数值符时,应按照要求规范书写。
举一反三:
【变式1】(2015春 江西萍乡期末)要计算函数的值,请用If语句描述算法,并算出输出的函数值大于2016时输入的x的范围.
【答案】(1)略;(2)(5,+∞).
【解析】(1)IF语句
输入x
IF x>2 then
else
if x<-2 then
else
y=x+1
end if
end if
end if
输出y
(2)若输入的x>2,则,
解得x>5或x<-2,所以x>5.
若输入的x<-2,则,解得x>1,不合.
若输入的-2≤x≤2,则x+1>2016,解得x>2015,不合.
所以输入的x的范围为(5,+∞).
例6.(2015春 陕西金台区期末)某小区每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.
【思路点拨】根据题目已知中应收取的卫生费计费方法,然后可根据分类标准,设置两个判断框的并设置出判断框中的条件,再由各段的输出,确定判断框的“是”与“否”分支对应的操作,由此即可画出流程图,再编写满足题意的程序.
【解析】依题意得,算法为:
S1:输入人数n,
S2:若n≤3,则y=5;否则,y=5+(n-3)×1.2,
S3:输出卫生费y.
程序框图如图所示:
【总结升华】本题考查的知识点是设计程序框图解决实际问题.编写程序解决分段函数问题,要分如下几个步骤:①对题目的所给的条件的分类进行总结,写出分段函数的解析;②根据分类标准,设置判断框的个数及判断框中的条件;③分析函数各段的解析式,确定判断框的“是”与“否”分支对应的操作;④画出流程图,再编写满足题意的程序.
举一反三:
【变式1】设计算法,求的值,画出程序框图,并写出程序.
【思路点拨】本题为正、负相间隔的求和算式,故采用奇、偶分析法进行判断.
【解析】算法框图如下图所示.
用Do Loop语句描述如下:
知识讲解_数列的全章复习与巩固_提高: 这是一份知识讲解_数列的全章复习与巩固_提高,共22页。
知识讲解_《概率》全章复习与巩固: 这是一份知识讲解_《概率》全章复习与巩固,共9页。
巩固练习_《算法初步》全章复习与巩固: 这是一份巩固练习_《算法初步》全章复习与巩固,共6页。