1、计算机解决问题的过程算法与计算编程计算l阿尔法围棋,第一个战胜人类世界围棋冠军的人工智能程序。l阿尔法围棋可以帮助人们如何最大限度的发挥计算机的优势,更好的为人类服务。学习目标了解计算机解决问题的过程了解流程图的规范表示,学会使用自然语言和流程图描述算法。了解算法的三种基本结构。趣味题趣味题.一个农夫带着一条狼、一头山羊和一一个农夫带着一条狼、一头山羊和一篮蔬菜要过河篮蔬菜要过河,但只有一条小船但只有一条小船.乘船时乘船时,农夫只农夫只能带一样东西能带一样东西.当农夫在场的时候当农夫在场的时候,这三样东西相这三样东西相安无事安无事.一旦农夫不在一旦农夫不在,狼会吃羊狼会吃羊,羊会吃菜羊会吃菜.
2、请设请设计一个算法计一个算法,使农夫能安全地将这三样东西带过使农夫能安全地将这三样东西带过河河.第一步第一步:农夫带羊过河农夫带羊过河;第二步第二步:农夫独自回来农夫独自回来;第三步第三步:农夫带狼过河农夫带狼过河;第四步第四步:农夫带羊回来农夫带羊回来;第五步第五步:农夫带蔬菜过河农夫带蔬菜过河;第六步第六步:农夫独自回来农夫独自回来;第七步第七步:农夫带羊过河农夫带羊过河.表示游戏的算法最强大脑游戏规则是用十秒钟记忆十个物品以及他们的编号,之后根据提问回答五个物品的编号。算法分析:判断回答正确与否,如果正确,则答对的题数加1,重复以上步骤,知道答完五道题,显示答对的题数算法过程l 找到算法
3、之后,要准确、具体地将他描述出来。要让计算机解决问题,必须明确地告诉它要处理的具体对象和每一步的准确处理过程,因此对算法描述要尽可能的精确、详尽。什么叫算法?算法有哪些特征?l定义:算法就是解决问题的方法和步骤。l算法特征有:l有穷性:执行有限步之后结束,且每一步 执行时间都是有限的;l确定性:每一步都有确切的含义;l输入:有零个或多个输入;l输出:至少产生一个输出;l可行性:原则上能精确运行,用纸和笔做有限次运算后即可完成。使用自然语言描述算法l自然语言描述算法符合我们的表达习惯,并且容易理解。实现实现“最强大脑最强大脑”游戏问题的步骤游戏问题的步骤环节解决的问题解决的步骤出题显示物品和编号
4、10秒1.2.答题输出结果表述不严格,容易产生歧义表述不严格,容易产生歧义使用流程图描述算法l流程图也称为程序框图,是算法的一种图形化表示方法。流程图算法形象、直观、更容易理解,根据流程写代码。l为了使算法看起来更加直观,对流程图表示方法进行规范,最常用的是由美国国家标准学会指定的一系列流程符号。l程序框图由程序框和流程线组成,一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按算法进行的顺序将程序框连接起来.基本的程序框和它们各自表示的功能如下基本的程序框和它们各自表示的功能如下:图形符号图形符号名称名称功能功能终端框终端框(起起止框止框)表示一个算法的起始和结束表示一个算法的起
5、始和结束输入、输输入、输出框出框表示一个算法输入和输出的信表示一个算法输入和输出的信息息处理框处理框(执执行框行框)判断某一条件是否成立判断某一条件是否成立,成立时在出成立时在出口处标明口处标明“是是”或或“Y”;不;不”成立成立时标明时标明“否否”或或“N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分三周基本算法的流程图l顺序结构:按照自上而下的先后顺序依次执行程序的语句。l分支结构:根据给定的条件进行判断的结构l循环结构:重复某一部分操作的结构1、把冰箱门打开 2、把大象装进去 3、把冰箱门关上 1、把冰箱门打开 2
6、、把大象装进去 3、把冰箱门关上 结束结束开始开始把冰箱门打开把冰箱门打开把大象装进去把大象装进去把冰箱门关上把冰箱门关上用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清流向清楚楚.(2)流程图表示用python语言实现游戏软件不是与生俱来的,是人的智慧结晶;不是所有的问题都能够使用已有的软件来解决的;用计算机编程解决问题活动:借助流程图分析代码limport randomlimport timelimport oslprint(你好,现在你有10秒钟的时间记忆下列物品及其编号)lthings=苹果,香蕉,橙子,梨子,猕猴桃,柚子,l猴魁,铁观音,彩蛋,复活节lfor
7、 i in range(10):l print(i,:,thingsi)#在屏幕上显示编号及物品ltime.sleep(10)#延时10秒los.system(cls)#清屏幕,隐去编号及物品ln=0#记录答对的题数,初值为0lt2=random.sample(things,5)#随机抽出5个物品 lfor i in t2:#出5题l ans=int(input(i+的编号是:)#输入编号答题l if i=thingsans:l n=n+1#如果回答正确,答对的题数加1lprint(n你一共答对了,n,次)#屏幕显示答对的题数linput(n按回车键结束程序)以#开头的代码是注释语句,用于说明
8、代码实现的功能,采用的算法信息,提高程序的可读性。l总结计算机解决问题的过程用计算机解决问题的过程用计算机解决问题的过程分析问题设计算法编写程序调试程序程序设计语言的发展程序设计语言的发展机器语言汇编语言高级语言所有代码是二进制所有代码是二进制一种符号化的机器语言一种符号化的机器语言,为特定为特定的计算机系统而设计的计算机系统而设计.Basic、Java、CVisual Basic 、C+机器可直接执行需要编译后才可执行机器语言和汇编语言都是面向机器的,属于低级语言高级语言的语法更接近人的表达习惯.算法独立于语言,一种算法可用多个语言编写程序设计语言程序设计语言小结与作业l计算机解决问题的过程l流程图的规范表现的方法l了解算法的三种基本结构 作业:现有一个猎人,一头狼,一个爷爷,一个奶奶,两个孙子,两个孙女,共八个人(狼也算一个人)要过一条河,且只有一条船,会划船的只有猎人,爷爷和奶奶,一次只能过两个人(狼也算一个人),爷爷和奶奶当猎人不在时,狼会吃掉所有人,当爷爷不在时,奶奶会打孙子,当奶奶不在时,爷爷会打孙女问:八个人如何过河?