高中信息技术算法与程序设计(教育精品).ppt

上传人:gsy****95 文档编号:87082423 上传时间:2023-04-16 格式:PPT 页数:192 大小:5.56MB
返回 下载 相关 举报
高中信息技术算法与程序设计(教育精品).ppt_第1页
第1页 / 共192页
高中信息技术算法与程序设计(教育精品).ppt_第2页
第2页 / 共192页
点击查看更多>>
资源描述

《高中信息技术算法与程序设计(教育精品).ppt》由会员分享,可在线阅读,更多相关《高中信息技术算法与程序设计(教育精品).ppt(192页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、正确理解题意正确理解题意寻找或设计正确的解题方法寻找或设计正确的解题方法使用计算工具进行计算并得到结果使用计算工具进行计算并得到结果验证计算结果验证计算结果正确理解题意正确理解题意寻找或设计正确的解题方法寻找或设计正确的解题方法设计正确的算法设计正确的算法使用合适的程序设计语言将算法表使用合适的程序设计语言将算法表达为计算机程序达为计算机程序由计算机按照设计好的程序高速、由计算机按照设计好的程序高速、自动地计算结果自动地计算结果无论使用人工解题还是使用计算机解题,都必须在正确理解题意地基础上寻找或设计正确的解题方法。使用人工解题最后需验算,而使用计算机解题则不需要。问题问题:在一次班级联欢会上

2、,同学们玩了一个猜商品价格的游戏。:在一次班级联欢会上,同学们玩了一个猜商品价格的游戏。A同学出示一件商品,价格在同学出示一件商品,价格在11000元之间,价格为整数,要求元之间,价格为整数,要求B同学猜价格。同学猜价格。B同学每猜一个价格,同学每猜一个价格,A同学需要回答猜对了,或猜同学需要回答猜对了,或猜大了,还是猜小了。要求大了,还是猜小了。要求B同学尽可能快地猜出商品的价格。同学尽可能快地猜出商品的价格。【方法方法1】:B同学从同学从1、2、3、依次猜测商品的价格,直到猜对为止。依次猜测商品的价格,直到猜对为止。【方法方法2】:B同学先从同学先从11000的的中间数中间数500开始猜,

3、根据开始猜,根据A同学的回答决定下一个要猜测的同学的回答决定下一个要猜测的价格,如果价格,如果A回答回答“猜大了猜大了”,则在,则在1499之间取之间取中间数中间数进行猜测;进行猜测;否则否则,取,取5011000的的中间数中间数进行猜测,如此反复,直到猜对为止。进行猜测,如此反复,直到猜对为止。看似无所不能的计算机,迄今为止也看似无所不能的计算机,迄今为止也只能按只能按照设计好的程序照设计好的程序,一步步地进行运算处理。事实上,一步步地进行运算处理。事实上,要使用计算机来解决问题,人们必须事先设计好解要使用计算机来解决问题,人们必须事先设计好解决问题的计算机程序。决问题的计算机程序。没有计算

4、机程序,就不可能用计算机来解决问题没有计算机程序,就不可能用计算机来解决问题。计算机程序计算机程序就是指示计算机如何去解决问题就是指示计算机如何去解决问题或完成任务的或完成任务的一组可执行的指令一组可执行的指令。程序设计程序设计就是寻求解决问题的方法,并将其就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。实现步骤编写成计算机可以执行的程序的过程。计算机是一种按照设计好的程序,快速、自动地进行计算计算机是一种按照设计好的程序,快速、自动地进行计算的电子设备。计算机开始计算之前,必须把解决某个问题的电子设备。计算机开始计算之前,必须把解决某个问题地程序存储在计算机内存中。地

5、程序存储在计算机内存中。程序由程序由指令部分指令部分和和数据部分数据部分组成。组成。指令部分指令部分由一系列指令构成,每条指令都是要求计算机执由一系列指令构成,每条指令都是要求计算机执行地一个动作。由适当的指令构成一个序列,描述了解决行地一个动作。由适当的指令构成一个序列,描述了解决这个问题的计算过程。这个问题的计算过程。数据部分数据部分用来存储计算过程中所需的原始数据、计算的中用来存储计算过程中所需的原始数据、计算的中间结果和最终结果。间结果和最终结果。指令指令就是用来规定计算机操作的命令。计算机的所有指令组就是用来规定计算机操作的命令。计算机的所有指令组成了计算机的成了计算机的指令集指令集

6、。一般而言,计算机的指令越丰富,功。一般而言,计算机的指令越丰富,功能也就越强大。能也就越强大。输入输入通过输入设备,程序接收外界输入的数据,将数据存储到指定的通过输入设备,程序接收外界输入的数据,将数据存储到指定的变量变量中;中;输出输出把文字、变量中存储的数据或计算产生的结果,通过输出设备显示或打印出来;把文字、变量中存储的数据或计算产生的结果,通过输出设备显示或打印出来;数学运算数学运算进行、进行、平方、开平方、求余数等数学运算。通常,计算所需的的数、平方、开平方、求余数等数学运算。通常,计算所需的的数据从变量中获得,计算的结果可以存储到指定的据从变量中获得,计算的结果可以存储到指定的变

7、量变量中。中。逻辑判断逻辑判断可以对指定的两个数据进行大小或相等性(、可以对指定的两个数据进行大小或相等性(、)比较,比较、)比较,比较的结果为逻辑值(真或假),也使用逻辑运算(如与、或、非),把若干个较简的结果为逻辑值(真或假),也使用逻辑运算(如与、或、非),把若干个较简单的判断连接起来,成为一个复杂的判断。单的判断连接起来,成为一个复杂的判断。控制转移指令控制转移指令用来改变程序中指令的执行顺序。用来改变程序中指令的执行顺序。现在由计算机来扮演现在由计算机来扮演A同同学的角色,计算机应该学的角色,计算机应该按照下述过程进行工作:按照下述过程进行工作:计算机得到计算机得到B同同学所猜的价格

8、学所猜的价格计算机对得到价计算机对得到价格与实际价格进格与实际价格进行比较,告诉行比较,告诉B同学比较的结果同学比较的结果(猜小了猜小了、猜大猜大了了、猜对了猜对了)计算机根据比较计算机根据比较的结果决定是否的结果决定是否继续猜测。继续猜测。使用计算机解决问题一使用计算机解决问题一般要经历以下三个阶段:般要经历以下三个阶段:分析问题并确定要分析问题并确定要计算机做什么计算机做什么寻找解决问题的途寻找解决问题的途径和方法径和方法开始开始用计算机进行处理用计算机进行处理分析问题分析问题设计算法设计算法编写程序编写程序运行程序运行程序问题解决问题解决猜大了或是猜小猜大了或是猜小了,则继续猜测了,则继

9、续猜测猜对了则停止猜猜对了则停止猜测,游戏结束测,游戏结束数据的存储:数据的存储:计算所需的原始数据、计算产生的计算所需的原始数据、计算产生的中间结果、计算的最终结果需要存储在中间结果、计算的最终结果需要存储在变量变量中。中。计算的过程:计算的过程:首先确定解决问题的方法;首先确定解决问题的方法;然后必须将该方法然后必须将该方法步骤化步骤化,即用计算机可以执行的,即用计算机可以执行的步骤步骤(指令指令),来描述问题的计算过程,这意味着),来描述问题的计算过程,这意味着程序的计算过程不仅必须指出动作,而且必须指出程序的计算过程不仅必须指出动作,而且必须指出动作的次序。动作的次序。地址指令内容1显

