《算法与程序设计.ppt.ppt》由会员分享,可在线阅读,更多相关《算法与程序设计.ppt.ppt(40页珍藏版)》请在优知文库上搜索。
1、算法与程序设计算法与程序设计个人计算机的另一个称呼是什么?电脑为什么称计算机是电脑?计算机能模拟人的大脑的活动。 算法初步v算法与程序框图v基本算法v算法案例v 揭开计算机解决问题的神秘面纱v 程序设计基础v 可视化编程v 算法与程序实现v 面向对象程序设计v 程序设计实践算法与程序设计如何用计算机解决问题如何用计算机解决问题v 当我们用计算机解决问题时,首先要分析问题,然后根据问题的要求选择合适的软件。v 如果现有的软件能满足我们的要求,我们会直接用这些软件来完成任务。v 例如:学校财务处要制作一份工资表,工资表中许多数据,我们可以用Excel解决;学生要设计一个报刊设计,可以使用word;
2、网络上的网页是使用网页制作工具完成的,记事本要输入代码,Frontpage和Dreamweaver可以直接使用可视化工具。除此之外, 现实生活中还有许多工作往往比较特殊,现有的软件不能很好地完成,或者由于其他方面的原因无法使用,这就需要我们编写程序来解决问题。计算机解决问题的步骤计算机解决问题的步骤v分析问题分析问题可采用建立可采用建立数学模型的方式使问题的方式使问题变得更明确、易理解。变得更明确、易理解。 v设计设计算法数学模型确定了应该数学模型确定了应该“做什么做什么”,接下来就要为它寻找一个接下来就要为它寻找一个“如何做如何做”的算法。的算法。 v编写程序编写程序用一种计算机能接受的程序
3、设计语用一种计算机能接受的程序设计语言来描述问题求解的算法。言来描述问题求解的算法。 v调试程序调试程序查找和改正程序中存在的错误,使查找和改正程序中存在的错误,使程序能顺利地执行,得出正确结果。程序能顺利地执行,得出正确结果。算法的概念算法的概念加法口诀表 直加满五加进十加破五进十加一一上一一下五去四一去九进一 二二上二二下五去三二去八进一 三三上三三下五去二三去七进一 四四上四四下五去一四去六进一 五五上五 五去五进一 六六上六 六去四进一六上一去五进一七七上七 七去三进一七上二去五进一八八上八 八去二进一八上三去五进一九九上九 九去一进一九上四去五进一渡河的方法与步骤:v 第一步:渡过河
4、去;v 第二步:划船回来;v 第三步:渡过河去;v 第四步:划船回来;v 第五步:渡过河去;v 第六步:划船回来;v 第七步:渡过河。设计算法设计算法v输入输入a和和b的值的值v求求X=2a-b/2v求求Y=b/2-av输出输出X,Y的值的值v结束结束a1X+b1Y=c1a2X+b2Y=c2v输入输入a1,b1,c1,a2,b2,c2的值的值v求求X=(b2*c1-b1*c2)/(a1*b2-a2*b1)v求求Y=(a1*c2-a2*c1)/(a1*b2-a2*b1)v输出输出X,Y的值的值v结束结束算法v算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。v算法是解决问题的方法和步骤
5、算法的特征算法的特征v输入v确定v有穷性v输出v能行性判断整数判断整数n(n2)是否为质数是否为质数v 第一步:给定大于2的整数v 第二步:令iv 第三步:用i除n,得到余数r判断余数r是否为,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示v 第四步:判断i是否大于(n-1),若是,则n是质数,返回第三步著名数学家华罗庚著名数学家华罗庚“烧水泡茶烧水泡茶” 算法一v 第一步:烧水;v 第二步:水烧开后,洗刷茶具;v 第三步:沏茶。算法二v 第一步:烧水;v 第二步:烧水过程中,洗刷茶具;v 第三步:水烧开后沏茶。算法在解决问题中的地位和作用算法在解决问题中的地位和作用见书见书1
6、3表表1-6两个程序的效率比较两个程序的效率比较计算机只懂得根据人的命令来执行相关的程序,而我们要编写程序,首先要分析问题分析问题:对问题进行详细地分析,通过分析,弄清楚已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法;然后要设计算法设计算法:将这个数学模型连同它要处理的数据用计算机能识别的方式描述出来,使之成为计算机能处理的对象;最后,编写程序编写程序:用程序设计语言设计出具体的问题求解过程,形成计算机程序,这样,计算机就会按照我们给定的指令一条一条地 进行处理了。设计一个软件的步骤是:开始分析问题设计算法编写程序运行程序验证结果问题解决无论使用现
7、成的软件解决问题,还是自己动手编程解决问题,其实质都是一样的:现有的计算机软件同样也经历了这些过程,其差别在于,用程序设计解决问题需要我们亲自动手设计软件,而使用现成的软件,是别人已经给我们设计好了的。算法的描述算法的描述v自然语言自然语言v流程图流程图v伪代码伪代码1 1、用自然语言来描述。、用自然语言来描述。人们日常生活中使用的语言人们日常生活中使用的语言 算法描述:算法描述:算法分析:算法分析:例如:例如:意思之一:这个人不认识老张。意思之一:这个人不认识老张。意思之二:老张不认识这个人。意思之二:老张不认识这个人。 2 2、用流程图来描述、用流程图来描述流程图流程图流程图的优缺点流程图
8、的优缺点3 3、用伪代码描述算法。、用伪代码描述算法。v使用伪代码描述算法没有严格的语法限制,书使用伪代码描述算法没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可写格式也比较自由,只要把意思表达清楚就可以了,它更侧重于对算法本身的描述。以了,它更侧重于对算法本身的描述。v在伪代码描述中,表示关键词的语句一般用英在伪代码描述中,表示关键词的语句一般用英文单词,其他语句可以用英文语句,也可以用文单词,其他语句可以用英文语句,也可以用汉语语句。汉语语句。伪代码的优缺点:伪代码的优缺点:开始r=m除以n的余数输入正整数m和nr=0输出n的值结束m=n,n=r否是程序的基本结构程序的基本结构v顺序结构顺序结构v选择结构选择结构v循环结构循环结构分析问题、建立模型、设计算法、编写程序具体问题程序设计计算机程序程序设计语言程序设计语言v机器语言机器语言v汇编语言汇编语言v高级语言高级语言程序的编辑与翻译程序的编辑与翻译MOV AL,9 ADD AL,8HLT1011000000001001000001000000100011110100机器语言机器语言 汇编语言汇编语言 Print 8+9高级语言高级语言