高中信息技术算法与程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

正确理解题意寻找或设计正确的解题方法使用计算工具进行计算并得到结果验证计算结果正确理解题意寻找或设计正确的解题方法设计正确的算法使用合适的程序设计语言将算法表达为计算机程序由计算机按照设计好的程序高速、自动地计算结果无论使用人工解题还是使用计算机解题,都必须在正确理解题意地基础上寻找或设计正确的解题方法。使用人工解题最后需验算,而使用计算机解题则不需要。问题:在一次班级联欢会上,同学们玩了一个猜商品价格的游戏。A同学出示一件商品,价格在1~1000元之间,价格为整数,要求B同学猜价格。B同学每猜一个价格,A同学需要回答猜对了,或猜大了,还是猜小了。要求B同学尽可能快地猜出商品的价格。【方法1】:B同学从1、2、3、……依次猜测商品的价格,直到猜对为止。【方法2】:B同学先从1~1000的中间数500开始猜,根据A同学的回答决定下一个要猜测的价格,如果A回答“猜大了”,则在1~499之间取中间数进行猜测;否则,取501~1000的中间数进行猜测,如此反复,直到猜对为止。看似无所不能的计算机,迄今为止也只能按照设计好的程序,一步步地进行运算处理。事实上,要使用计算机来解决问题,人们必须事先设计好解决问题的计算机程序。没有计算机程序,就不可能用计算机来解决问题。计算机程序就是指示计算机如何去解决问题或完成任务的一组可执行的指令。程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。计算机是一种按照设计好的程序,快速、自动地进行计算的电子设备。计算机开始计算之前,必须把解决某个问题地程序存储在计算机内存中。程序由指令部分和数据部分组成。指令部分由一系列指令构成,每条指令都是要求计算机执行地一个动作。由适当的指令构成一个序列,描述了解决这个问题的计算过程。数据部分用来存储计算过程中所需的原始数据、计算的中间结果和最终结果。指令就是用来规定计算机操作的命令。计算机的所有指令组成了计算机的指令集。一般而言,计算机的指令越丰富,功能也就越强大。输入通过输入设备,程序接收外界输入的数据,将数据存储到指定的变量中;输出把文字、变量中存储的数据或计算产生的结果,通过输出设备显示或打印出来;数学运算进行+、-、×、÷、平方、开平方、求余数等数学运算。通常,计算所需的的数据从变量中获得,计算的结果可以存储到指定的变量中。逻辑判断可以对指定的两个数据进行大小或相等性(>、<、≥、≤、≠、=)比较,比较的结果为逻辑值(真或假),也使用逻辑运算(如与、或、非),把若干个较简单的判断连接起来,成为一个复杂的判断。控制转移指令用来改变程序中指令的执行顺序。现在由计算机来扮演A同学的角色,计算机应该按照下述过程进行工作:计算机得到B同学所猜的价格计算机对得到价格与实际价格进行比较,告诉B同学比较的结果(猜小了、猜大了、猜对了)计算机根据比较的结果决定是否继续猜测。使用计算机解决问题一般要经历以下三个阶段:分析问题并确定要计算机做什么寻找解决问题的途径和方法开始用计算机进行处理分析问题设计算法编写程序运行程序问题解决猜大了或是猜小了,则继续猜测猜对了则停止猜测,游戏结束数据的存储:计算所需的原始数据、计算产生的中间结果、计算的最终结果需要存储在变量中。计算的过程:首先确定解决问题的方法;然后必须将该方法步骤化,即用计算机可以执行的步骤(指令),来描述问题的计算过程,这意味着程序的计算过程不仅必须指出动作,而且必须指出动作的次序。地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到74比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T输出指令输入指令逻辑判断指令控制转移指令程序中的变量是计算过程中要用到的数据的存储单元;通过输入指令的执行,程序将外界输入的数据存储到指定的变量中,程序计算的结果也可以存储到指定的变量中;一旦将数据存储到某个变量中,只要我们不再把新的数据存储到其中,那么在程序运行过程中,该变量将永久保存着原来的数据;在计算过程中如果要使用到该变量中的数据,我们可以从该变量中读取出其中的数据,这种读取是不会改变变量中存储的内容的。地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到74比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T图中的每行代表了内存中的一个存储单元,每个存储单元可以存放一条指令或一个数据。每个存储单元都有唯一的编号,称为地址。指令是依次逐条执行的,如果遇到转移指令,会按指令要求选择下一条要执行的指令。遇到结束指令,整个程序终止运行。地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到74比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到74比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T算法是在有限步骤内求解某一个问题所使用的具有精确定义的一系列操作规则。每条规则都必须是确定的、能行的、不能有二义性的。算法要有一个清晰的起始步骤,且每一个步骤都只能有一个确定的后继步骤,从而组成一个有限步骤序列。步骤终止时也给出了问题的解答。解决问题的过程就是实现算法的过程。算法是程序设计的“灵魂”,算法+数据结构=程序。算法独立于任何具体程序设计语言,一个算法可以用多种程序设计语言实现。(1)有穷性一个算法必须保证它的执行步骤是有限的,即它是能够终止的,操作步骤不能无限。算法可以有重复执行的步骤,只要这些步骤的执行能够终止。广义地说,“有穷性”是指操作步骤的数目或完成操作的时间在合理的范围内,如果一个算法虽然在操作步骤的数目是有限的,但它所花费的时间超过了合理的限度,这种算法并不是有效的算法。(3)可行性算法中的每一个步骤都要是实际能做的,而且必须在有限的时间内可以完成。例如:步骤“输出:L/d”在d=0的情况下就不可以做。(4)有0个或多个输入所谓输入就是指算法在执行时要从外界获得数据,其目的是为算法建立某些初始状态;如果建立初始状态所需的信息已经包含算法中,那就不需要输入了。(5)有一个或多个输出算法的目的是用来求解问题,问题的结果应以一定的方式输出,以便用户知道。在数学中的”无解“对于算法来说也是一个输出,没有输出的算法是毫无意义的。(2)确定性算法的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。例如:步骤“输出:L/正整数”是无法执行的,因为没有指定L除以哪一个正整数,这个步骤是不确定的。问题:步骤“输入一个正整数”是否是确定的?我们可以采用多种方法来描述一个算法,流程图是一种比较直观易用的、用图形来描述算法的方法。用流程图来描述算法要遵循一定的标准,这套标准中最常用的符号有:处理框输入、输出框判断框流程线开始、结束符在一般情况下,输入、输出框可以用处理框代替。开始结束开始结束开始TS结束显示:“输入价格:”输入价格到变量TTS显示:“猜小了!”显示:“猜大了!”显示:“猜对了!”地址指令内容1显示“输入价格:”2输入价格到变量T3比较输入价格T和商品价格S,如果TS,转到74比较输入价格T和商品价格S,如果TS,转到95显示“猜对了!”6结束7显示“猜小了!”8转到19显示“猜大了!”10转到111商品价格变量S12输入价格变量T判断框表示条件判断:取出变量T、S中的数据,若TS条件成立,则沿着标有Y(Yes)的有向线段,执行该有向线段所指向的指令(显示“猜小了!”);否则,则沿着标有N(No)的有向线段,执行该有向线段所指向的指令(判断条件TS是否成立)。[问题1]:键盘输入两个数,输出两个数的和与积?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入两个不同的数需要计算机输出两数的和与积分别存入变量a、b中两数之和存入变量sum中计算a+b,将结果存放在变量sum中;计算a×b,将结果存放在变量s中。最后输出sum、s。两数之积存入变量s中键盘输入两个不同的数,分别存入变量a、b中。计算a+b,将结果存放在变量sum中;计算a×b,将结果存放在变量s中。输出sum、s开始输入a、b输出sum、ssum←a+bs←a×b结束顺序模式的特点:按照顺序一步一步执行。表示先计算a+b的值,然后将计算的结果存入变量sum中。“←”称为赋值符,它的计算过程是:先计算符号右侧的代数式的结果,然后将计算结果存储到符号左侧的变量中。[问题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、bT←aa←bb←T结束b←aa←b将变量a的值存入变量T中;将变量b的值存入变量a中。将变量T的值存入变量b中【例1】已知矩形的长和宽,求矩形的面积。求矩形面积的方法是:矩形面积=长×宽。如果设计的程序只能计算固定的长和宽,那么,这个程序就没有什么实用性了。用变量a、b、s分别代表矩形的长、宽、面积,则s的值应该是a×b的计算结果。程序的执行流程应该是:输入两个数值给a、b通过计算a×b,将结果给变量s输出变量s的值开始输入长到变量a输入宽到变量b计算:s←a×b输出面积:s结束表示先计算a×b的值,然后将计算的结果存入变量s中。“←”称为赋值符,它的计算过程是:先计算符号右侧的代数式的结果,然后将计算结果存储到符号左侧的变量中。算法的执行流程,是指算法中各个处理步骤的执行次序和模式。通常需要如下三种不同的执行流程:1.顺序模式:执行完一个处理步骤step1后,接着执行下一个处理步骤step2。开始输入变量a、b输出变量a、bT←aa←bb←T结束b←aa←b【问题1】:该怎样过马路?应观察交通信号灯并判断:红灯停;绿灯行。信号灯是否为红灯?等待信号灯变为绿灯过马路情况e为真?step1step2情况e为真?就是对某个条件进行判断,具体在判断框中用关系表达式或逻辑表达式来表达。xy?x0且y0?选择模式是先对某个情况e进行判断,当结果为真时,执行处理步骤step1,否则执行处理步骤step2。选择模式可以使算法根据情况的不同,在两个预定的处理步骤中,选择执行其中一个处理步骤。“预定的处理步骤”可以是一系列操作,亦可以是无操作。当两个“预定的处理步骤”中有一个是无操作时,我们称其为单分支结构,如果均有操作,我们称其为双分支结构。判断条件“x大于y”判断条件“x、y均为正数”[问题2]:比较两个不同数的大小关系,输出其中较大的那个数?(1)需要输入哪些数据?(2)需要计算机输出什么信息?(3)如何根据输入数据得到要输出的信息?需要输入两个不同的数需要计算机输出两数中较大的数分别存入变量a、b中存入变量max中判断条件“ab”,若条件成立(情况为真),则max←a;否则(情况为假)max←b。最后输出max。键盘输入两个不同的数,分别存入变量a、b中。判断条件“ab”,若条件成立(情况为真),则max←a;否则(情况为假)max←b。输出max开始输入a、

1 / 192
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功