10、示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T输出指令输出指令输入指令输入指令逻辑判断指令逻辑判断指令控制转移指令控制转移指令程序中的变量是计算过程中要用到的数据的存储单元;程序中的变量是计算过程中要用到的数据的存储单元;通过输入指令的执行,程序将外界输入的数据存储到指定的通过输入指令的执行,程序将外界输入的数据存储到指定的变量中,程序计算的结果也可以存储到指定的变量中;变量中,程序计算的结果也可以存储到指定的变量中;一旦将数据存储到某个变量中,只

11、要我们不再把新的数据存一旦将数据存储到某个变量中,只要我们不再把新的数据存储到其中,那么在程序运行过程中,该变量将永久保存着原来储到其中,那么在程序运行过程中,该变量将永久保存着原来的数据;的数据;在计算过程中如果要使用到该变量中的数据,我们可以从该在计算过程中如果要使用到该变量中的数据,我们可以从该变量中读取出其中的数据,变量中读取出其中的数据,这种读取是不会改变变量中存储的这种读取是不会改变变量中存储的内容的内容的。地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到11

12、1商品价格变量S12输入价格变量T图中的每行代表了内存中的一个存储单元,图中的每行代表了内存中的一个存储单元,每个存储单元可以存放一条指令或一每个存储单元可以存放一条指令或一个数据个数据。每个存储单元都有唯一的。每个存储单元都有唯一的编号编号,称为,称为地址地址。指令是指令是依次逐条执行依次逐条执行的,如果遇到转移指令,会按指令要求选择下一条要执行的的,如果遇到转移指令,会按指令要求选择下一条要执行的指令。指令。遇到遇到结束指令结束指令,整个程序,整个程序终止运行终止运行。地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7

