




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章算法与程序实现第一节算法基础/112/113一、计算机解决问题的一般过程问题情景:绘制函数图像手工(人处理问题的过程)准备纸和笔(工具)绘制坐标系描点描点成线计算机处理问题的过程人机解决问题对比/115人解决问题的一般过程计算机编程解决问题的一般过程
1.分析问题
2.寻找解决问题的途径与方法
3.解决问题验证结果
1.分析问题
2.设计算法
3.编程程序
4.调试运行调试程序,分析、验证结果抽象建模,描述问题功能分解,适合计算机执行的步骤设计(算法设计)/116二、算法及其描述2.2.1.什么是算法算法是解决问题的方法与步骤。是指在有限步骤内解某一问题所使用的一组定义明确的规则。例如:若要求方程6x+5y+4z=50的正整数解的个数t,则解决问题的步骤算法如下:/117②t=1;③x=1;④z=1;⑤如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1,表示右边式子的值赋值给左边式子),并输出这个解(即输出t,x,y,z的值);⑥z=z+1;⑦如果z≤12则转步骤⑤,否则继续步骤⑧;®y=y+1;⑨如果y≤10则转步骤④,否则继续步骤⑩;⑩x=x+1;⑪如果先x≤8则转步骤③,否则继续步骤⑫;⑫结束。2.2.2算法的描述/1181、用自然语言描述算法②t=1;③x=1;④z=l;⑤如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1,表示右边式子的值赋值给左边式子),并输出这个解(即输出t,x,y,z的值);⑥z=z+1;⑦如果z≤12则转步骤⑤,否则继续步骤⑧;®y=y+1;⑨如果y≤10则转步骤④,否则继续步骤⑩;⑩x=x+1;⑪如果先x≤8则转步骤③,否则继续步骤⑫;⑫结束。缺点是什么?/119/119算法的描述2、用流程图描述缺点是什么?算法的描述/11103、用伪代码描述缺点是什么?三种语言描述方法比较/1111算法描述的方法优点缺点自然语言描述法流程图描述伪代码描述法容易掌握多分支或循环时难以清晰表示,有歧义清晰简洁图形符号,使用不便书写方便专业性强算法的特征1.有穷性。一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。
2.确定性。算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。3.数据输入。一个算法必须有零个或多个数据输入。4.数据输出。一个算法有一个或多个数据输出,以反映对输入数据加工处理后的结果。5.可行性。算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。/11122.2.3.三种基本控制结构/1113顺序结构:程序中的各步操作按出现的先后顺序执行。选择结构:程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。循环结构:程序反复执行某个或某些操作,直到判断条件为假(或为真)时才可终止循环。指令1指令2指令3顺序结构条件指令真假循环结构条件指令1指令2真假选择结构练习测评1.选择题(1)人们利用计算机解决问题的基本过程为( )。①调试运行程序②分析问题③设计算法④问题解决⑤编写程序A.①②③④⑤ B.②④③⑤① C.④②③⑤① D.②③⑤①④(2) 下面关于算法的描述,正确的是( )。A.算法不可以用自然语言描述B.算法只能用流程图来描述C.一个算法必须保证它的执行步骤是有限的D.算法的流程图表示法有零个或多个输入,但只能有一个输出2.操作题:画出判断某个年份是不是闰年的流程图/1114/1115三、计算机程序与程序设计语言2.3.1计算机程序计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或都符号化语句序列。简而言之,计算机程序就是指计算机可以识别运行的指令集合。/1116计算机基本组成部件/11172.3.2计算机程序设计语言
在用计算机解决问题时,用自然语言、流程图或是伪代码所描述的解决问题的算法都不能被计算机直接执行,还必须将算法按照一定的规则编写成计算机能够识别和运行的程序。而人们编写程序时需要遵循的规则就是计算机语言规则。计算机程序设计语言,是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。它是一种被标准化的交流技巧,用于向计算机发出指令。正确地使用计算机程序设计语言,能让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应执行的命令。计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的发展历程。/11181.机器语言/1119
目前,计算机采用的物理器件主要是电子元件,但由于电子元件的物理特性,计算机只能识别“0”和“1”组成的二进制数。因此,二进制是计算机语言的基础。计算机发明之初,人们只能使用计算机的基础语言。因此,早期的程序设计语言是由“0”和“1”所表示的二进制代码指令组表示的。这样的语言是计算机能直接接收和执行的,通常被称为“机器语言”。机器语言是第一代计算机语言。
这种机器语言所编写的程序难以被理解,程序设计任务也非常繁重,而且在程序出现错误需要修改时,效率更是低下。但由于使用的是针对特定型号计算机的语言,因此运算效率也是所有语言中最高的。2.汇编语言
为了让使用机器语言编写的程序更容易被理解,人们使用了一种类似英文缩略词且带有助记性符号的语言,来替代一个特定的指令二进制串,每条指令都和一条机器指令相对应,只是指令码和操作数都采用符号形式,这种程序设计语言就被称为汇编语言,即第二代计算机语言。但是,计算机是不能直接认识这些符号的,计算机还需要一个专门的语言翻译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言/1120
汇编语言同样与特定的机器及特定的微处理器相关,这也导致了汇编语言的移植性不好。这一点与机器语言相比差异不大,然而汇编语言程序的效率仍然很高。针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,其编写的程序不仅精练、质量高,而且易于理解,所以至今在一些领域仍是一种常用而强有力的软件开发工具。3.高级语言
人们在使用机器语言和汇编语言这两种语言与计算机交流的过程中,依然存在很大的障碍,而且对于程序的理解和调试仍然十分困难。于是,高级语言应运而生。高级语言接近于数学语言和人的自然语言,并且不再过度地依赖某种特定的机器或环境。例如,在计算“9+8”的问题时,若使用高级语言Python,则只需要语句“print(9+8)”就能完成,既简单又易于理解。用高级语言编写的程序也不能直接被计算机所识别和执行,必须经过编译程序或解释程序将其翻译成机器语言。/1121
所谓编译程序是指计算机把高级语言程序的每一条语句都编译成机器语言,并保存成二进制文件后才运行的程序。解释程序是指计算机在执行高级语言程序时,逐条语句解释成机器语言并立即执行的程序。由于高级语言抽象度高,源代码无须与硬件、系统底层操作对应,所以移植性非常好,理想的情况下甚至不必为不同的系统平台或者机器改动源代码。
/1122讨论1.一个高质量的程序应该具备哪些条件?2.高级语言的翻译程序有两种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科四急救考试试题及答案
- 陕西单招考试试题及答案
- 多模式出行行为分析-洞察与解读
- 滕州面试语文真题及答案
- 2025安顺镇宁中考试卷真题及答案
- 类乌齐县2025年中考数学考试模拟冲刺卷含解析
- 跨界融合体验设计-第1篇-洞察与解读
- 盐城美术招聘真题及答案
- 央美附中数学试题及答案
- 2025德格消防考试题及答案大全
- 涟源2022年事业编招聘考试《公共基础知识》真题及答案解析【可复制版】
- GB/T 18851.4-2005无损检测渗透检测第4部分:设备
- GB/T 17553.1-1998识别卡无触点集成电路卡第1部分:物理特性
- 2023年西藏山南雅砻天然饮品有限公司招聘笔试模拟试题及答案解析
- 海南矿产资源概况
- 幻影桌面云管理平台实践指导手册
- 沪教牛津版英语4A M3U1 In our school:animal school优质课课件
- (通用版)水利安全员考试试题库及答案
- 编版一年级下册 《荷叶圆圆》2022年小学语文作业设计
- 施工现场安全检查记录表(周)以及详细记录
- 汽车配件购销合同集合
评论
0/150
提交评论