《【教学课件】第6章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章程序设计基础.ppt(24页珍藏版)》请在三一办公上搜索。
1、1,第6章 程序设计基础,本章主要内容:6.1 程序设计的一般过程6.2 程序设计方法6.3 程序设计语言,2,6.1 程序设计的一般过程,计算机程序是用某种计算机能理解并执行的计算机语言来描述解决某一问题的方法和步骤。计算机按程序规定的步骤执行,完成指定的功能。程序设计的任务:分析解决问题的方法和步骤(算法),并将问题解决的步骤用计算机语言来描述;片面理解:程序设计就是编写一个程序!,3,程序设计的一般过程,问题定义 算法设计 程序编制 调试运行 文档,4,1.分析问题,输入处理输出确定计算机要“做什么”?任意给出十个数,求最大数及最小数;对于复杂问题分析,需要借助一些工具、模型、方法等;,
2、5,2.算法设计,什么是算法?算法(Algorithm)是对处理问题步骤的描述,是程序设计的思路,说明计算机要解决该问题要“怎么做”。算法不能被计算机理解、执行,只是写程序代码之前对处理思想的一种描述。注意:对于如何解决问题没有一个清晰的思路之前就急于编写程序,结果编程思路紊乱,很难得到预想的效果。,6,算法的表示方法1)自然语言描述2)伪代码(Pseudo code)3)流程图(Flow chat)算法好坏衡量 时间复杂度 空间复杂度,7,3.程序编制(编码),选择编程工具,按算法编写程序规范化:名称要有意义(常量、变量、函数、过程名等);注释结构清晰明了,8,4.调试运行,程序错误类型语法
3、错误逻辑错误,9,5.文档,文档记录程序设计的算法、实现以及修改过程,保证程序的可读性和可维护性(注释、算法描述)需求分析报告、概要设计、详细设计、测试文档、用户手册(工具软件帮助文档),10,6.2 程序设计方法,早期程序设计:运行速度快,占用内存少(算法效率)计算机硬件的发展软件规模的扩大现在,程序具有良好的结构:结构清晰、易于阅读和理解,易于分工合作编写和调试以及维护(开发效率高,易于维护,程序更加健壮、成本大为降低),11,一、结构化程序设计程序设计方法:“自顶向下,逐步求精”控制结构“单入口单出口”(模块化的分析方法)二、面向对象程序设计,12,二.面向对象的程序设计(OOP),面向
4、过程(process-oriented programming,POP)采用函数(或过程)来描述对数据的操作,但将函数与其操作的数据分离开来;数据和施加于数据的操作是独立设计的,以对数据进行 操作的过程作为程序的主体。作为对现实世界的抽象,函数和它所操作的数据是密切相关、相互依赖的,特定的函数往往要对特定的数据进行操作 实质上的依赖,形式上的分离;,13,二.面向对象的程序设计(OOP),面向对象程序设计(object-oriented programming,OOP)则以对象作为程序的主体,对象是数据和操作的“封装体”structclass对象基本特征:抽象、封装、继承、多态优点:对于简单的
5、任务,面向对象会显得比较麻烦;而对于大的任务及构造开发平台,面向对象具有的封装及其他优势为软件重用提供了绝好的手段。开发时间短,效率高,可靠性高,更易于维护、更新和升级,所开发的程序更加的健壮,14,6.3 程序设计语言,1.语言的分类 机器语言(面向机器)汇编语言(面向机器)高级语言(面向应用)2.语言的执行方式3.常用的高级语言,15,机器语言,能被计算机直接理解和执行,以“0”和“1”组成的二进制编码来表示命令 0100 B201 0102 B402优点:计算机能直接识别、执行效率高缺点:难书写、难记忆、编程困难、可读性差且容易出现编写错误;因机器而异,可移植性极差。,16,汇编语言,用
6、助记符和符号地址来代替机器指令中的操作码和操作数。汇编程序翻译成机器指令才能执行;MOV DL,01 MOV AH,02优点:比机器语言更易掌握,比其他高级语言执行效率高,目前许多系统软件的核心部分仍采用汇编语言编制。缺点:仍然是面向机器的语言,与具体计算机硬件有密切关系;较难掌握,必须对硬件非常了解。,17,高级语言,更接近自然语言和数学语言的程序设计语言;优点:符合人们叙述问题的习惯,最接近自然语言而且简单易学,容易理解;缺点:需要将高级语言翻译成机器指令,才能被计算机识别执行,因此执行效率较前两种低;,18,2.语言的执行方式,(1)编译将高级语言编写的程序(源程序)经过编译程序翻译,形
7、成可由计算机执行的机器指令(目标程序)的过程.优点:目标程序代码可优化,执行效率高;缺点:调试较困难,需借助工具软件;C,C+,FORTRAN;,19,(2)解释 将源程序逐条翻译成机器指令并执行的过程,逐句翻译执行优点:易于调试,交互性强缺点:程序未经代码优化,执行效率低BASIC,JAVA,20,IDE,是指将程序编辑、编译、连接、运行、解释、调试集成在同一环境下,使程序设计者既能高效的执行程序,又能方便地调试程序、甚至是逐条调试和执行源程序(解释),21,3.常用的高级语言,传统的高级语言FORTRANBASICPASCALC:集汇编语言和高级语言的优点,适合作为系统描述语言,既可用来编
8、写系统软件,也可用来编写应用软件C+C#:更高层次的C+,提供了大量的开发工具和服务,提高了开发效率,22,网络编程语言 JAVA:语法结构与C接近;更加的简单,去掉了C语言中指针、内存申请、释放 优点:安全、跨平台、面向对象、简单、适用与网络应用的开发,23,脚本语言,不能独立运行,通常是嵌入到HTML文本中,是解释执行的功能:使得信息和用户之间不再只是静态的显示与浏览的关系,而是具备了一种实时的、动态的、交互的表达能力客户端脚本:由浏览器解释执行 VBScript、JavaScript服务器端脚本:在服务器上执行VBScript、JavaScript、Perl、PHP,24,VBScript(示例)JavaScript是一种基于对象的语言,本身内置了一些基本对象,语法结构和C/C+、java类似注意:java是又SUN公司推出的面向对象的程序设计语言;而javascript是Netscape公司的产品,是为了扩展Netscape Navigator的功能而开发的的一种可以嵌入Web页面的解释语言;开发环境简单,不需要JAVA编译器,直接运行在Web浏览器中。,