13、显示“猜小了!”8转到19显示“猜大了!”10 转到111 商品价格变量S12 输入价格变量T地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10 转到111 商品价格变量S12 输入价格变量T算法算法是在是在有限步骤有限步骤内求解某一个问题所使用的内求解某一个问题所使用的具有精确定义的具有精确定义的一系列一系列操作规则操作规则。每条规则都必须是每条规则都必须是确定的确定的、能行的能行的、不能有二义性不能有二义性的。的。算法要有一个清晰的算法要有一个清晰的起始步骤起始步骤,且每一

14、个步骤都,且每一个步骤都只能有一个确定的后继步骤只能有一个确定的后继步骤,从,从而组成一个有限步骤序列。步骤终止时也给出了问题的解答。而组成一个有限步骤序列。步骤终止时也给出了问题的解答。解决问题的过程解决问题的过程就是就是实现算法的过程实现算法的过程。算法算法是程序设计的是程序设计的“灵魂灵魂”,算法算法+数据结构数据结构=程序程序。算法。算法独立于任何具体程序设独立于任何具体程序设计语言计语言,一个算法可以用多种程序设计语言实现。,一个算法可以用多种程序设计语言实现。(1)有穷性)有穷性一个算法必须保证它的执行步骤是有限的,即它是能够终止的,操作步骤不能一个算法必须保证它的执行步骤是有限的

15、,即它是能够终止的,操作步骤不能无限。算法可以有重复执行的步骤,只要这些步骤的执行能够终止。无限。算法可以有重复执行的步骤,只要这些步骤的执行能够终止。广义地说,广义地说,“有穷性有穷性”是指操作步骤的数目或完成操作的时间在合理的范围内,是指操作步骤的数目或完成操作的时间在合理的范围内,如果一个算法虽然在操作步骤的数目是有限的,但它所花费的时间超过了合理如果一个算法虽然在操作步骤的数目是有限的,但它所花费的时间超过了合理的限度,这种算法并不是有效的算法。的限度,这种算法并不是有效的算法。(3)可行性)可行性算法中的每一个步骤都要是实际能做的,而且必须在有限的时间内可以完成。例算法中的每一个步骤

16、都要是实际能做的,而且必须在有限的时间内可以完成。例如:如:步骤步骤“输出:输出:Ld”在在d0的情况下就不可以做。的情况下就不可以做。(4)有)有0个或多个输入个或多个输入所谓输入就是指算法在执行时要从外界获得数据,其目的是为算法建立某些初始状态;如所谓输入就是指算法在执行时要从外界获得数据,其目的是为算法建立某些初始状态;如果建立初始状态所需的信息已经包含算法中,那就不需要输入了。果建立初始状态所需的信息已经包含算法中,那就不需要输入了。(5)有一个或多个输出)有一个或多个输出算法的目的是用来求解问题,问题的结果应以一定的方式输出,以便用户知道。在数学中算法的目的是用来求解问题,问题的结果

17、应以一定的方式输出,以便用户知道。在数学中的的”无解无解“对于算法来说也是一个输出,没有输出的算法是毫无意义的。对于算法来说也是一个输出,没有输出的算法是毫无意义的。(2)确定性)确定性算法的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。算法的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。例如:步骤例如:步骤“输出:输出:L正整数正整数”是无法执行的,因为没有指定是无法执行的,因为没有指定L除以哪一个正整除以哪一个正整数,这个步骤是不确定的。数,这个步骤是不确定的。问题:步骤问题:步骤“输入一个正整数输入一个正整数”是否是确定的?是否是确定的?我们可以采用多种方法来描述一个

18、算法,我们可以采用多种方法来描述一个算法,流程图流程图是一种比较直观易是一种比较直观易用的、用图形来描述算法的方法。用的、用图形来描述算法的方法。用流程图来描述算法要遵循一定的标准,这套标准中最常用的符号用流程图来描述算法要遵循一定的标准,这套标准中最常用的符号有:有:处理框处理框输入、输出框输入、输出框判断框判断框流程线流程线开始、结束符开始、结束符在一般情况下,输入、输出框可以用处理框代替。在一般情况下,输入、输出框可以用处理框代替。开始结束开始结束开始开始T S结束结束显示:显示:“输入价格:输入价格:”输入价格到变量输入价格到变量TT S显示:显示:“猜小了!猜小了!”显示:显示:“猜

19、大了!猜大了!”显示:显示:“猜对了!猜对了!”地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T判断框判断框表示条件判断表示条件判断:取出变量取出变量T、S中的数据,若中的数据,若TS是是否成立否成立)。问题1:键盘输入两个数,输出两个数的和与积?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入两个不同的数需要计算机输出两数的和与积 分别存入变量a、b中 两数之和存入变量sum中计

