




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务3了解算法与程序设计语言 3 3 1算法3 3 2程序设计语言的发展3 3 3几种程序设计语言介绍 计算机求解问题的步骤 1 确定并理解问题 2 寻找解决问题的方法与步骤 并将其表示成算法 Algorithm 3 使用某种程序设计语言描述该算法 编程 并编译成目标程序和进行调试 4 运行程序 获得问题的解答 5 进行评估 改进算法和程序 算法的概念 计算机算法是问题求解规则 方法 的一种过程描述 在执行有穷步的运算后结束 算法不仅在计算某一类问题时可以应用 有时一些实际问题中也要应用算法 在用计算机求解一些问题时 必须根据问题的要求 设计出一种算法 以使计算机精确而有效地去求解该问题 算法是解决问题的方法与步骤 例 有三个硬币 其中一个是伪造的 另两个是真的 伪币与真币重量略有不同 现在提供一座天平 如何找出伪币呢 分析 方法明确而有序按提供的条件进行操作任何人均可仿照进行 共享智能 ABC 关于算法的三方面问题 如何确定算法 算法设计 如何表示算法 算法表示 如何使算法更有效 算法分析 算法的特征 1 输入性 一个算法可以有多个输入 也可以没有输入 0个输入 2 输出性 一个算法必须有一个或多个输出 3 确定性 算法的每个步骤必须有确切的定义 即每一步骤应该执行何种动作必须是相当清楚的 无二义性的 4 有穷性 一个算法总是在执行了有穷步的操作后终止 5 能行性 算法中有待执行的操作都是可执行的 即在计算机的能力范围之内 且在有限的时间内能够完成 算法的表示 算法的表示可以多种形式 1 自然语言 自然语言像英语 汉语等来描述算法的方法 2 流程图 使用特定的图形符号来描述描述 3 伪代码 一种介于自然语言和程序设计语言之间的文字和符号表达工具 4 程序设计语言 使用某一种程序设计语言所提供的语言成分 根据语言的特点 并利用语言提供的各种工具和手段 遵照规定的语法规则 去实现算法这就是所谓的程序编码 文字 自然语言 描述 比较 与 的重量 若 则 是伪造的 否则再比较 与 的重量 若 则 是伪造的 否则 是伪造的 缺点 容易产生歧义 很难 精确 地进行表达叙述冗长 很难清楚地表达算法的逻辑流程 算法的流程图表示 流程图由结点和有向边构成 它描述了算法所执行操作的顺序及执行操作的条件流程图符号 比文字描述简明 但当算法比较复杂时 理解困难 容易产生错误 用流程图表示选择排序算法 流程图使用的图形符号 使用伪代码描述算法 伪代码 Pseudocode 是用来描述算法的一种语言 它既类似于自然语言 又使用与程序设计语言相似的方法描述算法 优点 结构清晰 代码简单 可读性好 可以容易地以任何一种编程语言 Pascal C Java等 实现 每个整数是A的一个元素 A 1 A 2 A n 算法的基本要素 1 算法对数据的运算和操作在一般的计算机系统中 基本的运算和操作包括 自述运算 逻辑运算 关系运算 数据传输四类 2 算法的控制结构算法的功能不仅取决于所选用的操作 还与算法的控制结构有很大关系 算法的控制结构指的是算法中各操作之间的执行顺序 一般情况下 一个算法可以由顺序 选择和循环3种基本控制结构组合而成 三种基本算法结构的图形表示 a 是顺序结构 其中的每个处理 A和B 顺序执行 b 是选择结构 其中e为判决条件 进入选择结构 首先判断e成立与否 再根据判断结果 选择执行处理A或处理B后退出 循环结构分为两类 c 称为 当型循环 d 称为 直到型循环 循环结构中的处理A是要重复执行的操作 叫做 循环体 e是控制循环执行的条件 当型循环是当条件e成立 就继续执行A 否则就结束循环 而直到型循环是重复执行A 直到条件e成立 循环结束 三种基本结构的共同特点 1 只有单一的入口和单一的出口 2 结构中的每个都有执行到的可能 3 结构内不存在永不终止的死循环 算法设计的目标 1 正确性 算法应满足具体问题的需求 这是算法设计最起码的目标 2 可读性 一个算法设计完成后 并非仅供算法设计者个人使用 因此首先应让使用者能够理解 阅读与交流 其次才是机器执行 3 健壮性 当输入的数据非法时 算法应当能够做出适当的反应或进行处理 从而避免产生不可预料的输出结果 4 高效率 所谓效率 是指算法执行的时间 对于同一个问题如果有多个可供选择的算法 应尽可能选择执行时间短的算法 这样的算法无疑效率是较高的 5 低存储量需求 算法的存储量需求是指算法执行过程中所需的最大存储空间 对于同一个问题如果有多个算法可供选择 应尽可能选择存储量需求低的算法 什么是程序设计语言 什么是程序 程序是为了用计算机解决某个问题而采用程序设计语言编写的一个指令序列什么是程序设计语言 语言的目的是用于通信程序设计语言用于人与计算机之间的通信程序设计语言是由人使用但计算机可以理解的一种语言程序设计语言用于编制程序 表达需要计算机完成什么任务和怎样完成任务 然后交给计算机去完成 程序设计语言填补了人与计算机交流的鸿沟 计算机中使用多种 语言 程序设计语言 主要用于描述算法机器语言 汇编语言 高级语言数据描述语言 主要用于描述数据 文档 音乐 图形 图像 视频等 的规范 结构和文件格式HTML XML MIDI MP3 OpenGL JPEG MPEG 脚本语言 用于编写嵌入在文档中的程序的程序设计语言VBA VBScript JavaScript计算机通信语言 通信协议 用于描述计算机 计算机之间的会话 请求 应答 的语法和语义HTTP POP3 SMTP FTP Telnet TCP IP 数据库语言 用于数据操作 如SQL语言 程序设计语言的发展 要使计算机能够按人的意图工作 就必须使计算机懂得人的意图 接受人向它发出的命令和信息 计算机不懂人类的语言 人们要操纵计算机 就不得不使用特定的语言与之打交道 这种特定的语言就是计算机语言 又称为程序设计语言 计算机语言也有其自身的发展过程 其出现的顺序是 机器语言 汇编语言 高级语言 机器语言 机器语言是计算机惟一能够直接识别和执行的一种计算机语言 它是以二进制代码的形式表示的机器指令 优点 计算机能直接识别 运行速度快 占用内存空间小 缺点 直观性差 难记 难写 非常容易出错 面向具体的机器 通用性差 需要人工分配内存 编程工作量大 由于机器语言的缺点难以克服 给计算机的推广使用造成了很大的障碍 为此 人们设计出了便于记忆的助记符式语言 即汇编语言 机器语言 用机器语言编程序 也就是直接使用二进制代码编写程序 汇编语言 汇编语言是用一些便于人们记忆的符号来代替二进制数码 这些符号都是一些可以指明操作含义的英文单词 或其缩写 因此也叫助记符式语言 这种语言具有如下优缺点 优点 运行速度快 占用空间小 易学 易懂 易查错 易修改缺点 机器不能直接识别 面向机器 通用性差 汇编语言 用助记符号来表示机器指令中的操作符与操作数 将383传送到AX寄存器 将545传送到BX寄存器 将BX内容加AX内容 结果在BX中 将1055传送到AX寄存器 将AX内容减BX内容 结果在AX寄存器中 高级语言 高级语言 克服了低级语言的所有缺点 优点 接近于自然语言 能精确地描述解决问题的过程 不依赖于具体的计算机指令系统 不需人工分配内存 运行速度慢 片用内存空间大 计算机不能直接识别和运行尽管高级语言还有一定的缺点 但因为它的显著优点 所以才使计算机的推可能 目前 常用的高级语言有C语言 VC VB C 等 高级程序设计语言 语言处理 翻译 程序 1 汇编语言的翻译用汇编语言编写的程序通常称为汇编语言源程序 这样的程序计算机是不能直接识别和执行的 必须用相应的翻译程序 称为汇编程序 将汇编语言源程序翻译成机器能够执行的机器语言程序 称为目标程序 这个翻译过程叫做汇编 语言处理 翻译 程序 2 高级语言的翻译 编译方式 用相应语言的编译程序将源程序翻译成目标程序 再用连接程序将目标程序与函数库连接 最终生成可执行程序即可在计算机上运行 语言处理 翻译 程序 2 高级语言的翻译 解释方式 通过相应的解释程序将源程序逐句翻译成机器指令 并且是每翻译一句就执行一句 解释程序不产生目标程序 执行过程中某句有错误将立即显示出错误信息 以便用户修改后继续执行 程序设计语言 Fortran Fortran是英文 FORmulaTRANslator 的缩写 译为 公式翻译器 它是世界上最早出现的计算机高级程序设计语言 广泛应用于科学和工程计算领域 FORTRAN语言以其特有的功能在数值 科学和工程计算领域发挥着重要作用 程序设计语言 Pascal与Delphi Pascal是一个有影响的面向过程编程语言 由尼古拉斯 沃斯在1968年9月设计 在1970年发行 作为一个小型的和高效的语言 意图鼓励使用结构化编程和数据结构进行良好的编程实践 Delphi是一个集成开发环境 IDE 使用的核心是由传统Pascal语言发展而来的ObjectPascal 以图形用户界面 GraphicalUserInterface 简称GUI 为开发环境 通过IDE VCL工具与编译器 配合连结数据库的功能 构成一个以面向对象程序设计为中心的应用程序开发工具 程序设计语言 Basic VisualBasic和VB net BASIC是Beginner sAll purposesymbolicinstructionCode 初学者通用符号指令代码 的缩写 是国际上广泛使用的一种计算机高级语言 它的特点是简单 易学 1991年 VisualBasic1 0问世 它允许程序员在一个所见即所得的图形界面中迅速完成开发任务 1998年发布的VisualBasic6 0是传统VisualBasic中功能最全 应用最广的一个版本 微软后来开发了VB的继任者VisualBasic NET 同时也是 NET平台的一部分 程序设计语言 Java Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言 是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台 即JavaSE JavaEE JavaME 的总称 Java技术具有卓越的通用性 高效性 平台移植性和安全性 广泛应用于个人PC 数据中心 游戏控制台 科学超级计算机 移动电话和互联网 同时拥有全球最大的开发者专业社群 随着Java芯片 JavaOS Java解释和编译以及Java虚拟机等技术的不断发展 在全球云计算和移动互联网的产业环境下 Java更具备了显著优势和广阔前景 程序设计语言 C C C 语言是一种结构化编程语言 它层次清晰 便于按模块化方式组织程序 易于调试和维护 C 是在C的基础上改进后的一种编程语言 主要是增添了许多新的功能 难度也比C大 和C一样侧重于计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西数据咨询方案
- 啤酒包装工主管竞选考核试卷及答案
- 单元复习与测试说课稿-2025-2026学年高中英语北师大版必修五-北师大版2004
- 飞机模线样板移型工上岗考核试卷及答案
- 5.1《工具的妙用》教学设计-2024-2025学年科学五年级上册大象版
- 原料药精制干燥工5S管理考核试卷及答案
- 火腿肠预防临期营销方案
- 小学语文三年级教师教学参考案例
- 大型数据中心运维管理规范
- 第一单元第1课 《情感表达》说课稿 - 2024-2025学年人教版(2024)初中美术七年级上册
- 购买光驱合同协议
- 精准分析分离与鉴定技术知到智慧树章节测试课后答案2024年秋浙江中医药大学
- 施工单位对分包单位的管理制度
- 血液系统疾病的护理措施
- Unit 3 All about me (教学设计)-2024-2025学年冀教版(2024)初中英语七年级上册
- DB31-T 1540-2025 针刀技术操作规范
- 2024-2025学年黑龙江省1月普通高中学业水平合格性考试数学试卷(含答案)
- 招商转正工作总结
- 环保工程项目全流程规划
- 公路工程全套资料表格
- 智能计算系统:从深度学习到大模型 第2版课件 期末复习
评论
0/150
提交评论