第15章程序设计基础.ppt

上传人:p** 文档编号:555080 上传时间:2023-10-31 格式:PPT 页数:55 大小:422.50KB
下载 相关 举报
第15章程序设计基础.ppt_第1页
第1页 / 共55页
第15章程序设计基础.ppt_第2页
第2页 / 共55页
第15章程序设计基础.ppt_第3页
第3页 / 共55页
第15章程序设计基础.ppt_第4页
第4页 / 共55页
第15章程序设计基础.ppt_第5页
第5页 / 共55页
第15章程序设计基础.ppt_第6页
第6页 / 共55页
第15章程序设计基础.ppt_第7页
第7页 / 共55页
第15章程序设计基础.ppt_第8页
第8页 / 共55页
第15章程序设计基础.ppt_第9页
第9页 / 共55页
第15章程序设计基础.ppt_第10页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第15章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第15章程序设计基础.ppt(55页珍藏版)》请在第壹文秘上搜索。

1、计算机文化基础电子教案计算机文化基础15.1.1 程序设计语言的发展程序设计语言的发展 几个主要阶段:1第一代语言 2第二代语言 3第三代语言 4第四代语言 5第五代语言 计算机文化基础15.1.2 程序设计语言的组成 每一种程序设计语言都有规定的词汇,词汇集由标识符、保留字、特殊字符、数值等组成。当我们学习每一种程序设计语言时,应该注意它的语法和语义。语法 表示语言的各个构成记号之间的组合规则。语义 表示的含义。计算机文化基础4种表示成分:数据、运算、控制和传输。1数据 描述程序所涉及的数据对象。在程序运行过程中,其值不变的数据称为“常量”,其值可以改变的数据称为“变量”;另外,有些可以不加

2、任何说明就能引用的运算过程,称为“标准函数”,其函数值可以像常量或变量一样参加运算;由常量、变量、函数、运算符和圆括号组成的式子称为“表达式”,它在程序中代表一个值。程序设计语言所提供的数据结构是以数据类型的形式表现的,程序中的每一个数据都属于某一种数据类型(整型、实型、字符型等)。计算机文化基础 2运算 描述程序中应该执行的数据操作。在程序中的运算一般都包括算术运算(加+、减-、乘*、除/、乘方)、关系运算(大于、小于=、小于等于=、不等于)和逻辑运算(与AND、或OR、非NOT)。计算机文化基础 3控制 描述程序的操作流程控制结构。在程序中只要有3种形式的流程控制结构(即顺序结构、选择结构

3、、循环结构),就足以表示出各种各样复杂的算法过程,这已从理论上得到证明。计算机文化基础 4传输 表达程序中数据的输入和输出。任一种程序设计语言都包含有编制程序所必需的最基本的语句,这些语句分别是赋值语句、输入/输出语句、选择或条件语句、转移语句、循环语句。计算机文化基础15.1.3 语言翻译器语言翻译器 源 程 序 代 码 机 器 代 码 编译器或解释器 编 译 或 解 释 执行 计算机文化基础 1.解释器 有些语言使用解释方式的语言翻译器,如BASIC、APL、Java等。我们称之解释式程序设计语言,其翻译器称为“解释器”(Interpreter)。解释器的工作方式是对你的源程序代码每转换一

4、行,就执行一行。由于这种方式一次解释一行,执行一行,解释结果并不保留,以后再次执行该程序之前,仍需同样的解释。比如有这样一个含有循环结构的QBASIC程序片段:For I=l TO 100 PRINT“I=”;I NEXT I 在100次的运行中就被翻译了100次,显然做了一些重复的工作。因此这种方式下程序执行的速度慢。计算机文化基础 2.编译器 编译器(Compiler),是指在编译过程中将你的高级语言源程序所有代码经过“编译器”转换为计算机能识别的目标程序代码。使用编译器时,如果程序有错误,必须在编译成功之前改正所有的错误。如FORTRAN、PASCAL、C等语言都是这种编译型的程序设计语

5、言。计算机文化基础 抽 象 步骤 1 步骤 N 问题世界 建立数学模型 程序世界 计算机文化基础15.2.1 过程程序设计过程程序设计 早期,人们把程序看作是处理数据的一系列过程(Procedure)。一个过程或函数(Function)是指一组特定的一个接一个顺序执行的指令,它们完成某一专门任务或计算出一个结果值。数据与过程是分离的,其程序设计的技巧主要是在处理过程之间的调用及完成任务或计算的算法,关心的是数据的变化。过程程序设计的关键是程序设计语言所提供的子程序及参数传递形式。从程序组织的角度来看,子程序是用于有组织地管理大量算法的有力工具 程序=算法+数据结构(包含数据和数据类型)计算机文

