版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法与程序设计,个人计算机的另一个称呼是什么? 电脑,为什么称计算机是电脑? 计算机能模拟人的大脑的活动。,算法初步,算法与程序框图 基本算法 算法案例,揭开计算机解决问题的神秘面纱 程序设计基础 可视化编程 算法与程序实现 面向对象程序设计 程序设计实践,算法与程序设计,如何用计算机解决问题,当我们用计算机解决问题时,首先要分析问题,然后根据问题的要求选择合适的软件。 如果现有的软件能满足我们的要求,我们会直接用这些软件来完成任务。 例如:学校财务处要制作一份工资表,工资表中许多数据,我们可以用Excel解决;学生要设计一个报刊设计,可以使用word;网络上的网页是使用网页制作工具完成的,记
2、事本要输入代码,Frontpage和Dreamweaver可以直接使用可视化工具。除此之外, 现实生活中还有许多工作往往比较特殊,现有的软件不能很好地完成,或者由于其他方面的原因无法使用,这就需要我们编写程序来解决问题。,计算机解决问题的步骤,分析问题可采用建立数学模型的方式使问题变得更明确、易理解。 设计算法数学模型确定了应该“做什么”,接下来就要为它寻找一个“如何做”的算法。 编写程序用一种计算机能接受的程序设计语言来描述问题求解的算法。 调试程序查找和改正程序中存在的错误,使程序能顺利地执行,得出正确结果。,算法的概念,加法口诀表,农夫过河问题,一个农夫带着一只狼,一只羊和一棵白菜过河。
3、河边只有一条船,由于船小,农夫一次只能带其中的一样过河。 如无人看管,狼要吃羊,羊要吃菜。问农夫如何安排过河,才能使狼、羊、菜都安然无恙。,渡河的方法与步骤:,第一步:农夫带着羊渡过河去; 第二步:农夫划船回来; 第三步:农夫带着菜渡过河去; 第四步:农夫带着羊划船回来; 第五步:农夫带着狼渡过河去; 第六步:农夫划船回来; 第七步:农夫带着羊渡过河。,一个笼子里有鸡和兔,现在只知道里面一共有35个头,94只脚,问鸡和兔各有多少只? X+Y=a 2X+4Y=b 解方程组得:X2a-b/2,Yb/2-a,鸡兔同笼问题,设计算法,输入a和b的值 求X=2a-b/2 求Y=b/2-a 输出X,Y的值
4、 结束,a1X+b1Y=c1 a2X+b2Y=c2 输入a1,b1,c1,a2,b2,c2的值 求X=(b2*c1-b1*c2)/(a1*b2-a2*b1) 求Y=(a1*c2-a2*c1)/(a1*b2-a2*b1) 输出X,Y的值 结束,算法,算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。 算法是解决问题的方法和步骤,算法的特征,输入 确定 有穷性 输出 能行性,判断整数n(n2)是否为质数,第一步:给定大于2的整数 第二步:令i 第三步:用i除n,得到余数r判断余数r是否为,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示 第四步:判断i是否大于(n-1),若是
5、,则n是质数,返回第三步,著名数学家华罗庚“烧水泡茶”,算法一 第一步:烧水; 第二步:水烧开后,洗刷茶具; 第三步:沏茶。 算法二 第一步:烧水; 第二步:烧水过程中,洗刷茶具; 第三步:水烧开后沏茶。,求最大公约数 辗转相除法 穷举法,算法在解决问题中的地位和作用,见书13表1-6,两个程序的效率比较,计算机只懂得根据人的命令来执行相关的程序,而我们要编写程序, 首先要分析问题:对问题进行详细地分析,通过分析,弄清楚已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法; 然后要设计算法:将这个数学模型连同它要处理的数据用计算机能识别的方式描述出来,使
6、之成为计算机能处理的对象; 最后,编写程序:用程序设计语言设计出具体的问题求解过程,形成计算机程序, 这样,计算机就会按照我们给定的指令一条一条地 进行处理了。,设计一个软件的步骤是:,开始,分析问题,设计算法,编写程序,运行程序 验证结果,问题解决,无论使用现成的软件解决问题,还是自己动手编程解决问题,其实质都是一样的:现有的计算机软件同样也经历了这些过程, 其差别在于,用程序设计解决问题需要我们亲自动手设计软件,而使用现成的软件,是别人已经给我们设计好了的。,算法的描述,自然语言 流程图 伪代码,1、用自然语言来描述。,什么是自然语言。,人们日常生活中使用的语言,算法描述:,以“韩信点兵问
7、题” 为例:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?”答曰:“二十三。”,算法分析:,以“韩信点兵问题” 为例:,自然语言的优点:通俗易懂。 缺点:容易产生歧义。,例如:,“这个人连老张也不认识”。,意思之一:这个人不认识老张。 意思之二:老张不认识这个人。,2、用流程图来描述,流程图也称程序框图,算法的一种图形化表示方法。,流程图,流程图的优缺点,与自然语言相比,用流程图描述算法形象、直观,更容易理解。,3、用伪代码描述算法。,例如,给定一个四位数的年份,判断它是否为闰年。如果用伪代码来描述算法,可以表示如下: 算法分析: 我们知道,如果2月是28天,则
8、这一年是平年;如果是29天,则这一年是闰年。判断闰年的条件是:如果该年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。,算法描述:,输入年份y IF y能被4整除 THEN IF y 不能被100整除 THEN 输出“是闰年” ELSE IF y 能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF END IF ELSE 输出“不是闰年” END IF,使用伪代码描述算法没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了,它更侧重于对算法本身的描述。 在伪代码描述中,表示关键词的语句一般用英文单词,其他语句可以用英文语句,也可以用汉语语句。,伪代码的优缺点:,用伪代码描述的算法简洁、易懂,修改起来也比较容易,并且很容易转化为程序语言代码。 缺点是不是很直观。,INPUT m,n r=m mod n DO WHILE r0 m=n n=r r=m mod n Loop PRINT n,程序的基本结构,顺序结构 选择结构 循环结构,分析问题、建立模型、设计算法、编写程序,具体问题,程序设计,计算机程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 可疑情况报告奖惩制度
- 售楼部销售任务奖惩制度
- 学校反恐怖考核奖惩制度
- 关于酒店服务员奖惩制度
- 一年级作业托管奖惩制度
- 住院医师规培奖惩制度
- 学校防溺水工作奖惩制度
- 学校卫生打扫奖惩制度
- 单位保密考试奖惩制度
- 安全生产监督员奖惩制度
- 2026年江西旅游商贸职业学院单招综合素质考试题库有答案详解
- 2026年人美版三年级美术下册每课教学反思(附目录)
- 【2026春】部编版八年级下册语文读读写写(注音+解释)
- 初中历史历史互动传承的文化遗产课题报告教学研究课题报告
- 《PMC新型固体燃料》-编制说明
- 乡镇消防制度管理制度
- 公共卫生组织管理工作计划(31篇)
- 电厂值长培训课件
- 2026年湖南机电职业技术学院单招综合素质考试题库附答案
- (正式版)DB51∕T 3326-2025 《展会现场服务规范》
- 小学劳动课《收纳》
评论
0/150
提交评论