20、算a+b,将结果存放在变量sum中;计算ab,将结果存放在变量s中。最后输出sum、s。两数之积存入变量s中键盘输入两个不同的数,分别存入变量a、b中。计算a+b,将结果存放在变量sum中;计算ab,将结果存放在变量s中。输出sum、s开始开始输入输入a、b输出输出sum、ssuma+bsab结束结束顺序模式的特点:按照顺序一步一步执行。表示表示先先计算计算a+b的值,的值,然后然后将计算的结果存入将计算的结果存入变量变量sum中。中。“”称为称为赋值符赋值符,它,它的计算过程是:的计算过程是:先计算先计算符号右侧的代数式的结符号右侧的代数式的结果,然后将计算结果存果,然后将计算结果存储到符号

21、左侧的变量中。储到符号左侧的变量中。问题2:键盘输入两个不同的数,存入不同的变量中,交换两变量中的数值并输出?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入两个不同的数需要计算机输出交换位置后的两个变量分别存入变量a、b中 将变量a的值存入变量b中;将变量b的值存入变量a中。最后输出变量a、b。将变量a的值存入变量T中;将变量b的值存入变量a中。将变量T的值存入变量b中最后输出变量a、b。键盘输入两个不同的数,分别存入变量a、b中。输出变量a、b开始开始输入变量输入变量a、b输出变量输出变量a、bTaabbT结束结束baab将变量a的值存

22、入变量T中;将变量b的值存入变量a中。将变量T的值存入变量b中【例例1】已知矩形的长和宽,求矩形的面积。已知矩形的长和宽,求矩形的面积。求矩形面积的方法是:矩形面积求矩形面积的方法是:矩形面积=长长宽。如果设计的程序只能计算固定的长和宽,宽。如果设计的程序只能计算固定的长和宽,那么,这个程序就没有什么实用性了。那么,这个程序就没有什么实用性了。用变量用变量a、b、s分别代表矩形的分别代表矩形的长、宽、面积长、宽、面积,则,则s的值应该是的值应该是ab的计算结果。的计算结果。程序的执行流程应该是:程序的执行流程应该是:输入两个数值给输入两个数值给a、b通过计算通过计算ab,将结果给变量,将结果给

23、变量s输出变量输出变量s的值的值开始开始输入长到变量输入长到变量a输入宽到变量输入宽到变量b计算:计算:sab输出面积:输出面积:s结束结束表示表示先先计算计算ab的值,的值,然后然后将计算的结果存入将计算的结果存入变量变量s中。中。“”称为称为赋值符赋值符,它,它的计算过程是:的计算过程是:先计算先计算符号右侧的代数式的结符号右侧的代数式的结果,然后将计算结果存果,然后将计算结果存储到符号左侧的变量中储到符号左侧的变量中。算法的执行流程算法的执行流程,是指算法中各个处理步骤的执行次序和模式。通常需要如,是指算法中各个处理步骤的执行次序和模式。通常需要如下三种不同的执行流程:下三种不同的执行流

24、程:1.顺序模式顺序模式:执行完一个处理步骤:执行完一个处理步骤step1后,接着执行下一个处理步骤后,接着执行下一个处理步骤step2。开始开始输入变量输入变量a、b输出变量输出变量a、bTaabbT结束结束baab【问题1】:该怎样过马路?应观察交通信号灯并判断:红灯停;绿灯行。信号灯是否信号灯是否为为红灯红灯?等待信号灯变为等待信号灯变为绿灯绿灯过马路过马路情况情况e为为真真?step1step2情况情况e为为真真?就是对某个条件进行判断,具体在判断框中用关系表达式或逻辑表达式来表达。xy?x0且且y0?选择模式是先对某个情况e进行判断,当结果为真时,执行处理步骤step1,否则执行处理

25、步骤step2 。选择模式可以使算法根据情况的不同,在两个预定的处理步骤中,选择执行其中一个处理步骤。“预定的处理步骤”可以是一系列操作,亦可以是无操作。当两个“预定的处理步骤”中有一个是无操作时,我们称其为单分支结构,如果均有操作,我们称其为双分支结构。判断条件“x大于y”判断条件“x、y均为正数”问题2:比较两个不同数的大小关系,输出其中较大的那个数?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入两个不同的数需要计算机输出两数中较大的数 分别存入变量a、b中 存入变量max中判断条件“ab”,若条件成立(情况为真),则maxa;否则(

26、情况为假)maxb。最后输出max。键盘输入两个不同的数,分别存入变量a、b中。判断条件“ab”,若条件成立(情况为真),则maxa;否则(情况为假)maxb。输出max开始开始输入输入a、b输出输出maxmaxamaxb结束结束ab?问题3:比较三个不同数的大小关系,输出其中最大的那个数?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入三个不同的数需要计算机输出三个数中最大的数 分别存入变量a、b、c中 存入变量max中判断条件“ab”,若条件成立,则maxa;否则maxb。判断条件“maxc”,若条件成立,则保持max不变;否则maxc