6、化基础15.2.2 模块程序设计 随着软件的发展,考虑到程序的可重复使用,人们越来越注重于系统整体关系和对数据的组织,他们把数据与操作数据的相关过程称为模块(Module),程序是根据模块的需要来划分,并使数据隐藏在模块中,其程序设计的技巧主要是模块中过程的设计,在模块中既包含具体问题的数据,又包含这些数据上的操作。由于模块程序设计是把算法和数据结构(数据和数据类型)看作一个独立功能模块,程序就被描述为:程序=(算法+数据结构)计算机文化基础15.2.3 面向对象程序设计 我们现在使用计算机的方式是利用按钮、菜单或窗口,通过选择后触发计算机去执行某一事件动作,这种编程方法称为“事件驱动”,是一

7、种交互性很强的编程方法。面向对象程序设计可以满足上述的需求,它能实现软件组件的可重用性,并把数据和操作数据的过程结合起来作为一个整体“对象”(Object),其程序设计的技巧是以“类”(Class)作为构造程序的基本单位,它具有封装、抽象、继承、多态性等特点。由于在面向对象中,算法与数据结构被结合在一起成为一个类,问题世界本身就是一个对象世界,任何对象都具有一定的属性与操作,所以,程序又被描述为:对象=(算法+数据结构)程序=(对象+对象+)计算机文化基础15.2.4 程序设计的方法 (1)分析问题:首先是明确要解决什么问题,确定所需的输入、处理和输出对象,把解题过程归纳为一系列的数学步骤,建

8、立各种量之间的关系,即建立数学模型。(2)算法设计。对所确定的解题模型提出解决的方法和步骤,选择适当的计算方法加以实现。算法设计过程中还要考虑数据的组织形式,即数据结构。(3)画出流程图。流程图是描述算法的常用工具,可以作为编写程序的依据来使用。计算机文化基础(4)编写程序。在确定算法和画出流程图后,用选定的程序设计语言编程。(5)程序调试。用测试数据对编好的程序上机调试,分析所得的运行结果,特别要注意程序中的逻辑错误。反复调试,直到运行结果正确。(6)文档整理。在程序设计的各个步骤中,都要注意建立文档资料,内容包括任务要求、算法、流程图、程序清单、输入/输出数据的内容及格式、出错处理方法等。

9、在程序设计完成时,文档资料应全部建立完毕。文档也是软件的一个组成部分。计算机文化基础 编 译 编辑源程序 编译错?连 接 连接错?运 行 运行错?结束 开始 no yes yes yes no no 计算机文化基础15.2.5 程序的调试与运行程序的调试与运行 程序中出现的错误可以分为三类:编译错误 运行时错误 逻辑错误 计算机文化基础 1编译错误。编译错误是由结构不正确的代码造成的。如果键入了一个拼写错误的关键词,遗漏了某个必需的标点符号,或使用FOR语句时丢失了与之匹配的NEXT语句等。这类错误编译系统会做出提示,指出错误所在的行号,以便我们在调试时及时发现并改正。这类错误初学习编程者容易

10、出现。计算机文化基础 2运行错误 当一条语句试图执行一个不可能执行的操作时,会发生运行错误。最常见的运行错误便是除数为0错误。如程序中含有A=B/C这样的语句。但如果在运行时,变量C的值可能为0,则该除法是一个无效的运算,而语句本身是正确的,并且变量C的值如果不是0的情况下程序是会得到正确结果的。另外,还有诸如求平方根函数的参数为负数等,这样一类错误,只有在程序运行时才能发现。计算机文化基础 3逻辑错误 当应用程序没有按预定的方式运行,则发生的是逻辑错误。一个应用程序在句法上代码有效,运行时无任何无效的操作,即未发生以上两类错误,但得不到正确的运行结果。比如,在编写求球 体 积 的 程 序 中

11、,使 用 的 数 学 公 式 为4/3*3.14159*r*r,显然正确的球体积公式应该是4/3*3.14159*r*r*r。编译系统在编译时是不能查出此类错误的,因此,这类错误具有更大的隐蔽性,只有通过已知结果的数据进行运行测试并分析后,才能发现和改正。这类错误的排除难度更大,很大程度上需要的是程序调试者的经验和耐心。计算机文化基础15.3.1 问题描述 问题描述就是要说明一些能用来解决问题的要素。一个表达清晰的问题描述就具备以下三个特征:(1)能说明描述问题的任何假设。(2)列出所有的已知条件。(3)具体说明需要解决什么问题。计算机文化基础15.3.2 算法设计 算法是解决实际问题的方法,

