第1课:算法及其表示方法
【以单独窗口方式打开】
科学技术的进步,社会生产力的发展,都是由于相关的问题得到不断的解决的结果。在当今社会中,由于信息化概念的提出,许多问题的解决都使用到了电子计算机。人们解决问题一般使用到以下两种方法:
1、人工解题
2、计算机解题
下面,我们来比较一下人工解题和计算机解题在操作步骤上的区别:
人工解题步骤 计算机解题步骤
1、理解和分析所面临的问题 1、理解和分析所要解决的问题
2、寻找解题的途径和方法 2、寻找解题的途径和方法
3、用笔、纸和算盘、计算器等工具进行计算 3、生成解题算法
4、验证计算结果 4、选用一种编程语言根据算法编写程序
5、通过编辑、编译和连接产生计算机能够识别的指令序列
6、在计算机上执行该指令序列
一、人工解题和计算机解题的异同点
相同点:无论何种解题方式,在解决某一实际问题时,都应该正确的理解问题的题意,从看似复杂的问题中整理出一个头绪,然后通过算法(即解决问题的一个一个步骤)描述出某一问题的解决过程,进行一定量的计算,最后都必须验证计算结果。
不同点:当计算量较大时,人工解题就有点力不从心了,而计算机上亿次的每秒计算速度却不在话下,并且只要算法正确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如:sum=1+2+3+4+5……+(n-1)+n
二、算法概念的定义
什么是算法?我不忙着回答,先来看下面的这个小故事:
从前有1个农夫带着狼狗、山羊和萝卜去赶集。当他来到渡口时发现过河的小船除了能装下自己之外,只能再带2样东西过河。这使他有点犯愁了,因为如果农夫不在场的情况下,狼狗会咬山羊,山羊会吃萝卜。请同学们帮助农夫解决安全过河问题。>>单击此处获得答案
我们一起来分析Flash动画中提出的两种解决问题的方法。
解题方法一 解题方法二
步骤1:农夫带着狼狗和山羊撑船过河 步骤1:农夫带着狼狗和萝卜撑船过河
步骤2:农夫带着山羊撑船返回 步骤2:农夫带着狼狗撑船返回
步骤3:从船上放下羊后,带萝卜过河 步骤3:从船上放下狼狗后,带山羊过河
步骤4:放下萝卜后,农夫撑船空身返回 步骤4:放下山羊后,农夫撑船空身返回
步骤5:农夫带山羊撑船过河 步骤5:农夫带狼狗撑船过河
从以上两个解题方法分析中,我们可以看到如果农夫执行方法一来过河,那么他可以顺利的带着东西过河,而方法二在执行过中肯定会发生意外(在执行完方法二中的步骤4之后,山羊吃萝卜的事情发生)。但是,无论怎么说这两种提出的带东西过河的过程都是在寻求解决问题的方法,只是方法一能够成功的解决问题,方法二是失败的。请同学们考虑一下,除了Flash动画中的方法一之外,还有没有正确的解决问题的方法?
(一)算法的定义
由前面的这个小故事,我们引出对算法概念的定义。所谓算法,是指在使用计算机解题前,需要将解题方法转换成一系列具体的在计算机上可执行的步骤,这些步骤能够清楚的反映解题方法一步步“怎么做”的过程,这个过程就是通常所说的算法。
小知识:算法一词最早起源于公元9世纪的阿拉伯。有一位名叫花拉兹米的阿拉伯数学家,在他的一生中发现了很多求解算术问题的算法,并撰写了《合并与回代》一书,后被翻译成为拉丁文。合并与回代这两个词是指解方程时所用的两个主要过程,后被人简称为“代数学”。
(二)算法的特点
1、有穷性(有限性)。任何一种提出的解题方法都是在有限的操作步骤内可以完成的,哪怕是失败的解题方法。
2、确定性(唯一性)。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生歧义或者误解。
3、可行性(能行性)。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻辑思维中都能够实施实现。
【以单独窗口方式打开】
科学技术的进步,社会生产力的发展,都是由于相关的问题得到不断的解决的结果。在当今社会中,由于信息化概念的提出,许多问题的解决都使用到了电子计算机。人们解决问题一般使用到以下两种方法:
1、人工解题
2、计算机解题
下面,我们来比较一下人工解题和计算机解题在操作步骤上的区别:
人工解题步骤 计算机解题步骤
1、理解和分析所面临的问题 1、理解和分析所要解决的问题
2、寻找解题的途径和方法 2、寻找解题的途径和方法
3、用笔、纸和算盘、计算器等工具进行计算 3、生成解题算法
4、验证计算结果 4、选用一种编程语言根据算法编写程序
5、通过编辑、编译和连接产生计算机能够识别的指令序列
6、在计算机上执行该指令序列
一、人工解题和计算机解题的异同点
相同点:无论何种解题方式,在解决某一实际问题时,都应该正确的理解问题的题意,从看似复杂的问题中整理出一个头绪,然后通过算法(即解决问题的一个一个步骤)描述出某一问题的解决过程,进行一定量的计算,最后都必须验证计算结果。
不同点:当计算量较大时,人工解题就有点力不从心了,而计算机上亿次的每秒计算速度却不在话下,并且只要算法正确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如:sum=1+2+3+4+5……+(n-1)+n
二、算法概念的定义
什么是算法?我不忙着回答,先来看下面的这个小故事:
从前有1个农夫带着狼狗、山羊和萝卜去赶集。当他来到渡口时发现过河的小船除了能装下自己之外,只能再带2样东西过河。这使他有点犯愁了,因为如果农夫不在场的情况下,狼狗会咬山羊,山羊会吃萝卜。请同学们帮助农夫解决安全过河问题。>>单击此处获得答案
我们一起来分析Flash动画中提出的两种解决问题的方法。
解题方法一 解题方法二
步骤1:农夫带着狼狗和山羊撑船过河 步骤1:农夫带着狼狗和萝卜撑船过河
步骤2:农夫带着山羊撑船返回 步骤2:农夫带着狼狗撑船返回
步骤3:从船上放下羊后,带萝卜过河 步骤3:从船上放下狼狗后,带山羊过河
步骤4:放下萝卜后,农夫撑船空身返回 步骤4:放下山羊后,农夫撑船空身返回
步骤5:农夫带山羊撑船过河 步骤5:农夫带狼狗撑船过河
从以上两个解题方法分析中,我们可以看到如果农夫执行方法一来过河,那么他可以顺利的带着东西过河,而方法二在执行过中肯定会发生意外(在执行完方法二中的步骤4之后,山羊吃萝卜的事情发生)。但是,无论怎么说这两种提出的带东西过河的过程都是在寻求解决问题的方法,只是方法一能够成功的解决问题,方法二是失败的。请同学们考虑一下,除了Flash动画中的方法一之外,还有没有正确的解决问题的方法?
(一)算法的定义
由前面的这个小故事,我们引出对算法概念的定义。所谓算法,是指在使用计算机解题前,需要将解题方法转换成一系列具体的在计算机上可执行的步骤,这些步骤能够清楚的反映解题方法一步步“怎么做”的过程,这个过程就是通常所说的算法。
小知识:算法一词最早起源于公元9世纪的阿拉伯。有一位名叫花拉兹米的阿拉伯数学家,在他的一生中发现了很多求解算术问题的算法,并撰写了《合并与回代》一书,后被翻译成为拉丁文。合并与回代这两个词是指解方程时所用的两个主要过程,后被人简称为“代数学”。
(二)算法的特点
1、有穷性(有限性)。任何一种提出的解题方法都是在有限的操作步骤内可以完成的,哪怕是失败的解题方法。
2、确定性(唯一性)。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生歧义或者误解。
3、可行性(能行性)。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻辑思维中都能够实施实现。