算法初步学案

发布 2022-07-02 23:24:28 阅读 8823

一。本章的知识结构。

二。知识梳理。

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)普遍性:

典例剖析:写出一个求有限整数列中的最大值的算法。

解:算法如下。

s1 先假定序列中的第一个整数为“最大值”。

s2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。

s3 如果序列中还有其他整数,重复s2。

s4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。

例写出对任意3个整数a,b,c求出最大值的算法。

s1 s2

s3 s4

练习:1写出解不等式x2-2x-3<0的一个算法。

2 写出ax2+bx+c>0的不等式的解的步骤(为方便,我们设a>0)

3 求过p(a1,b1)、q(a2,b2)两点的直线斜率的算法。

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当型循环结构直到型循环结构。

例4:设计一个计算1+2+…+100的值的算法,并画出程序框图。

算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值可以从1到100。

程序框图:i≤100?

否是。2)画出求21+22+23+…2100的值的程序框图。

2、 解:序框图如下图:

i≥100否。

是。1.2.1 输入、输出语句和赋值语句。

程序设计语言有很多种。如basic,foxbase,c语言,c++,j++,vb等。为了实现算法中的三种基本的逻辑结构:

顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:

引例。编写程序,分别计算当时函数值。

程序:一)输入语句。

在该程序中的第1行中的input语句就是输入语句。这个语句的一般格式是:

其中,“提示内容”一般是提示用户输入什么样的信息。如每次运行上述程序时,依次输入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量“x”,并按“x”新获得的值执行下面的语句。

input语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:

例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:

input “数学,语文,英语”;a,b,c

注:①“提示内容”与变量之间必须用分号“;”隔开。

各“提示内容”之间以及各变量之间必须用逗号“,”隔开。但最后的变量的后面不需要。

二)输出语句。

在该程序中,第3行和第4行中的print语句是输出语句。它的一般格式是:

同输入语句一样,表达式前也可以有“提示内容”。例如下面的语句可以输出斐波那契数列:

此时屏幕上显示:

the fibonacci progression is:1 1 2 3 5 8 13 21 34 55 …

输出语句的用途:

1)输出常量,变量的值和系统信息。(2)输出数值计算的结果。

三)赋值语句。

用来表明赋给某一个变量一个具体的确定值的语句。

除了输入语句,在该程序中第2行的赋值语句也可以给变量提供初值。它的一般格式是:

赋值语句中的“=”叫做赋值号。

赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。

注:①赋值号左边只能是变量名字,而不能是表达式。如:2=x是错误的。

赋值号左右不能对换。如“a=b”“b=a”的含义运行结果是不同的。

不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)

算法初步学案

234第1课时 算法的概念。课型 新课执笔 段志杰授课时间 2011年 2 月 28 日。学习目标 1.通过实例体会算法思想,了解算法的含义与主要特点。2.能按步骤用自然语言写出简单问题的算法过程。3.培养自己的逻辑思维能力与表达能力。重点难点 学习重点 将问题的解决过程用自然语言表示为算法过程。学...

算法初步学案

一。本章的知识结构。二。知识梳理。1 四种基本的程序框。2 三种基本逻辑结构。顺序结构条件结构循环结构。3 基本算法语句。一 输入语句。单个变量。多个变量。二 输出语句。三 赋值语句。四 条件语句。if then else格式。当计算机执行上述语句时,首先对if后的条件进行判断,如果条件符合,就执行...

算法初步复习学案

1 学习目标。1 掌握算法初步知识结构。2 掌握下面例题题型。2 重点,难点。重点 知识整合及例题。难点 例题。3 自主学习 1 知识建构。概念 按照一定解决某一类问题的和的步骤。性质 由若干个依次执行的步骤组成的结构。基本逻辑结构根据条件是否成立有不同流向的结构。按照一定的条件反复执行某些步骤的结...