27、。最后输出max。键盘输入三个不同的数,分别存入变量a、b、c中 。判断条件“ab”,若条件成立,则maxa;否则maxb。判断条件“maxc”,若条件成立,则保持max不变;否则maxc。输出max开始开始输入输入a、b、c输出输出maxmaxamaxb结束结束ab?maxcmaxc?开始开始输入输入a、b、c结束结束ab且且ac?bc?maxamaxbmaxc输出输出max选择模式的嵌套选择模式的嵌套选择模式的特点 选择模式是由判断条件的成立与否来选择执行相应的操作步骤 使用选择模式解决问题的要点 判断框中的判断条件表达方式 判断框中的判断条件可以是关系表达式(如:ab),也可以是逻辑表达

28、式(如:ab且ac)。1、当算法执行到某一步,如果其结果存在多种可能性时,就应使用选择模式来解决;2、全面考虑问题的所有可能性,合理设置判断条件;3、使用流程图描述算法时应注意各执行步骤的汇合点。3.重复模式(循环结构)重复模式(循环结构)问题:如果条件始终成问题:如果条件始终成立,会出现什么情况?立,会出现什么情况?当当型型循循环环结结构构的特点是:先判断条件,条件成立方能执行相应语句,继续判断条件,直到条件不成立退出循环。当当型型循循环环结结构构中,语句块可能一次都不执行。当型循环结构直到型循环结构直直到到型型循循环环结结构构的特点是:先执行语句块,条件不成立继续重复执行语句块,直到条件成

29、立退出循环。直直到到型型循循环环结结构构中的语语句句块块至至少执行少执行1 1次次。是女生?游戏N聊天YY终于可以休息了,上网结束吃晚饭、睡觉(Day加一天)Day=星期天,完成作业Day=星期一开始Day星期六?N上学去上完8节课放学、回家、吃晚饭、做作业睡觉,又过了一天(Day加一天)开始sum 0i 1sum sum ii i 1 i 100?Y输出sum结束N开始sum 1i 1sum sum ii i 2i 5?Y输出总和:sum结束Nsum=_ i=_isum条件条件i=5是否成立是否成立开始sum 1i 1sum sum ii i 1sum5?Y输出总和:sum结束Nsum=_

30、i=_isum条件条件sum=5是否成立是否成立开始a 1b 1a a bb a ba10?Y输出:a,b结束Na=_ b=_ab条件条件a S结束结束显示:显示:“输入价格:输入价格:”输入价格到变量输入价格到变量TT 0是是否成立,若条件成立,否成立,若条件成立,则则d是正数是正数,使正数,使正数计数器计数器c1计数计数(c1 c1+1),转回步骤,转回步骤2;否则,说明否则,说明d是负数是负数,使负数计数器使负数计数器c2计数计数(c 2 c2+1),转回,转回步骤步骤2;开始开始结束结束正数计数器正数计数器c1置初值:置初值:c10负数计数器负数计数器c2置初值:置初值:c20显示:显

