程序框图与算法.知识框架_第1页
程序框图与算法.知识框架_第2页
程序框图与算法.知识框架_第3页
程序框图与算法.知识框架_第4页
程序框图与算法.知识框架_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序框图与算法模块框架算法的含义目tM粧 高考要求算法 初步要求层次觅难点算法及其程 序框图算法的含义A(1) 算法的含义、程序框图了解算法的含义,了解算法的思想.®理解程序框图的三种基本逻辑结构:顺序、 条件分支、循环.(2) 基本算法语句理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句的含义.程序框图的 三种基本逻 辑结构B基本算法语句A知识内容一、算法的概念与描述1. 算法的概念:山歴本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则解决某一类问题的明确的和有限的步骤,称为算法(algorithm).通常可以编成计算机程序,让计算机执行并解决

2、问题.2. 算法的特征:有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度;确定性:算法的每一个步骤必须有确定的含义;可行性:组成算法的每个步骤和操作必须是相半肚本的,原则上都是能精确地执行的:输入:有零个或多个输入:输出:有一个或多个输出.3. 算法的描述:用自然语言;(2)用数学语言;(3)用算法语言(程序设计语言);用程序框图(流程图).4. 算法的三种基本逻辑结构:顺庁结构、条件(分支)结构和循环结构.顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图, 只有在执行完A框指定的操作后,才能接着执行B框指定的操作:条件(分支)结构

3、:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构.常见的条件结构的程序框图有下面两种形式:A循环结构:从某处开始,按照一定的条件反复执行某些步骤的悄况,就是循环结构,其中反复执行 的步骤称为循环体.常见的循环结构的框图对应为:V教师备案1. 在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到 达结束框,流程线必须加箭头表示顺序.2. 对于循环结构有如下需要注意的情况:循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不 过是一瞬间的事,且能保证每次的结果都正确;循环结构要有中止循环体的条件,不能无休止的运算下去,

4、循环结构中一定包含条件结构,如7W” 就是中止循环的条件;循环结构的关键是,要理解“累加变量"和“用i + 1代替厂',S是一个累加变量,j是汁数变量,每循 环一次,S和f都要发生变化,这两步要重复计算若干次;-种循环结构是先判断iW”是否成立,若是,执行循环体:若否,则中止循环,像这样,每次执 行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为肖型循环.除了 当型循环外,常用的循环结构还有直到型循环.5. 程序框图的槪念:用一些通用的图形符号构成的一张图来农示算法,称为程序框图(简称框图). 常用图形符号:图形符号名称符号表示的意义起、止框框图的开始

5、或结束口输入、输出框数据的输入或者结果的输出处理框赋值、执行计算语句、结果的传送判断框根据给定条件判断J1 流程线流程进行的方向O连结点连结另一页或另一部分的框图V教师备案1. 画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的 惟一符号;(4)-种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果:另一种是多分支判断,有 几种不同的结果:(5)在图形符号内描述的语言要非常简练清楚.2. 画程序框图要注意的几点:起、止框是任何流程不可少的,表示程序的开始和结束

6、;输入、输出框可以用在算法中任何需要输入、输出的位置:算法中间要处理数据或讣算,可分别写在不同的处理框内:(4)、丹算法要求你对两个不同的结果进行判断时,要写在判断框内;一个算法步骤到另一个算法步骤用流程线连结;如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码.如:用海伦公式求任意三角形的面枳的程序框图,其中断开处画上连结点,并标出连结的号码.(I)二. 基本算法语句Bosic语言(A版)1. 将算法转变成讣算机能够理解和能在汁算机上实现的程序,这就需要程序语言,每-种程序语言 都包含一些基本的语句.程序语言的丛本语句结构:输入语句、输出语句、赋值语句、条件语句、 循环语句.2

7、. 赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量=表达式.其中,“=''叫做赋值号.作用:先汁算出赋值号右边农达式的值,然后将它赋给左边的变量,使该变量的值等于衣达式的 值.3. 输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句. 一般格式:INPUT “提示内容”;变量例:INPUT “Maths=": a,INPUT “Chinese="; bc= (a+b) /2END表示输入数学与语文的成绩,其中c表示它们的平均数.4. 输出语句:以某种形式把求解结果输出的语句.一般格式:PRINT “提示内容

8、”;表达式如上例中输出平均成绩可以用:PRINT “The average: (a-b) /25. 条件语句:处理条件结构的算法语句.冇以下两种基本格式:一般格式1: IF 条件 THEN语句体END IF汁算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句 体,否则执行END IF之后的语句.一般格式2: IF条件THEN语句体1ELSE语句体2END IF计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1, 否则(ELSE)执行语句体2.6. 循环语句:处理算法中的循环结构的语句:有两种歴本语句:UNTIL语句

9、和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句. UNTIL 语句:DO循环体LOOP UNTIL 条件WHILE语句的一般格式:WHILE 条件循环体WENDScibb程序语言(B版)1. 将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言 都包含一些垒本语句,程序语言的歴本语句结构:输入语句、输出语句、赋值语句、条件语句、 循环语句.2. 赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量名=表达式;其中叫做賦值号.作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的 值.3. 输入语句:在每

