1、2.1算法的表示算法的表示1.算法的概念 算法:算法:有限步骤内求解某一问题所使用的一组有限步骤内求解某一问题所使用的一组定义明确的规则。简单的说,就是解决问题的定义明确的规则。简单的说,就是解决问题的方法和步骤方法和步骤2.使用自然语言描述算法 引入:引入:分析问题:分析问题:作为计算机一方,你认为“最强大脑”的游戏分成几个环节?“最强大脑最强大脑”的游戏分成的几个环节:的游戏分成的几个环节:出题出题 答题答题 输出结果输出结果2.使用自然语言描述算法自然语言的特点:自然语言的特点:自然语言就是人们日常使用的语言,它是最简单的描述算法的工具用自然语言表示通俗易懂,容易出现“歧义性”。自然语言
2、表示的含义往往不大严格2.使用自然语言描述算法思考题:用自然语言描述思考题:用自然语言描述“运狼,羊,菜过河,运狼,羊,菜过河,一次只能运一样一次只能运一样第一步第一步:运羊过河,农夫回运羊过河,农夫回第二步第二步:运菜过河,带羊回运菜过河,带羊回第三步第三步:运狼过河,农夫回运狼过河,农夫回第四步第四步:运羊过河运羊过河3.使用流程图描述算法流程图也称为程序框图,是算法的一种图形化流程图也称为程序框图,是算法的一种图形化表示表示使用流程图描述算法的优点:u与自然语言相比,流程图描述算法形象、直观、与自然语言相比,流程图描述算法形象、直观、更容易理解更容易理解u对于一些复杂的算法,直接编写代码
3、困难,可对于一些复杂的算法,直接编写代码困难,可以先用流程图描述算法,便于代码编写以先用流程图描述算法,便于代码编写流程图符号图形符号图形符号名称名称功能功能起止框表示一个算法的开始和结束输入/输出框表示一个算法输入和输出的信息处理框赋值、计算判断框表示判断的条件。满足条件,执行标识为“是”,不满足条件,执行标识为“否”流程线指示算法运行的方向连接符表示程序框图的连接三种基本结构流程图用自然语言描述:用自然语言描述:S1:拉开象舍门;S2:大象进入象舍;S3:关上象舍门;用流程图表示:用流程图表示:S1S2S3顺顺序序结结构构例:例:“大象进入象舍大象进入象舍”的算法表示的算法表示三种基本结构
4、流程图用自然语言描述:用自然语言描述:如果大象太大无法进入,那么就换一只小象进入。用流程图表示:用流程图表示:以以“大象太大无法进入大象太大无法进入”的算法表示为例的算法表示为例选选择择结结构构太大?换小象否是进入三种基本结构流程图用流程图表示:用流程图表示:例:“三只小象进入象舍”的算法表示一只小象进入三只都已进入?否是循循环环结结构构三种基本结构流程图AB条件?AB否是A条件?是否Python使用Python请同学们双击“最强大脑游戏.py”,运行程序并观察结果。使用Python请同学们双击“最强大脑游戏.py”,运行程序并观察结果。运行结果:用Python语言实现游戏第一段:import
5、 randomimport timeimport osprint(你好,现在你有10秒钟的时间记忆下列物品及其编号)things=苹果,香蕉,橙子,梨子,猕猴桃,柚子,猴魁,铁观音,彩蛋,复活节用Python语言实现游戏第二段(接上页):for i in range(10):print(i,:,thingsi)#在屏幕上显示编号及物品time.sleep(10)#延时10秒os.system(cls)#清屏幕,隐去编号及物品n=0#记录答对的题数,初值为0t2=random.sample(things,5)#随机抽出5个物品for i in t2:#出5题 ans=int(input(i+的编号是:)#输入编号答题 if i=thingsans:n=n+1#如果回答正确,答对的题数加1print(n你一共答对了,n,次)#屏幕显示答对的题数input(n按回车键结束程序)thanks!谢谢