31、示:“请输入:请输入:”接收输入数据送到变量接收输入数据送到变量dd=0?计数器计数器c1计数:计数:c1c1+1d0?输出正数个数:输出正数个数:c1计数器计数器c2计数:计数:c2c2+1输出负数个数:输出负数个数:c24、输出正数的个数(、输出正数的个数(正正数计数器数计数器c1),负数的个,负数的个数(数(负数计数器负数计数器c2)。问题问题1:已知一个三角形一条边的长度:已知一个三角形一条边的长度a和该边上的高和该边上的高h,则该三角形的面积,则该三角形的面积是多少?是多少?问题问题2:在理想情况下,从:在理想情况下,从h米高的楼顶让一个铁球自由落下,铁球落地时的米高的楼顶让一个铁球

32、自由落下,铁球落地时的速度是多少速度是多少?解析算法解析算法是指用解析的方法找出表示问题的前提条件与结果之间关系的数学是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。表达式,并通过表达式的计算来实现问题求解。利用数学公式中所反映的客观事务间的数量关系,以此为基础,设计出合适利用数学公式中所反映的客观事务间的数量关系,以此为基础,设计出合适的算法,从而编制出正确的程序,利用计算机的高速计算能力,便能快速地的算法,从而编制出正确的程序,利用计算机的高速计算能力,便能快速地获得问题的解。获得问题的解。注意注意:并不是所有问题都可以找到与之相对应的数

33、学公式。:并不是所有问题都可以找到与之相对应的数学公式。【例题例题1】计算并联电阻的总阻值(一)计算并联电阻的总阻值(一)把把2个电阻的两端分别连在一起,称为个电阻的两端分别连在一起,称为“2个电阻的并联个电阻的并联”。R1R2此算法应分为如下三个步骤:此算法应分为如下三个步骤:1.输入两个电阻的阻值;输入两个电阻的阻值;2.计算总阻值;计算总阻值;3.输出计算结果。输出计算结果。开始开始结束结束输入输入R1、R2输出输出R计算:计算:T()计算:计算:R()计算:计算:R()【例题例题2】一元二次方程求解一元二次方程求解一元二次方程一元二次方程ax2+bx+c=0(a0),输入,输入方程系数

34、方程系数a、b、c,求方程的解。,求方程的解。根据一元二次方程的求解方法,首先需要判别根据一元二次方程的求解方法,首先需要判别b2-4ac的结果是大于的结果是大于0、小于、小于0还是还是等于等于0,然后才能用求根公式进行计算。,然后才能用求根公式进行计算。所以我们需要使用选择模式,根据条件判别的不同结果,输出两个解、一个解、所以我们需要使用选择模式,根据条件判别的不同结果,输出两个解、一个解、“无解无解”。此算法应分为如下步骤:此算法应分为如下步骤:1.输入方程系数输入方程系数a、b、c;2.计算计算b2-4ac的值到变量的值到变量d中;中;3.判断条件判断条件d0是否成立,是否成立,条件成立

35、条件成立,继续判断条件,继续判断条件d0是否成立,是否成立,条件成立条件成立,计算并输出两个解;,计算并输出两个解;否则,计算并输出一个解。否则,计算并输出一个解。4.若条件若条件d0不成立不成立,则输出,则输出“无解无解”。开始开始输入输入a、b、cdb*b-4*a*cd0?d0?计算并输出两个解计算并输出两个解计算并输出一个解计算并输出一个解输出输出“无解无解”结束结束输出输出 、输出输出开始开始输入输入a、b、cdb*b-4*a*cd0?d0?输出输出“无解无解”结束结束题目改为:题目改为:方程方程ax2+bx+c=0,输入,输入方程系数方程系数a、b、c,求方程的解。,求方程的解。输出

36、输出 、输出输出a=0?输出输出“非二次方程非二次方程”【例题例题3】计算并联电阻的总阻值(二)计算并联电阻的总阻值(二)把把n个电阻的一端都连在一起,把这个电阻的一端都连在一起,把这n个电阻的另一端也都连在一起,这个电阻的另一端也都连在一起,这样的连接成的电阻称为样的连接成的电阻称为“n个电阻的并联个电阻的并联”。此时我们从并联的。此时我们从并联的n个电阻的两个电阻的两端端A、B测得的电阻,是这测得的电阻,是这n个并联电阻的个并联电阻的“总阻值总阻值”。R1R2R1R2R3n个并联电阻的总阻值个并联电阻的总阻值R,其倒数是各个,其倒数是各个电阻阻值的倒数的和,即:电阻阻值的倒数的和,即:1、

37、在在算算法法的的开开始始阶阶段段,我我们们应应设设置置变变量量rs的初值为的初值为0;2、通通过过输输入入指指令令,把把使使用用者者输输入入的的电电阻阻阻阻值值(也也可可能能是是表表示示结结束束的的0)送送到到变变量量r中中;3、判判断断条条件件r=0是是否否成成立立,如如果果不不成成立立,则则r的的倒倒数数应应该该被被累累加加到到变变量量rs中中,转到步骤转到步骤2;如如果果条条件件r=0成成立立,执行步骤执行步骤4;开始开始结束结束累加器置初值:累加器置初值:rs0输入电阻阻值送到变量输入电阻阻值送到变量rr=0?把把r的倒数累加到的倒数累加到rs中:中:rs=0?输出总电阻:输出总电阻:

38、1/rs输出输出“无电阻连接无电阻连接”4、输出总电阻值、输出总电阻值1/rs。4、判断条件、判断条件rs=0是否成是否成立,如果条件立,如果条件不成立不成立,说,说明有效电阻的个数不为明有效电阻的个数不为0,输出输出1/rs;否则说明没有连接电阻,否则说明没有连接电阻,输出输出“无电阻连接无电阻连接”。问题:步骤问题:步骤4是否正确?是否正确?为什么?为什么?计数器计数器cc1cn?cccc+1累乘器累乘器y1y1yyayya【例题例题4】设计算法计算设计算法计算yan,a、n由使用者输入,由使用者输入,a0,n为正整数。为正整数。负整数负整数c InI?开始开始输入输入a、n输出输出y结束

39、结束输出输出1/yc -n?【习题习题1】设计算法完成下述功能:键盘输入三个正数,分别存储在变量设计算法完成下述功能:键盘输入三个正数,分别存储在变量a、b、c中,判断长度为中,判断长度为a、b、c的三条线段是否能构成一个三角形,若能,计算并输出三的三条线段是否能构成一个三角形,若能,计算并输出三角形的面积,否则,输出文字角形的面积,否则,输出文字“不能构成三角形不能构成三角形”。提示:提示:(1)判断三条线段能否构成三角形的条件是什么?应如何使用判断框进行描述?)判断三条线段能否构成三角形的条件是什么?应如何使用判断框进行描述?(2)利用三角形的三条边长计算三角形面积的公式如下:)利用三角形

