欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    03第三讲.ppt

    • 资源ID:70309584       资源大小:164KB        全文页数:49页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    03第三讲.ppt

    1.程序单元:程序执行过程中的独立调用单元。如子程序,分程序,过程等。2.单元表示u编译时,一个单元的源程序。u运行时,单元表示由一个代码段和一个活动记录组成,称为单元实例。3.活动记录:执行单元所需要的信息,以及该单元的局部变量所绑定的数据对象的存储区。第四节 程序单元ip代码存储器(C)数据存储器(D)4.非局部变量:一个程序单元可以引用未被本单元说明而被其它单元说明的变量。5.引用环境:局部变量+非局部变量。6.别名:同一单元的引用环境中有两个变量绑定于同一数据对象,称这些变量具有别名。7.副作用的产生:对绑定于一个非局部变量的对象进行修改。8.程序单元可以递归激活,从而一个单元可以有很多个实例,但代码段相同。不同的仅仅是活动记录。9.静态分配和动态分配 Fortran Pascal 或C 随着计算机技术的发展,计算机应用也日益广泛,已经渗透到社会的各个领域,对程序设计语言也提出了新的要求(诸如可维护性,可靠性,可移植性等),从而促进了语言的发展。第五节 程序设计语言发展简介一.早期的高级语言(50年代)追求效率1.FORTRAN FORmula TRANslation.主要用于科学计算.子程序独立编译.COMMON语句实现了模块之间的通信2.ALGOL 60 ALGOrithmic Language 60 .主要用于科学计算 .引入了分程序结构和递归过程 .采用BNF形式描述语法3.COBOL COmmon Business Oriented Language.广泛应用于各种事务处理领域.引入了文件和数据描述.类自然语言程序描述二.早期的突破 60年代初,不再盲目地追求效率,出现了基于良好刻画数学原则的语言。1.LISP.具有很强的符号处理能力.统一的数据结构.数据和程序统一的表示方法.其基础是函数和函数作用2.APL.支持函数式程序设计风格.广泛应用于涉及大量矩阵运算的科学计算中.具有丰富的操作符3.SNOBOL 4 .主要用于字符串处理 .给出了一种与机器无关的宏功能,增加了程序的可移植性三.概念的集成(64年)PL/1 .希望将所有语言概念集成大全 .分程序概念和递归过程 .数据描述机能 .动态数据结构 .异常处理 .多任务机能 .可用于科学数值计算,数据处理和开发 系统软件 .难以得到广泛的应用四.再一次突破(60年代后期)引入了许多有趣的概念1.ALGOL 68 .以零型文法描述 .引入正交性和通用性原则2.SIMULA67 .应用于模拟领域 .增加了一个特殊结构协同程序 .引入了类的概念3.PASCAL .具有明显的简洁性 .体现结构程序设计思想 .具有用户自定义类型 4.BASIC .简单易学 .交互式工作环境 .解释执行五.大量的探索 70年代,支持系统软件开发 1.语言研究 涉及抽象数据类型,异常处理和并行处理机制 2.MODULA-2 .支持模块结构,模块可以独立编译 .面向实时系统和并行系统综合功能3.C CPLBCPLBC .C的最大特点是具有高级语言和低级 语言的优点 .应用于各种领域六.Ada和第四代语言 70年代以后,注重可移植性 1.Ada .面向专门领域的特殊要求 .是在引入了一个不大的,容易理解的 概念集合的基础上开发的 .是直接体现许多现代软件设计方法学 的语言 .提高程序的可读性,可靠性,可维护性2.第四代语言超高级语言 面向问题 .表达力更强,使用更方便,更接近于 问题的描述 .着重关心的是”做什么”七.新一代程序设计语言 以抛弃冯.诺依曼概念为基础,包括函数式,对象式,逻辑式第一章习题1.必做题:1-2、1-6、1-112.思考题:1-3、1-5、1-10、1-12、1-14通 知1.本周五的课暂停一次2.答疑时间改为:第六周起,双周四下午3:00起在806第二章 数据类型 数据类型实质上是对存储器中所存储的数据进行的抽象。它包含了一组值的集合和一组操作。第一节 引言1.数据类型的作用实现了数据抽象使程序员从机器的具体特征中解脱出来提高了编程效率2.数据类型的分类内部类型自定义类型第二节 内部类型一.内部类型的特点 .反映基本硬件特性 如:定点加 .在语言级,标识共用某些操作的数据 对象的抽象表示 如:整型共用+、-、*、/二.内部类型的优越性1.基本表示的不可见性 基本位串对程序员是不可见的。25+9=34 基本表示00011001+00001001 结果00100010 从而具有优点:不同的程序设计风格,可写性,可读性,可修改性。2.编译时能检查变量使用的正确性 进行静态类型检查,如非法运算,形实参类型匹配3.编译时可以确定无二义的操作u超载(多态)的概念:运算符的意义依赖于操作数的类型。如”+”可以表示整数加或实数加u编译时,可拒绝混合运算,或提供类型转换指令u合理地使用超载,可以提高语言的可读性和可用性4.精度控制 可以通过数据类型显式定义数据的精度第三节 用户定义类型 许多语言允许程序员规定基本数据对象的聚合,乃至聚合的聚合1.笛卡尔积 N个集合A1,A2,An的笛卡尔积表示为A1A2An,它是一个集合,其元素为(a1,a2,an),aiAi 任意正多边形可表示为 integer*real2.有限映像定义:从定义域类型DT的值的有限集合,到值域类型RT的值的有限集合的函数称为有限映像。var a:array1.50 of char;表示:整数1至50到字符集的有限映像值域对象通过下标选取。下标越界会出错,动态检查 下标可用来选取值域的多个元素 SNOBOL4的ARRAY构造符并不要求值域集的所有元素是同一类型的DT到相应值的特定子集的绑定策略:.编译时绑定 (静态数组).对象建立时绑定(执行到分程序时,动态数组).对象处理时绑定(对APL,子集范围可变)3.序列序列由任意多个数据项组成,这些数据项称为该序列的成分,且类型相同串是序列顺序文件的思想也是来自序列的概念,只能顺序读写4.递归若数据类型T包含属于同一类型T的成分,那么类型T称为递归类型。允许在类型定义中使用被定义类型的名字指针是建立递归数据对象的重要手段 5.判定或 判定或是一个选择对象结构的构造机制,规定在两个不同选择对象之间作出适当的选择。每一选择对象结构称为变体。例如:PASCAL的变体记录;C的联合。6.幂集类型T的元素所有子集的集合,称为幂集,记为Powerset(T),T称为基类型。应用:每次的操作对象仅仅是某个集合的 子集。7.小结 通过PASCAL的类型定义和变量说明,给出用户定义类型显式命名的优点:可读性 (选择名字)可修改性 (不修改变量说明)可分性 (重复使用)一致性检查(参考第8节)u匿名类型var a:record x:integer;y:array1.10 of char end;u显式命名type complex=record radius:real;angle:real end;var c1,c2,c3:complex;第三节 PASCAL类型结构一.非结构类型1.内部类型 integer,real,boolean,char2.有序类型 每一元素都有唯一的前驱和后继 如:整型,布尔型,字符型3.定义新的有序类型的方法枚举型 其值不能直接读/写子界型 动态检查范围例:type day=(sunday,monday,tuseday,wednesday,thursday,friday,saturday);work_day=monday.friday;var class_day:work_day;class_day:=succ(class_day);二.聚合构造1.数组构造构造符ARRAY允许程序员定义有限映象 arrayt1 of t2PASCAL把下标类型不同的数组看成不同的类型 type a1=array1.50 of integer;a2=array1.70 of integer;“符合数组”的概念(见下页)维数相同,成分类型相同PASCAL可定义多维数组type row=array-5.10 of integer;var my_matrax:array3.30 of row;或var my_matrix:array3.30,-5.10 of integer;procedure sort(var a:arraylow.high:integer of ctype);var i:integer;more:boolean;begin sort more:=true;while more do begin more:=false;for i:=low to high-1 do begin if aiai+1 then begin move_right(i);more:=true end end endend sort;2.记录构造 构造符RECORD用以定义笛卡尔积 记录可以整体访问,也可用圆点“.”作为选择符访问单个的域 PASCAL的变体记录 使用变体记录不安全3.集合构造SET构造符是幂集构造受限制的形式基本型只能是有序类型4.文件构造PASCAL文件是任意类型的诸元素的序列PASCAL文件仅能顺序处理PUT和GET操作三.指针指针可引用匿名数据对象 NEW,堆空指针的使用指针的操作:赋值,比较PASCAL指针只能指向匿名数据对象四.小结.(P37图2-4)

    注意事项

    本文(03第三讲.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开