![电工与电子技术电子商务电子课件数据与计算(第4版)Ch5 语言与程序ppt_第1页](http://file4.renrendoc.com/view/33da883025f4f7464c8619a0a15d0eda/33da883025f4f7464c8619a0a15d0eda1.gif)
![电工与电子技术电子商务电子课件数据与计算(第4版)Ch5 语言与程序ppt_第2页](http://file4.renrendoc.com/view/33da883025f4f7464c8619a0a15d0eda/33da883025f4f7464c8619a0a15d0eda2.gif)
![电工与电子技术电子商务电子课件数据与计算(第4版)Ch5 语言与程序ppt_第3页](http://file4.renrendoc.com/view/33da883025f4f7464c8619a0a15d0eda/33da883025f4f7464c8619a0a15d0eda3.gif)
![电工与电子技术电子商务电子课件数据与计算(第4版)Ch5 语言与程序ppt_第4页](http://file4.renrendoc.com/view/33da883025f4f7464c8619a0a15d0eda/33da883025f4f7464c8619a0a15d0eda4.gif)
![电工与电子技术电子商务电子课件数据与计算(第4版)Ch5 语言与程序ppt_第5页](http://file4.renrendoc.com/view/33da883025f4f7464c8619a0a15d0eda/33da883025f4f7464c8619a0a15d0eda5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子课件数据与计算(第4版)Ch5 语言与程序CS, ZJU八月 222Data and Computation 4Th, CS of ZJU, PHEI Chapter 5 语言、程序概述编程语言翻译系统高级编程语言怎样编写程序软件工程Data and Computation 4Th, CS of ZJU, PHEI 3Overview重要的概念计算的对象是数据数据有各种形,抽象表达计算需要程序实现不同的数据有不同的程序实现算法是程序的基础程序需要计算机语言编写通用语言专业语言程序和软件尽管被认为是类似,但有不同Data and Computation 4Th, CS of ZJU, PHE
2、I 4Review专业角度程序和软件是两个不同的概念程序设计过程是软件开发的一部分程序加上该程序的文档就是软件程序设计需要使用程序设计语言顾名思义:Program and Programing/Coding可视化程序设计编程的过程、执行结果都是基于GUI熟悉的节目、按钮、工具栏Data and Computation 4Th, CS of ZJU, PHEI 5概述系统软件解决计算机系统问题应用软件解决特定的应用问题每个大学生都需要学习程序设计?NoBut:理解并描述问题,提出编程任务 - Everyone!语言、程序的特点形式化 and 抽象Data and Computation 4Th,
3、 CS of ZJU, PHEI 6概述The truth计算机最终执行的是机器代码,二进制指令程序范式编程风格和模式由编程语言确定程序执行某种任务的一系列操作步骤 - 类似于算法算法是通用表达,程序与语言结合程序设计者选择语言,实现算法Data and Computation 4Th, CS of ZJU, PHEI 7概述编程用计算机能够“明白”的语言告诉计算机如何去做算法是通用表达,而程序则是与具体的编程语言结合的程序=算法+语言特点:抽象,形式化表达程序设计范式(Paradigm)范式就是模式和方法命令范式、面向对象式、函数式和逻辑式目前程序都是可视化(Visible)的程序操作更加贴
4、近人的习惯-良好的用户体验程序特定的数据集,测试程序测试这个数据集,以确定被测程序的正确性和可靠性Data and Computation 4Th, CS of ZJU, PHEI 8概述机器语言汇编语言高级语言面向过程面向对象其他高级语言函数型说明型超文本标记语言-网络编程关系数据库语言组建(中间件)Data and Computation 4Th, CS of ZJU, PHEI 95.2 编程语言Truth:计算机只能执行机器语言程序,因此任何语言编写的程序,最终都要转化为机器语言程序机器语言:二进制代码CPU都有一整套的专门操作-指令和指令系统指令与CPU类型相关,例如 x86, x6
5、4Data and Computation 4Th, CS of ZJU, PHEI 10机器语言和汇编语言数据传输类指令:将数据源传输到目的(存储器等)算术逻辑类指令:包括算术运算和逻辑、比较运算,操作对象是数据控制操作类指令:实现程序的不同执行结构有条件转移和无条件转移;Data and Computation 4Th, CS of ZJU, PHEI 11指令系统的主要类型MemoryInputOutput控制器ALUFor Example:2+3=5命令:输入222命令:输入333Write Write ReadRead235OutAdd+Data and Computation 4T
6、h, CS of ZJU, PHEI 12用文字符号来表示指令-助记符CPU所有指令助记符的集合以及使用规则汇编语言(Assemble Language)。例子(汇编语言的一条加法语句) ADD A,B将存储地址A和B的内容相加,结果存储在A中特点汇编语言可读性较二进制指令好。必须熟悉计算机硬件结构、指令系统和指令格式等面向计算机硬件的语言,程序移植性差汇编程序将汇编语言源程序翻译为机器语言程序Data and Computation 4Th, CS of ZJU, PHEI 13汇编语言在Windows命令行状态下执行 debug(x64需要加装DOSBox和Debug)输入:-a-mov
7、ax,1 -mov cx,2 -add ax,cx 退出编程状态(直接回车) -u 100 (以汇编语言显示-上述窗口)Data and Computation 4Th, CS of ZJU, PHEI 14Example汇编语言(Assemble Language)就是CPU所有的指令助记符以及相应的编程规则汇编语言源程序用汇编语言编写的程序源程序需要翻译为机器语言程序-汇编汇编程序完成汇编任务汇编程序是把汇编语言源程序转换为机器语言程序的程序-awkward-sounding移植性较差汇编语言与硬件密切相关的语言Data and Computation 4Th, CS of ZJU, PH
8、EI 15汇编语言High Level Language 与机器硬件关系密切的,叫做 Low level, 如汇编语言与机器硬件几乎无关的,叫做 High level介于之间的,叫做Middle Level 高级语言20世纪60年代表达形式更接近与被描述问题的语言(English)Now:面向过程、面向对象Great Progress!有程序员这个职业了!软件成为专业、学科Data and Computation 4Th, CS of ZJU, PHEI 16高级语言命令型范式,强制性语言每个语句都是为完成一个特定的任务而对计算机发出执行的命令BasicC有高级语言的优点,又有汇编语言的效率,
9、So -“中级语言”可操作对内存单元,适合编写硬件操作又要求处理速度的程序Fortran第一个高级语言:IBM公司在1957年开发的,解决数学计算 Cobol商用程序设计语言Ada语言美国国防部开发署(DoD)专用Data and Computation 4Th, CS of ZJU, PHEI 17面向过程的高级语言系统软件开发首选语言应用很广Java C+ 源于C很多系统为C语言保留接口如各种统计软件流行效率高表达简洁适合表述和实现算法Data and Computation 4Th, CS of ZJU, PHEI 18C语言面向对象型范式Object-Oriented Paradigm
10、/Programming,OOPData and Computation 4Th, CS of ZJU, PHEI 19面向对象的编程语言什么是编程(从算法的角度)?最简单的答案:定义数据,对这些数据操作数据是属性(Property),操作是行为(Action)什么是对象?一个驾驶者准备开车(对象),需要对车(对象)了解些什么?Data and Computation 4Th, CS of ZJU, PHEI 20Whats OBJECT答案:需要了解车的基本数据(排量、邮箱、车长),了解车的操控(自动、手动、刹车、油门)数据是对象(车)的属性,后者是车(对象)的行为And, 驾驶者不需要了解
11、车是如何开起来的如果一个程序被定义为Class-程序单元其内有其属性和行为使用者通过Class就可以使用程序单元Class(类),一个独立的程序单元,包括属性及行为Object通过Class定义,就可以使用Class的数据和操作不需要知道实现的细节面向对象的编程语言提供了定义对象、使用对象的语句Data and Computation 4Th, CS of ZJU, PHEI 21Class 和 Object另一个例子动漫产品是类,给出其公共特性(材质、产地)和行为(如售价)Kitty、加菲猫、哆啦爱梦就是有这个动画产品的“对象”封装(Encapsulation)类(对象)的属性和操作构成一个
12、独立体Data and Computation 4Th, CS of ZJU, PHEI 22面向对象的特点继承(Inheritance)子类可以拥有父类的属性和行为提高了软件代码的复用性多态性(Polymorphism)对象可以具有不同的行为多态是一种运算特性,例如”(减,符号)OOP扩展了多态机制-方法可以有多种实现结构设计提供了灵活性减少了信息冗余,提高了软件的可扩展性Max(a,b)Max(a,b,c)Max(a,b,c,d)Visual Basic简称VB,BASIC引入面向对象的设计方法已经淡出Data and Computation 4Th, CS of ZJU, PHEI 23
13、常用的OOP语言Python可以通过发出命令执行程序任务提供了大数据处理的许多功能JAVA基于CSun Microsystem公司开发纯面向对象、平台无关、多线程、高安全性解决了困扰软件界多年的软件移植问题C+基于C语言的面向对象的扩展它在C语言的基础上增加了面向对象程序设计的支持SQL 数据库语言(Next Chapter)。Data and Computation 4Th, CS of ZJU, PHEI 24其他编程语言函数型语言主要有LISP和Scheme大数据平台采用的程序设计方法源于此说明型语言 Prolog也叫逻辑语言,根据逻辑推理的原则回答问题人工智能语言超文本链接标记语言(h
14、tml) 由一种格式标记何超链接组成的“伪语言”主要用于网络上的信息服务。翻译程序本身也是程序,任务是把源程序翻译为目标程序翻译程序功能解释程序 - 同声翻译逐句翻译,翻译一句执行一句(类型命令模式)编译程序 - 书面翻译源程序一次性翻译成目标程序代码,生成可执行文件编译完成,程序就可以被单独执行Data and Computation 4Th, CS of ZJU, PHEI 25程序的程序-翻译系统高级语言程序(源)机器语言程序(目)翻译系统高级语言运算数据类型语句编程工具,集成(编辑、调试)开发环境程序员更注重程序逻辑函数/方法Data and Computation 4Th, CS o
15、f ZJU, PHEI 26高级编程语言编程区输入/输出区编程文件浏览存储器单元常量(Constant)常量在程序执行过程中,固定不变的量常量两种:文字常量(1,3.0)、符号常量(PI, MAX)变量(Variable)变量:可被改变的量,使用标识符(变量名)标记在内存的位置程序只需要对这个变量进行赋值、运算即可变量:先定义后使用Maybe:使用变量前必须先给变量赋一个初值Data and Computation 4Th, CS of ZJU, PHEI 27数据类型数据存放在存储器,标识其存放位置标识符(Label)命名运算对象mX1,2,1301.0, 2.0, -0.05,A, a,
16、x, 9,基本数据类型: 整数,实数,字符Data and Computation 4Th, CS of ZJU, PHEI 28构造数据类型构造数据类型,派生数据类型基本类型+数据结构 新的、复杂数据类型语句 Statement程序执行的动作,被翻译程序翻译成一条或几条指令 赋值语句 x 3 按规则将一个值存入到变量名所代表的存储单元中表达式语句: 不同(运算符连接)表达式构成的语句复合语句用大括号将多行语句定义为一个语句称为复合语句(语句块)程序将复合语句当做一个语句进行处理转移语句: 著名的goto语句返回语句 子程序使用Return语句可以将运算结果返回调用程序。输入、输出语句Data
17、 and Computation 4Th, CS of ZJU, PHEI 29基本语句实现分支结构的语句根据条件决定程序下一步该执行程序的哪一条语句或语句块Data and Computation 4Th, CS of ZJU, PHEI 30分支语句实现循环结构的语句大多数高级语言有多种循环语句Data and Computation 4Th, CS of ZJU, PHEI 31循环语句(Loop)子程序,一段能够完成某种功能的代码函数(Function)- 大多数语言使用的名词方法(Method) - 主要是Java使用的名词Data and Computation 4Th, CS o
18、f ZJU, PHEI 32函数和方法主程序调用返回子程序函数/方法主程序调用参数实参( Actual parameter )子程序接收参数形参( Formal parameter )规则:实参和形参三个一致类型、数量、顺序子程序的类型就是返回值的类型程序设计是一个系统过程通常把这个过程分为6个步骤问题的定义设计方案编码测试编写文档运行维护Data and Computation 4Th, CS of ZJU, PHEI 33怎样编写程序No.1清晰、明确的定义是解决问题过程中最重要的一步25% 30% and More几个问题:程序目标是什么?可能需要输入哪些数据?数据具体的处理过程和要求是
19、什么?程序可能产生的数据输出以及输出形式是什么?Data and Computation 4Th, CS of ZJU, PHEI 34理解问题No.2 程序设计设计具体的解决方案关键-设计算法、合适的逻辑结构确定程序范式,选择编程技术(语言)程序运行在网络中还是单台机器上如有旧的程序在运行,新程序如何与之兼容No.3Coding!Data and Computation 4Th, CS of ZJU, PHEI 35程序设计和编码调试已编好的程序找出程序中的逻辑错误和语法错误违反语法规则,就会发生语法错误程序结果不对,这是逻辑错误程序测试测试程序中的错误, 而不是使得程序中没有错误”。常用的
20、测试方法有:黑盒测Beta()版(测试版)白盒测-专业测试,输入一组特意设计的数据让程序执行,测试程序是否按照设计流程要求执行Data and Computation 4Th, CS of ZJU, PHEI 36寻找错误:程序测试Grace Hoppe程序文档设计文档使用说明文档形式有两种:一种是在代码行后面加注释一种是按照一定规则专门编写运行与维护程序的安装、系统配置对用户的培训软件维护Data and Computation 4Th, CS of ZJU, PHEI 37文档、运维程序开发到最后不再使用的时间ExampleWindows的版本更新,Windows 1.0Windows10查看你的微信版本?搜索一下,微信有多少个版本?And,版本维护?Data and Computation 4Th, CS of ZJU, PHEI 38软件的生命周期时尚?Dispute:YESNO In factMost people are not suitable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滑雪板固定器行业行业发展趋势及投资战略研究分析报告
- 2025年中国高低压配电柜市场深度分析及投资战略咨询报告
- 业务信息佣金合同范例
- 传统师承合同范本
- 分销白酒合同范本
- 乐器供销合同范例
- 交工验收质量检测合同范例
- 农村小型承包设备合同范本
- 2025年度房地产项目风险评估尽职调查合同
- 2025年度古董鉴定与买卖服务合同
- 知识库管理规范大全
- 2024年赣州民晟城市运营服务有限公司招聘笔试参考题库附带答案详解
- 领导干部报告个人事项
- 9这点挫折算什么(课件)-五年级上册生命与健康
- 价格监督检查知识培训课件
- 驻场保洁方案
- 中国心理卫生协会家庭教育指导师参考试题库及答案
- 智能广告投放技术方案
- 知识产权保护执法
- 高质量社区建设的路径与探索
- 数字化时代的酒店员工培训:技能升级
评论
0/150
提交评论