40、的三条边长计算三角形面积的公式如下:【习题习题2】:假定某银行储蓄的年利率为:假定某银行储蓄的年利率为2.15%,按复利计算。设计一个算法,按复利计算。设计一个算法,计算计算y元在该银行储蓄元在该银行储蓄m年后所得的本金和利息之和是多少?年后所得的本金和利息之和是多少?提示提示:按复利计算是指每年产生的利息与本金合计作为下一年产生利息的本金,:按复利计算是指每年产生的利息与本金合计作为下一年产生利息的本金,即每年产生利息的本金是上一年的本金与利息之和。即每年产生利息的本金是上一年的本金与利息之和。按照复利计算,一笔数量为按照复利计算,一笔数量为y元的存款,元的存款,m年后的本息和为年后的本息和

41、为x:1年后到期的本息为:年后到期的本息为:x=yy0.0215=y1.0215;2年后到期的本息为:年后到期的本息为:x=yy0.0215 (yy0.0215)0.0215y1.02152;以此类推,以此类推,m年后到期的本息为:年后到期的本息为:x=y1.0215m1.0215m为高阶指数运算,计算机不能一次算出结果,应采用重复模式进行计算,为高阶指数运算,计算机不能一次算出结果,应采用重复模式进行计算,让让1.0215这个数做这个数做m次连乘次连乘即可。即可。【习题习题1】:设计算法完成下述功能:键盘输入三个正数,分别存储在变量:设计算法完成下述功能:键盘输入三个正数,分别存储在变量a、

42、b、c中,判断长度为中,判断长度为a、b、c的三条线段是否能构成一个三角形,若能,计算并输出三角形的面积,否则,输出文字的三条线段是否能构成一个三角形,若能,计算并输出三角形的面积,否则,输出文字“不能不能构成三角形构成三角形”。线段线段a、b、c能构成一个三角形的条件是:能构成一个三角形的条件是:任何两条线段长度的和应该大于第三条线段的长度,即:任何两条线段长度的和应该大于第三条线段的长度,即:a+bc、b+ca、a+cb三个不等式同时成立三个不等式同时成立。使用变量使用变量a、b、c:用来分别存储构成三角形的三条线段的长度。:用来分别存储构成三角形的三条线段的长度。p用来存储周长的一半,用

43、来存储周长的一半,s用来存储用来存储三角形的面积。三角形的面积。计算的过程:计算的过程:1、在算法的开始、在算法的开始阶段,首先输入变阶段,首先输入变量量a、b、c的值;的值;2、判断变量、判断变量a、b、c的值是否能够满的值是否能够满足足a+bc、b+ca、a+cb三个不等式三个不等式同时同时成立;成立;3、如果三个不等、如果三个不等式能够同时成立,式能够同时成立,则计算并输出三角则计算并输出三角形面积形面积s;否则,输出否则,输出“不能不能构成三角形构成三角形”。输入:输入:a a、b b、c c开始开始 a+bc 且且b+ca且且c+ab?a+bc?b+ca?a+cb?输入:输入:a a

44、、b b、c c开始开始输出输出s结束结束输出输出“不能不能构成三角形构成三角形”输出输出s结束结束输出输出“不能不能构成三角形构成三角形”输入:“a、b、c”开始 a+bc 且且b+ca且且c+ab?输出“N”结束输出“s”在输入、输出变量的值时,该变量名不能加引号;在输出文字内容时,该文字内容两端要加引号。利用数学公式进行解析算法设计时,不应习惯性的将公式中的等号带入使用,在算法流程图中,“”代表判断等号左右两边的表达式的值是否相等,而我们实际的操作是将公式左侧的表达式经计算机计算后将其结果(即表达式的值)送入右侧的变量中,所 以必须使用“”。【习题习题2】:假定某银行储蓄的年利率为:假定

