您好,欢迎访问三七文档
算法及其描述制作人:罗志华一、算法的概念两个大人和两个小孩一起渡河,渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳。过河的方案:第一步:两个小孩同船渡过河去;第二步:一个小孩划船回来;第三步:一个大人独自划船渡过河去;第四步:对岸的小孩划船回来;第五步:两个小孩再同船渡过河去;第六步:一个小孩划船回来;第七步:余下的一个大人独自划船渡过河去;第八步:对岸的小孩划船回来;第九步:两个小孩再同船渡过河去。一、算法的概念这个过河的方案就是这道趣味题的算法。算法就是解决问题的方法和步骤。在以后的编程中也要记住了,有些步骤是可以颠倒的,不影响程序的结果;但是有些一但颠倒了那最终的结果也就全变了。算法——解决问题的方法和步骤。算法+数据结构=程序。一、算法的概念二、如何描述算法1、用自然语言描述算法2、用流程图描述算法3、用伪代码描述算法1、用自然语言描述算法自然语言——人们日常生活中使用的语言。此种语言的特点:通俗语易懂,缺乏直观性和简洁,且易产生歧义。使用此种语言的注意事项:描述要求尽可能精确,详尽。2、用流程图描述算法特点:描述算法形象、直观,容易理解。流程图符号:3、用伪代码描述算法特点:描述的算法简、易懂,修改容易,容易转化为程序语言代码。例:分析闰年的算法描述第一个条件:ymod4=0判断闰年的条件:⑴y不能被100整除;⑵y能被400整除且y能被400整除。判断不是闰年的条件:⑴ymod4=0且ymod100=0,但y不能被400整除;⑵y不能被4整除。表示条件判断语句IF条件THEN执行语句一ELSE执行语句二ENDIF条件语句中可以包含多个子语句表示循环处理语句:DoWhile条件循环语句Loop3、用伪代码描述算法实践:比较自然语言、流程图和伪代码3种描述方法的优缺点。三、算法的设计与选择200年前的一天,一位数学教师走进课堂,也许是想清静一个小时,给四年级的学生们布置了一道题:从1加到100。5分钟后,一个学生走到他跟前,交上了正确答案,这时他是多么吃惊呀!这怎么可能呢?这个孩子一定是个天才。求9147485和5147480两个数的最大公约数。算法的设计,直接影响着程序的通用性和解决问题的效率,总的来说,一个好的算法,应该是科学而又合理的算法。三、算法的设计与选择第1步:输入26个英文字母,它们分别对应1~26个数学。第2步:令a=1,k=3,n=26。第3步:使a的取值范围为1≤a≤26,F(a)=(a+k)modn,转第5步。第4步:a=a+1,转第3步。第5步:输出F(a)相对应的数字。第6步:把数学转化成相当的字母,输出字母第7步:累计字母出现顺序,转第4步。例:用自然语言描述摩斯密码的原理练习:现有一串字母“PROGRAM”给它加密,请设计算法,用自然语言描述。实践练习:一天,小猴子从树上摘下若干个桃子,当即吃了一半,觉得不过瘾,又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。以后每天都是吃前一天剩下的一半后,就再多吃了一个。到第四天,只剩下一下桃子。试设计一个算法流程图,求小猴子第一天摘下了多少个桃子。
本文标题:算法及其描述
链接地址:https://www.777doc.com/doc-3182170 .html