12、然而实际问题的解决往往会有多种方法,不同的方法也可能得到不同的结果。算法设计就是寻找一种适合的算法,那么什么是适合的算法呢?算法应具有以下特点:(1)有限性。任何一个算法应该经过有限多个操作步骤得出结果。(2)可行性。有限多个步骤应该在一个合理的范围内,且有限的时间内能够完成。(3)确定性。算法的每一步骤应该有明确的含义,无二义性。(4)输入/输出。一个算法可以定义若干个输入和输出。计算机文化基础 算法可分为两大类:数值运算算法和非数值运算方法。数值运算算法的目的是求数值解,例如,求解一元二次方程的根所用的求解算法等。而非数值运算算法,不一定有确定的数学公式,其对应的数据模型种类繁多,可以是表

13、、树、图等。计算机文化基础15.3.3 算法表示下面介绍几种常用的算法表示方法。1.自然语言 2.流程图法 3.伪代码法 计算机文化基础 1.自然语言 自然语言描述法,它是用一种接近人类语言的方法来描述算法的,它能把算法正确地表达出来,而不涉及到具体的语法细节。但它是不能被计算机识别的,需要细化后再转化为程序代码,才能为计算机所执行。例如,在计算机上计算数学、语文、英语三科的平均分。其过程用自然语言描述如下:第1步:输入数学成绩X、语文成绩Y、英语成绩Z;第2步:计算三科总分Total,Total=X+Y+Z;第3步:计算平均分Average,Average=Total/3;第4步:输出平均分

14、Average的值。计算机文化基础 2.流程图法 流程图(Flowchar)描述了计算机程序的输入、处理、输出模型的中间框图,它描述的是计算机如何一步一步地去完成指定的任务。开始 结束 过程或运算 判断 输入/输出 流程线 计算机文化基础 3.伪代码法 采用类似于某一种高级语言代码来描述算法,这种表示方法虽然不能为计算机所识别,但它稍加修改就能马上成为可执行的计算机程序。例如,求解一元二次方程ax2+bx+c=0两个实根的算法。由于该问题有现成的数学公式,我们可以直接依据数学公式来设计此算法。用伪代码法算法描述如下:计算机文化基础Input a,b,c /输入a,b,c的值;d=b2-4*a*

15、c /计算b2-4ac的值;IF(d=0)then x1=(-b+sqr(b2-4*a*c)/(2*a)x2=(-b-sqr(b2-4*a*c)/(2*a)/判断b2-4ac=0?若是,则计算两个实根;Else x1=(-b+sqr(4*a*c-b2)/(2*a)x2=(-b-sqr(4*a*c-b2)/(2*a)Endif计算机文化基础15.3.4 常用的几种算法 1.计数器 2.累加器 3.交换变量的值 N=N+l 5 N+1 变量 N 取出 存入 计算机文化基础15.4.1 顺序结构 顺序结构(Sequence Structure),就是计算机按照程序中语句的书写先后顺序,逐一执行每一条

16、语句。整个顺序结构只有一个入口和一个出口。其结构如图15-5所示。如下面一个QBASIC程序片段即是顺序结构:PRINT“R1,R2,R3,R4,U=?”INPUT R1,R2,R3,R4,U LET I=(R1+R2+R3+R4)*U PRINT “I=”;I END计算机文化基础计算机文化基础15.4.2 选择结构选择结构 语句 1 C 语句 2 A 条件?A 条件?语句 S No Yes No Yes 计算机文化基础选择结构是用IF语句来实现的。如QBASIC的IF语句为:IF (条件)THEN 语句1ElSE 语句2 END IF 如下面一个QBASIC程序片段即是选择结构:IF ab THENmax=aELSE max=b END IF计算机文化基础15.4.3 循环结构 循环结构(Loop Structure)又称重复控制结构或迭代结构。它可以使计算机反复多次执行同一段程序(循环体),节省代码,直到循环条件不满足时结束。其结构如图15-8所示。在高级程序设计语言中,基本的循环结构语句有while语句(当型循环)、do-while语句(直到型循环)和for语句(次数循环)。另

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

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