45、某银行储蓄的年利率为2.15%,按复利计算。设计一个算法,按复利计算。设计一个算法,计算计算y元在该银行储蓄元在该银行储蓄m年后所得的本金和利息之和是多少?年后所得的本金和利息之和是多少?提示提示:按复利计算是指每年产生的利息与本金合计作为下一年产生利息的本金,:按复利计算是指每年产生的利息与本金合计作为下一年产生利息的本金,即每年产生利息的本金是上一年的本金与利息之和。即每年产生利息的本金是上一年的本金与利息之和。按照复利计算,一笔数量为按照复利计算,一笔数量为y元的存款,元的存款,m年后的本息和为年后的本息和为x:1年后到期的本息为:年后到期的本息为:x=yy0.0215=y1.0215;

46、2年后到期的本息为:年后到期的本息为:x=yy0.0215 (yy0.0215)0.0215y1.02152;以此类推,以此类推,m年后到期的本息为:年后到期的本息为:x=y1.0215m1.0215m为高阶指数运算,计算机不能一次算出结果,应采用重复模式进行计算,为高阶指数运算,计算机不能一次算出结果,应采用重复模式进行计算,让让1.0215这个数做这个数做m次连乘次连乘即可。即可。计数器计数器cc1cm?cccc+1累乘器累乘器t1t1tt1.0215tt1.0215开始开始输入本金输入本金y、存期、存期m输出输出x结束结束xytxyt计数器计数器cc1c m?cccc+1yy1.0215

47、yy1.0215开始开始输入本金输入本金y、存期、存期m输出输出y结束结束计数器计数器cc1c=m?cccc+1累乘器累乘器t1t1xy1.0215xy1.0215开始开始输入本金输入本金y、存期、存期m输出输出x结束结束问题问题1:观察一串数:观察一串数1、2、6、24、120、找出相邻两个数的关系?找出相邻两个数的关系?问题问题2:观察一串数:观察一串数2、5、7、12、19、31、找出找出31后的数应该是多少后的数应该是多少?递推法递推法是从头开始一步步地推出问题的最终结果的方法。是从头开始一步步地推出问题的最终结果的方法。递推是序列计算中的一种常用方法。它是按照一定的规律来计算序列中的

48、递推是序列计算中的一种常用方法。它是按照一定的规律来计算序列中的每个项,通常是通过计算前面的一些项来得到序列中指定项的结果。每个项,通常是通过计算前面的一些项来得到序列中指定项的结果。例题例题1计算斐波那奇数列的第计算斐波那奇数列的第n项项结论结论:从第从第3个月起个月起,每个月的兔子对数总是等于上个月的兔子对数加上前每个月的兔子对数总是等于上个月的兔子对数加上前个月的兔子对数个月的兔子对数,因此我们可以得到下面的这个数列因此我们可以得到下面的这个数列:1,1,2,3,5,8,13,21,34,55,89,144,233当前项号kabc(ca+b)3F1F2F34F2F3F45F3F4F5输出

49、c初始化:a1,b1,ca+b,k3k=n?项号变化 kk+1初始化:a1,b1,ca+b,k3,sum a+b+c计算下一项:ab,bc,ca+b计算下一项并累加求和:ab,bc,ca+b,sum sum+c输出c,sum开始开始结束结束输出1n3?输入项号n项号kabc(ca+b)计算出斐波那契数列的第n项(n3),并求出前n项的和。例题例题3:讲义习题:讲义习题1计数器c1c n?cc+1tempx0temp开始开始输入x0,a,n输出temp结束结束例题例题4:讲义习题:讲义习题2temp1计数器 c 1,1,s 00c n?cc+1s s+tempes+1开始开始输出e结束结束输入n

50、问题问题1:有:有1把锁和一串钥匙把锁和一串钥匙(100把把),只知道在这串钥匙中至少有,只知道在这串钥匙中至少有1把钥匙可把钥匙可以打开锁,如何将所有可以开锁的钥匙都找出来?以打开锁,如何将所有可以开锁的钥匙都找出来?问题问题2:在一副已经混乱的扑克牌中,如何找出所有花色是:在一副已经混乱的扑克牌中,如何找出所有花色是“”的扑克牌的扑克牌?有一类问题可以采用一种盲目搜索的方法,在搜索结果的过程中,把各种有一类问题可以采用一种盲目搜索的方法,在搜索结果的过程中,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不合要可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不合要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