1、. .计算机解决问题的过程计算机解决问题的过程 . .算法描述与设计算法描述与设计算法与程序设计算法与程序设计第一章第一章高二信息技术高二信息技术l1. 了解计算机解决问题的基本步骤。了解计算机解决问题的基本步骤。l2. 归纳人类解决问题和计算机解决问题的归纳人类解决问题和计算机解决问题的异同。异同。l3.掌握算法的基本特征掌握算法的基本特征l4.理解什么是算法,知道算法的多样性理解什么是算法,知道算法的多样性l5.学会使用自然语言、流程图和伪代码来学会使用自然语言、流程图和伪代码来描述算法描述算法l重点:重点:l1.人类解决问题和计算机解决问题的异同、人类解决问题和计算机解决问题的异同、计算
2、机解决问题的过程。计算机解决问题的过程。l2.用流程图描述算法用流程图描述算法l难点:难点:l1.人类解决问题和计算机解决问题的异同。人类解决问题和计算机解决问题的异同。l2.理解算法、设计算法理解算法、设计算法1.请同学们帮助刘邦算出韩信共有多少个士兵?尝试找出多种解决方法,请同学们帮助刘邦算出韩信共有多少个士兵?尝试找出多种解决方法,然后将解题过程填在下表中,并对各种方法的步骤、效率、合理性等进然后将解题过程填在下表中,并对各种方法的步骤、效率、合理性等进行比较,相互讨论后进行评价。行比较,相互讨论后进行评价。求解问题的方法写出解题步骤评价求解问题的方法写出解题步骤评价方法一:方法一: 方
3、法二:方法二: 策略提示策略提示(1)逐个数去试,看看能不能找到解决方案。)逐个数去试,看看能不能找到解决方案。(2)运用最小公倍数的知识来解决。)运用最小公倍数的知识来解决。每三人站成一排,最后一排只有二人;每三人站成一排,最后一排只有二人;每五人站成一排,最后一排只有三人;每五人站成一排,最后一排只有三人;每七人站成一排,最后一排只有二人。每七人站成一排,最后一排只有二人。问士兵有多少人?问士兵有多少人?求的值求的值判断判断 是否是否 0满足条件,则根据公式求出满足条件,则根据公式求出x的值。否则无根的值。否则无根l2.总结人类解决问题的过程?总结人类解决问题的过程?l首先观察分析问题,收
4、集必要信首先观察分析问题,收集必要信息,根据已有知识、经验进行判断、息,根据已有知识、经验进行判断、推理,尝试按一定步骤去解决问题。推理,尝试按一定步骤去解决问题。 l计算机解决问题的过程:计算机解决问题的过程:开始问题解决分析问题分析问题设计算法设计算法编写程序编写程序运行程序运行程序验证结果验证结果第 9 页计算机解决问题过程与人类解决问题的异同: 人类会创造性地解决问题,而计算机只会按照人们设计的步骤一步步地完成。 人类思维具有跳跃性、抽象性、模糊性等特点,而计算机必须明确告诉它解决问题的具体对象和确切步骤。计算机解决问题的流程图: 第一节计算机解决问题的过程知识点解析第一章求解问题的方
5、式相同点不同点人工求解问题用计算机求解问题对题目进行解答、运算对题目进行解答、运算速度慢、具有跳跃性、速度慢、具有跳跃性、抽象性、模糊性等特点。抽象性、模糊性等特点。 需要在计算机上编写程需要在计算机上编写程序、调试程序、运算速序、调试程序、运算速度快,必须给出具体对度快,必须给出具体对象和确切步骤。象和确切步骤。 过程相似(分析问题、设计算法、得出结果、验算结果等)l 有一个人带着一只兔子有一个人带着一只兔子,一只狼和一颗大白菜准备过河一只狼和一颗大白菜准备过河,他他找到一只很小的船找到一只很小的船,每次只能带一样东西过去每次只能带一样东西过去,可是如果让狼可是如果让狼与兔子单独在一起与兔子
6、单独在一起,狼会吃兔子狼会吃兔子,让兔子与白菜单独在一起让兔子与白菜单独在一起,兔子会吃白菜,这个人应如何过河?兔子会吃白菜,这个人应如何过河?l要求:现在请同学们来设计一个方案,把3样东西安然无恙的带过河。l第一步: l第二步: l第三步:l第四步:l 通过以上例子,我们总结出算法算法是:_上面的算法我们是用自然语言描述。 人和兔子过河人和兔子过河 人回来带狼过河人回来带狼过河 人带兔子回来再带大白菜过河人带兔子回来再带大白菜过河人回来带兔子过河人回来带兔子过河解决问题的方法和步骤解决问题的方法和步骤第 12 页算法的特征有穷性 确定性 输入 输出 可行性。知识点解析第一章1.有穷性,执行有
7、限步骤后结束2.确定性,每一步都有确切含义3.有输入和输出,有零个或多个输入,至少有一个输出4.可行性,原则上能精确运行。l阅读课本第阅读课本第5页,算法的特征:页,算法的特征: 、 、 、 。l判断下列算法是否符合算法的特征:判断下列算法是否符合算法的特征:l1. s=1l 将将s的值增加的值增加1l 重复步骤重复步骤l是否符合(是否符合( )l原因(原因( )l2. L=10l输出输出L/自然数自然数l是否符合(是否符合( )l原因(原因( )l3. x= 2l计算计算x的平方根的平方根l是否符合(是否符合( )l原因(原因( )l有穷性确定性输入、输出可行性有穷性确定性输入、输出可行性否
8、否不符合有穷性不符合有穷性否否不符合确定性不符合确定性否否不符合可行性不符合可行性l思考:通过阅思考:通过阅读课本你对读课本你对“算算法是程序设计的法是程序设计的灵魂灵魂”是怎是怎么理解的么理解的?算法的描述算法的描述自然语言:通俗易懂,但缺乏直观性和简洁性,容易产生歧义流程图:形象、直观、容易理解伪代码:介于自然语言和计算机程序语言之间的一种算法描述l 超市苹果进行打折促销,苹果正常售价是1.5元/斤,若买5斤以上售价打九折,为给收银员编写一个付款程序请你设计算法并描述出来 (从称重开始到付款结束) 。l1.自然语言描述自然语言描述l第一步: l第二步: l第三步:l第四步: 称重称重 判断
9、是否超过判断是否超过5斤斤 超过超过5斤原价斤原价9折付款,不超折付款,不超5斤原价付款斤原价付款 付款付款第 16 页开始或结束输入或输出判断处理用来表示算法的开始或结束。一个算法只能有一个开始处,只能有一个结束处用来表示数据的输入或计算结果的输出。用来表示条件判断的情况,菱形框的四个顶点中,通常用上方的顶点表示入口,用另外三个顶点中两个来表示出口。所以对于判断框而言是一个入口,两个出口。框中指出要处理的内容,该框有一个入口和一个出口。 2.流程图流程线指出流程控制方向,即运作的次序。 2.超市苹果进行打折促销,苹果正常售价是1.5元/斤,若买5斤以上售价打九折,为给收银员编写一个付款程序请
10、你设计算法并描述出来 (从称重开始到付款结束) ,用流程图表示YN开始开始输入苹果重量输入苹果重量 x x=5 S=1.5*xS=1.5*x*0.9输出应付款输出应付款 S结束结束第 18 页典型例题当输入当输入a、b的值分别为的值分别为3、8时,输出结果为时,输出结果为5当输入当输入a、b的值分别为的值分别为11、7时,输出结果为时,输出结果为4问题一:下方流程图填入虚线框中,符合条件的是问题一:下方流程图填入虚线框中,符合条件的是 _.问题二:依据问题一所选流程图,当输入问题二:依据问题一所选流程图,当输入a、b的值分的值分别为别为9、6时,输出时,输出 结果为结果为 _.ABC如图所示流
11、程图如图所示流程图开始开始输入输入a、b的值的值结束结束输出输出c的值的值c3l3.用伪代码描述算法。用伪代码描述算法。输入苹果重量输入苹果重量x If x = 5 then s=1.5*x*0.9 Else s=1.5*x End If 输入苹果重量输入苹果重量x If x 5 then Else End If 课堂练习课堂练习l【归纳归纳】算法描述方法优点不足自然语言流程图伪代码通俗易懂通俗易懂 容易产生歧义容易产生歧义 形象、直观形象、直观 复杂算法易出错复杂算法易出错 容易转化为程容易转化为程序代码序代码 出现错误不易排查出现错误不易排查 1、.一位同学想编程解决一位同学想编程解决“韩
12、信点兵韩信点兵”的问题,他制定的如下工作过程中,的问题,他制定的如下工作过程中,最恰当的是(最恰当的是( B )A分析问题,编写程序,设计算法,运行程序,得到答案分析问题,编写程序,设计算法,运行程序,得到答案B分析问题,设计算法,编写程序,运行程序,得到答案分析问题,设计算法,编写程序,运行程序,得到答案C设计算法,编写程序,提出问题,运行程序,得到答案设计算法,编写程序,提出问题,运行程序,得到答案D设计算法,提出问题,编写程序,运行程序,得到答案设计算法,提出问题,编写程序,运行程序,得到答案2、下列关于算法的描述,正确的是下列关于算法的描述,正确的是 (A )A算法是描述解决问题的方法
13、和步骤算法是描述解决问题的方法和步骤B同一种算法只能用一种程序语言来实现同一种算法只能用一种程序语言来实现C描述算法的方法只有流程图描述算法的方法只有流程图D算法就是数值计算的方法算法就是数值计算的方法3、下列描述中最适合用计算机编程来处理的是(下列描述中最适合用计算机编程来处理的是( C ) A.确定放学回家的路线确定放学回家的路线 B.计算某个同学期中考试各科成绩总分计算某个同学期中考试各科成绩总分 C.计算计算100以内的奇数平方和以内的奇数平方和 D.在因特网上查找自己喜欢的歌曲在因特网上查找自己喜欢的歌曲课堂练习课堂练习4、图形符号图形符号 菱形菱形 在算法流程图描述中表示在算法流程
14、图描述中表示( C ).A 处理或运算的功能处理或运算的功能 B 输入输出操作输入输出操作C 用来判断条件是否满足需求用来判断条件是否满足需求 D 算法的开始或结束算法的开始或结束5、关于算法的描述,下列选项中正确的是(关于算法的描述,下列选项中正确的是( D )A算法本身就是一种程序设计语言算法本身就是一种程序设计语言B算法必须有输入算法必须有输入C算法的步骤可以是无穷的算法的步骤可以是无穷的D算法的每一步骤必须有确切的含义算法的每一步骤必须有确切的含义6、图形符号、图形符号 矩形矩形 在算法流程图描述中表示在算法流程图描述中表示( A ).A 处理或运算的功能处理或运算的功能 B 输入输出
15、操作输入输出操作C 用来判断条件是否满足需求用来判断条件是否满足需求D 算法的开始或结束算法的开始或结束7、以下哪个是算法的描述方法、以下哪个是算法的描述方法?( A )A 流程图描述法流程图描述法 B 枚举法枚举法 C 顺序法顺序法 D 列表法列表法8、以下哪个是算法的描述方法、以下哪个是算法的描述方法?( D )A 顺序法顺序法B 列表法列表法C 集合法集合法D 自然语言描述法自然语言描述法9、介于自然语言和计算机语言之间的一种算法描述是下列哪个选项?、介于自然语言和计算机语言之间的一种算法描述是下列哪个选项?( A )A、伪代码、伪代码B、流程图、流程图C、高级语言、高级语言D、VB 程
16、序设计语言程序设计语言10、下列关于程序设计说法正确的是、下列关于程序设计说法正确的是( B )。A、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程,比较流行的高级语言是,比较流行的高级语言是PASCAL, FORTRAN, EXCEL, C+等等B、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程可以执行的程序的过程C、程序设计语言和计算机语言是同一个概念的两个方面、程序设计语言和计算机语言是同一个概念的两个方面D、程序设计就是指示
17、计算机如何去解决、程序设计就是指示计算机如何去解决问题或完成一组可执行指令的问题或完成一组可执行指令的过程过程11、下列不属于程序设计语言中高级语言的是(、下列不属于程序设计语言中高级语言的是(C)。)。A、BASIC B、C语言语言 C、汇编语言、汇编语言 D、PASCAL4、程序设计语言的发展历程中,不包括(、程序设计语言的发展历程中,不包括( A )。)。A、自然语言、自然语言 B、机器语言、机器语言 C、汇编语言、汇编语言 D、高级语言、高级语言12.从在计算机中执行的过程来看,用(从在计算机中执行的过程来看,用( )编写的程序,)编写的程序,在计算机中执行得最快(在计算机中执行得最快(C )A高级语言高级语言 B.汇编语言汇编语言 C.机器语言机器语言 D.无法比较无法比较20.8i=i+1, i=1此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!