第1章 程序设计概述_第1页
第1章 程序设计概述_第2页
第1章 程序设计概述_第3页
第1章 程序设计概述_第4页
第1章 程序设计概述_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第1章 程序设计概述,计算机由硬件系统和软件系统两部分组成。只有通过运行软件,计算机才能发挥作用,解决实际问题。而一个软件是由计算机程序及其相关文档构成的,因此程序设计是实现计算机应用的核心和基础。 本章介绍程序设计的基本知识和相关概念。,2,第1章 程序设计概述,1.1 程序和程序设计的概念 1.2 算法概述 1.3 结构化程序设计方法,3,1.1 程序和程序设计语言,1.1.1 程序和程序设计的概念 什么是程序? 为了解决某一特定问题用某一种计算机语言编写的指令序列称为程序。 什么是程序设计? 程序是程序设计的结果,在执行程序前必须先排定程序,排定以时间为进程必须完成的各种操作叫程序设

2、计。,4,1.1.2 程序设计语言 程序设计语言是一组定义计算机程序的语法规则。 程序设计语言按级别可以分为低级语言和高级语言。 低级语言有机器语言和汇编语言 主要由机器基本指令集构成。依赖计算机硬件且编写复杂、费时,容易出错,修改维护困难,但运行效率高。 高级语言有面向过程、面向对象和面向问题的语言 类似人类自然语言,一定程度上与计算机硬件无关,容易学习和使用且便于维护,但运行效率不如低级语言。,5,1.1 程序和程序设计语言,1.1.2 程序设计语言 第一代程序设计语言(1GL):机器语言 第二代程序设计语言(2GL):汇编语言 第三代程序设计语言(3GL):高级语言 面向过程 如:For

3、tran、Basic、Pascal、C等 面向对象 如:C+、VB、Dephi等 第四代程序设计语言(4GL):面向问题语言 非过程化程度高 如:结构化查询语言 SQL,6,1.2 算法概述,1.2.1 算法的概述 算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。著名瑞士计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 程序= 数据结构 + 算法 数据结构主要是数据的类型和数据的组织形式,是对程序中数据的描述。 算法则是对程序中操作的描述,也就是操作步骤。算法本身独立于计算机,但它的具体实现则由计算机完成。 处理一个问题,可以有不同的算法。(求1100间偶数之和),7,1

4、.2 算法概述,1.2.2 算法的表示 (1) 自然语言 (2) 流程图 (3) N-S图(盒图) (4) 伪代码,8,1.2 算法概述,例:求1100之间所有的偶数之和。 用自然语言描述算法 S1:假设记数变量i初始值为1; S2:假设求和变量sum初始值为0; S3:如果i=50,执行s4,否则转出执行s7; S4:计算sum+i的值后,重新赋值给sum; S5:计算i+1,然后将值重新赋值给i; S6:转去执行s3; S7:计算sum*2的值,输出sum的值,算法结束。,9,1.2 算法概述,起止框,流程线,输入输出框,判断框,处理框,10,1.2 算法概述,例:求1100之间所有的偶数

5、之和。,(2)用流程图描述算法,开始,i=1;sum=0;,i=50,sum=sum*2;,sum=sum+i;,i=i+1;,输出sum,结束,否,是,11,N-S的基本符号,12,1.2 算法概述,例:求1100之间所有的偶数之和。,(3)用N-S图(盒图)描述算法,13,例:求1100之间所有的偶数之和。 (4)用伪代码描述算法 BEGIN /*算法开始*/ i1; /*为记数变量i赋初值*/ sum0; /*为求和变量sum赋初值*/ while i=50 /*当i=50时,执行循环体*/ sum sum+i; ii+1; sum2*sum; 输出sum的值 END /*算法结束*/,

6、14,1.3 结构化程序设计方法,1.3.1 结构化程序基本控制结构,结构化程序设计方法由著名的计算机科学家E.W.Dijkstra和N.Wirth等人在20世纪60年代后期提出并逐渐发展起来,其基本思想是采用“自顶向下、逐步求精、分而治之”的原则。 按照结构化程序设计的观点,任何算法功能都可以通过三种基本控制结构以及它们的嵌套组合来实现,这三种结构就是顺序结构、选择(分支)结构和循环结构。,15,1.3 结构化程序设计方法,1.3.1 结构化程序基本控制结构,顺序结构 顺序结构是依次执行指令的结构。即程序中的指令按照顺序执行,每条指令都必须执行,且执行一次。,16,1.3 结构化程序设计方法

7、,1.3.1 结构化程序基本控制结构,2. 选择(分支)结构 选择(分支)结构是根据逻辑判断的结果,做不同的处理。最典型的是双分支选择结构。,17,1.3 结构化程序设计方法,1.3.1 结构化程序基本控制结构,3. 循环结构(当型循环结构) 循环结构是指当条件满足时,反复执行某语句组的操作,直到条件不满足时为止。,18,1.3 结构化程序设计方法,1.3.1 结构化程序基本控制结构,3. 循环结构(直到型循环结构) 循环结构是指当条件满足时,反复执行某语句组的操作,直到条件不满足时为止。,19,1.3 结构化程序设计方法,1.3.2 结构化程序设计的原则和步骤,设计一个结构化的程序,一般应遵循以下几个原则: 使用语言中的顺序、选择、循环等基本控制结构表示程序的逻辑; 选用的控制结构只准许有一个入口和出口; 语句组成容易识别的块,每块只有一个入口和出口; 复杂结构应该用基本控制结构进行组合嵌套来实现; 尽量避免使用跳转语句(如 GoTo、Break等语句),20,1.3 结构化程序设计方法,1.3.2 结构化程序设计的原则和步骤,结构化程序设计,通常包括以下6个主要步骤: 问题分析; 建立数学模型; 算法设计; 程序编码; 测试; 建立程序文档。,21,本章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论