高中信息技术算法与程序设计(教育精品).ppt
《高中信息技术算法与程序设计(教育精品).ppt》由会员分享,可在线阅读,更多相关《高中信息技术算法与程序设计(教育精品).ppt(192页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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;否则(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中 信息技术 算法 程序设计 教育 精品
限制150内