一。本章的知识结构。
二。知识梳理。
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语句。
其对应的程序结构框图为:(如上右图)
4)算法案例。
案例1 辗转相除法与更相减损术。
案例2 秦九韶算法。
案例3 进位制。
1.1.1 算法的概念。
1、算法概念:
在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
2. 算法的特点:
1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的。
2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可。
3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题。
4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法。
5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决。
1、 例题分析:
例1 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。
算法分析:根据质数的定义,很容易设计出下面的步骤:
第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。
第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。
例2 用二分法设计一个求方程x2–2=0的近似根的算法。
算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:
第一步:令f(x)=x2–2。因为f(1)<0,f(2)>0,所以设x1=1,x2=2。
第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)·f(m)大于0还是小于0。
第三步:若f(x1)·f(m)>0,则令x1=m;否则,令x2=m。
第四步:判断|x1–x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二步。
典例剖析:例4 写出一个求有限整数列中的最大值的算法。
解:算法如下。
s1 先假定序列中的第一个整数为“最大值”。
s2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。
s3 如果序列中还有其他整数,重复s2。
s4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
学生做一做写出对任意3个整数a,b,c求出最大值的算法。
s1 max=a
s2 如果b>max, 则max=b.
s3 如果c>max, 则max=c.
s4 max就是a,b,c中的最大值。
1、写出解不等式x2-2x-3<0的一个算法。
解:第一步:x2-2x-3=0的两根是x1=3,x2=-1。
第二步:由x2-2x-3<0可知不等式的解集为;
第四步:若△<0,则不等式的解集为r。
2、求过p(a1,b1)、q(a2,b2)两点的直线斜率有如下的算法:
第一步:取x1= a1,y1= b1,x2= a2,y1= b2;
第二步:若x1= x2;
第三步:输出斜率不存在;
第四步:若x1≠x2;
第五步:计算;
第六步:输出结果。
1.1.2 程序框图。
1、程序框图基本概念:
一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
二)构成程序框的图形符号及其作用。
例如,我们要打印x的绝对值,可以设计如下框图。
开始。输入x
是x≥0? 否。
打印x打印x
结束。注意:(1)使用标准的图形符号。
2)框图一般按从上到下、从左到右的方向画。
3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的惟一符号。
4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
5)在图形符号内描述的语言要非常简练清楚。
2、典例剖析:
例1:已知x=4,y=2,画出计算w=3x+4y的值的程序框图。
解:程序框如下图所示:
开始。输入4,24和2分别是x和y的值。
w=3×4+4×2
输出w结束
三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
例2:已知一个三角形的三边分别为,利用海**式设计一个算法,求出它的面积,并画出算法的程序框图。
算法分析:这是一个简单的问题,只需先算出p的值,再将它代入公式,最后输出结果,只用顺序结构就能够表达出算法。
程序框图:2)条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。
因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执行不同指令的控制结构。
例3:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图。
算法分析:判断分别以这3个数为三边边长的三角形是否存在,只需要验收这3个数当中任意两个数的和是否大于第3个数,这就需要用到条件结构。
程序框图:a+b>c , a+c>b, b+c>a是否。
否同时成立?
是。3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。
循环结构又称重复结构,循环结构可细分为两类:
1)一类是当型循环结构,如图1-5(1)所示,它的功能是当给定的条件p1成立时,执行a框,a框执行完毕后,再判断条件p1是否成立,如果仍然成立,再执行a框,如此反复执行a框,直到某一次条件p1不成立为止,此时不再执行a框,从b离开循环结构。
2)另一类是直到型循环结构,如下图所示,它的功能是先执行,然后判断给定的条件p2是否成立,如果p2仍然不成立,则继续执行a框,直到某一次给定的条件p2成立为止,此时不再执行a框,从b点离开循环结构。aap1?
p2? 不成立。
不成立。成立。
bb当型循环结构直到型循环结构。
算法初步学案
234第1课时 算法的概念。课型 新课执笔 段志杰授课时间 2011年 2 月 28 日。学习目标 1.通过实例体会算法思想,了解算法的含义与主要特点。2.能按步骤用自然语言写出简单问题的算法过程。3.培养自己的逻辑思维能力与表达能力。重点难点 学习重点 将问题的解决过程用自然语言表示为算法过程。学...
算法初步学案
一。本章的知识结构。二。知识梳理。1 四种基本的程序框。2 三种基本逻辑结构。顺序结构条件结构循环结构。3 基本算法语句。一 输入语句。单个变量。多个变量。二 输出语句。三 赋值语句。四 条件语句。if then else格式。当计算机执行上述语句时,首先对if后的条件进行判断,如果条件符合,就执行...
算法初步复习学案
1 学习目标。1 掌握算法初步知识结构。2 掌握下面例题题型。2 重点,难点。重点 知识整合及例题。难点 例题。3 自主学习 1 知识建构。概念 按照一定解决某一类问题的和的步骤。性质 由若干个依次执行的步骤组成的结构。基本逻辑结构根据条件是否成立有不同流向的结构。按照一定的条件反复执行某些步骤的结...