10、次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.Scilab中的输入语句常用的是:“input”;一般賂式:变量名=input (“提示内容”)例:a=input (“xl”); b=input (“x2"); aver= (a+b) /2衣示输入岭,吃的值,求它们的算术平均数,在Scilab界面内运行结果如下:->a=input (”xl”); b=input (”x2“); aver= (a+b) /2k1>此时通过键盘输入xl的值,如4,再按rnter”键,界面出现:输入x2的值,如6,再按“Enter"键,这时界面岀现:aver =

11、5.4. 输出语句:以某种形式把求解结果输出的语句.Scilab 中有:print, write, fonnat, priiitf, disp 等输出语句,主要介绍 print 语句: 一般格式:print (%io (2),表达式);其中参数:。(2)表示在屏幕上输出.5. 条件语句;处理条件分支结构的算法语句.Scilab程序语言中常用的条件语句为if语句.-般格式:if表达式语句序列1:else语句序列2;end最简格式:if表达式语句序列1;end6. 循环语句:处理算法中的循环结构的语句;Scilab有两种循环语句:for循环和while循环.for循环的格式:for循环变量=初值:

12、步长:终值循环体;endwhile语句的般格式:while表达式(即条件)循环体;endv教师备案1. 计算机能够直接或间接理解的程序语言有很多种,比如C语言,Basic语言,以及一些应用数学软 件:Matlab, Mathsmatics, Scilab对应的讣算机语言.这里的基本语句结构在这些语言中都是存在的, 但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序 语句的含义,为以后深入学习程序设计打下基础.2. 赋值语句:赋值号左边只能是变量名,而不是表达式;如3二加是错误的:賦值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变屋:如x = y表示

13、用y的值替代变 量x原先的值,与y = x不同;不能利用赋值语句进行代数式(或符号)的演算:如尸xl = (x+l)(x-l)是不能实现的:并且在 一个赋值语句中,只能给一个变最赋值:赋值号与数学中的等号的意义不同,执行赋值语句后,右面农达式的值会赋给左边,如果左边变量 原来有一个侑,会自动被冲掉,如N = N + 1表示将N的原值加1再赋给N,即N的值加1.3. 输入语句:在某些算法中,变慣的初值要根据悄况经常地改变,一般我们把程序与初始数据分丿I:, 每次算题时,即使初始数据改变,也不必改变程庁部分,只要程用运行时,输入相应的数据即可,这 个过程在程序语言中,用“输入语句”来控制.输入语句

14、中还有isd输入语句等.输入语句要求输入的i般都是具体的常数,也可输入单个或多个字符,格式为:变最名=input (“提示内容”,“string”),string表示输入字符型变最.4. 循环语句:for语句:先把初值赋给循环变量,记下终值和步氏,循环变量增值到超过终值时,执行end后面的 语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值, 步长是指循环变量每次增加的值,步长为1时,可以省略:while语句:先判断条件是否成立,并在符合条件时,执行循环体:直到某次不符合时,跳到end后 面的语句.对应的丛本框图是:5. 在程序语言中,乘、除、乘方、求平

15、方根、绝对值,分别用下列符号表示:*、人人、sqrt ()、abs ().程序语言中,一般为赋值号,“=”表示等号.2、W、工分别? j成: >=、<=、<> 在程序中,如果賦值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号, 而是直接使用回车或空格.在Scilab语句中,变最名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变最名,但 不能用sum表示变量名,但在有些程用语言中,可以用多个字母表示变量名.三. 算法案例1. 更相减损术一求两个整数的最大公约数的算法如何找到-种算法,对任意两个正整数都能快速地求出它们的最大公约数呢?更相减损

16、术的步骤:以两个数中较大的数减去较小的数,以淬数和较小的数构成一对新的数,对这一对数再用大数减小数, 以同样的操作一直做下去,直到产生一对相等的数,此数就是这两个数的最大公约数.等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法",用等值算法可以求 任意两个正整数的最大公约数.v教师备案九章算法是中国古代的数学专苦,其中的“更相减殒术”可以用来求两个数的最大公约数.以具体 的例子来说明更相减损术求最大公约数的原理:以求117和182的最大公约数为例:(117,182) T (117,65)->(65,52) T (52 ,13)->(13 ,39)-

17、>(13 ,26)->(13,13),每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数, 即为所求的最大公约数.2. 辗转相除法又称欧几里得算法,是山欧几里得在公元前300年左右首先捉出来的求两个数的最大公约数的算法。 辗转相除法的步骤:对于给定的两个数,以其中较大的数除以较小的数得到个余数,将较小的数与余数看成对新的数, 重复上面的步骤,直到余数为零为止,此时上一步中较小的数即为所求的最大公约数。以求117和182的最大公约数为例:(117,182)->(117,65)(65,52)->(52 ,13)->(13 ,0),故

18、 13 即为所求。3. 秦九韶算法一一求多项式的值的算法对于任意一个元的多项式,如何更快地计算它在某点所取到的值?秦九韶算法:已知一个多项式函数,计算多项式在某点处的函数值的一种算法,是我国古代数学家秦九韶提出的, 具体如下.对任意一个"元多项式 f (x) = anxn + - + g + ,改写成如下形式:fM = (a”x"T + an_yXn2 + +a1)x+a0=+ 耳严 + + djx+ q)x+ do= = ( - ”x + J)X + d”.2)x + + dJx + a。,求多项式的值时,先汁算最内层括号内的一次多项式的值,即+ d门,然后山内向外逐层计算一次多项式的值,即也=岭.丫 + %2,片=吋+ %3,=%】x + do 这样,求一个"次多项式的值,就转化为求"个一次多项式的值.令叫=(a”x + a”.i)x+an)x + a”,则递推公

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论