算法初步学案

发布 2022-07-02 23:25:28 阅读 7928

一。本章的知识结构。

二。知识梳理。

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 知识建构。概念 按照一定解决某一类问题的和的步骤。性质 由若干个依次执行的步骤组成的结构。基本逻辑结构根据条件是否成立有不同流向的结构。按照一定的条件反复执行某些步骤的结...