当前位置:文档之家› 第三章计算机软件

第三章计算机软件

计算机与信息学院
在计算机中,算法是指 A)查询方法 B)加工方法 C)解题方案的准确而完整的描述 D)排序方法
计算机与信息学院
算法的性质
有穷性:算法在执行有穷个计算步骤后必须终止。
确定性:算法中的操作,要含义确切、无二义性。
有效性:算法中的每一个步骤都必须是可执行的,并
得到正确有效的结果。
计算机与信息学院
高级语言的分类:
面向过程的语言:用计算机能够理解的逻辑来描述需要解决 的问题和解决问题的具体方法和步骤。即写程序时,不仅要 说明做什么,还要非常详细地告诉计算机如何做。如高级语 言C、QB等。 面向问题的语言:也称非过程化语言。它摆脱了计算机的内 部逻辑,不关心问题的求解算法和求解过程,只需指出问题 是要计算机做什么,数据的输入和输出形式,就能得到所需 结果。如数据库查询语言SQL。
计算机基础教程
第 4章 程序设计基础
计算机与信息学院
4.1 程序与程序设计
计算机与信息学院
程序与程序设计
程序:是计算机为完成某一个任务所必须执行的一系 列指令的集合。如厨师炒菜。
计算机与信息学院
程序设计 是根据计算机要完成的任务,提出需求,设计数据 结构和算法,编制程序和调试程序,使计算机程序 能够正确完成所设定的任务。 简单地讲,程序设计是设计和编写程序的过程。
计算机与信息学院
自然语言:用人们常用的语言表示。 示例:输入100个学生的数学成绩,
求总成绩和平均成绩。
自然语言 传统的流程图法 N-S流程图法 伪代码法 计算机语言
算法表示: 步骤1:置初态,累加器sum为0, 学生人数i为1,平均分ave为0; 步骤2:输入第一个学生的数学成绩;
机中运行所占用的空间的大小。
算法的易理解性:是衡量一个算法优劣的重要指标, 因为算法需要提供给别人去阅读、编写相应的程序 以及进行修改和维护。
计算机与信息学院
算法的时间复杂度是指 A) 执行算法程序所需要的时间 B) 算法程序的长度 C) 算法程序中的指令条数 D) 算法执行过程中所需要的基本运算次数 算法的空间复杂度是指 A) 算法程序的长度 B) 算法程序中的指令条数 C) 算法程序所占的存储空间 D) 算法执行过程中所需要的存储空间
示例4.2算法表示 main() { int mark ,sum = 0, i = 1; 自然语言 float ave = 0.0; while( i <= 100) 传统的流程图法 { printf("请输入学生成绩"); N-S流程图法 scanf(“%d”,& mark ); sum = sum + mark; 伪代码法 i = i + 1; } 计算机语言 ave = sum / 100; printf("100个学生总分为:%d", sum); print f("100个学生平均成绩为:%f",ave); }
计算机与信息学院
程序设计语言的基本成分与语法
程序的基本成分
字符集:是构成程序设计语言的最小语法单位。
数据类型:基本数据类型(数值、字符、逻辑等)和构 造数据类型(数组、记录、枚举等)两大类。其使用 目的,一是决定该类型数据的取值形式、范围和在计
算机中的存储与表示方式。二是决定了该类型的数据
操作性:有意义的程序总是对某些对象进行操作,使其 改变状态,完成其功能。
计算机与信息学院
编写好的计算机程序有很多特点,不是计算机程 序特点的是 A) 操作性 B) 无序性 C) 分步性 D) 目的性
计算机与信息学院
程序设计语言
程序设计语言:是人与计算机交流和沟通的工具。 是用来编写计算机程序的工具。又称计算机语言。
在不同的程序设计语言中用不同的语句或函数来实现。
如C语言的数据输入和输出: printf(“%d”,x); scanf(“%d”,&x); C语言的数据输出 C语言的数据输入
计算机与信息学院
基本控制结构 顺序结构:程序的执行是按照语句出现的先后顺序依 次执行。 选择结构:指根据条件判断,决定程序的执行顺序。 循环结构:是指重复执行某个操作。
解释程序
高级语言源程序
执行结果
计算机与信息学院
编译方式:翻译工作由“编译程序”来完成。这种方式
如同“笔译”,在纸上记录翻译后的结果。编译程序对整
个源程序经过编译处理后,产生一个与源程序等价的目标 程序,但目标程序还不能立即装入机器执行,因为还没有 连接成一个整体。在目标程序中还可能要调用一些其他语 言编写的程序和标准程序库中的标准子程序,所有这些程
计算机与信息学院
计算机语言经历了由低级到高级,按其发展过程 可分为 A) 机器语言、汇编语言、面向过程语言 B) 机器语言、汇编语言、面向对象语言 C) 机器语言、汇编语言、高级语言 D) 机器语言、面向过程语言、高级语言
计算机与信息学院
汇编语言和高级语言都需要翻译为机器语言才 可以执行 这种翻译工作由语言处理程序完成 不同的语言由不同的语言处理程序翻译。互不 通用
计算机与信息学院
下面叙述正确的是 A) 算法的执行效率与数据的存储结构无关 B) 算法的空间复杂度是指算法程序中指令(或语 句)的条数 C) 算法的有穷性是指算法必须能在执行有限个步 骤之后终止 D) 以上三种描述都不对
计算机与信息学院
算法的表示方法
五种方法 自然语言 传统的流程图法 N-S流程图法 伪代码法 计算机语言
输入:算法需从外界得到必要的信息,一个算法有零 个或多个输入。 输出:算法必须告知外界获得的结果,一个算法有一 个或多个输出。
计算机与信息学院
算法评价
正确性 算法的时间特性:是指依据算法编制成程序后在计算
机中运行所耗费时间的长短 。
算法的空间特性:是指依据算法编制成程序后在计算
程序设计语言的演变:机器语言、汇编语言和高级
语言。
计算机与信息学院
机器语言
每一条语句是一条二进制形式的指令代码。
Hale Waihona Puke 其指令格式如图: 操作码行速度快,占空间小。
操作数
特点是难学、难记、难写,难修改、难调试 ,但执
示例:计算AL=9+8,机器语言程序如下: 10110000 00001001 :把9放入累加器AL中
C语言的语言处理程序有vc……
计算机与信息学院
汇编程序: 是将汇编语言编制的程序(称为源程序)翻译成机 器语言程序(称为目标程序)的工具。 其工作过程如图示:
连接程序
汇编语言 源程序
汇编程序
目标程序
可执行程序
计算机与信息学院
高级语言处理程序有2种工作方式
解释
编译 解释方式:工作由“解释程序”来完成。解释程序对源 程序进行逐句分析,若没有错误,将该语句翻译成一条 或多条机器语言指令,然后立即执行这些指令;若当它 解释时发现错误,会立即停止,报错并提醒用户更正代 码。也就是说,解释程序对源程序逐条地解释执行,不 产生目标代码。程序执行时,解释程序和源程序一起参 加运行。工作过程如图所示。
步骤3:进行累加,求学生成绩的和;
步骤4:重复步骤2~步骤3,直到处 理完全部学生成绩; 步骤5:求平均成绩; 步骤6:输出总成绩和平均成绩; 步骤7:结束。
计算机与信息学院
传统的流程图法: 用图框、线条及文字表示。 流程图符号含义:
自然语言 传统的流程图法 N-S流程图法 伪代码法 计算机语言
00000100 00001000 :8与累加器AL中的值相加,结果仍放入AL中 11110100 :停止操作
计算机与信息学院
汇编语言:
用一些容易记忆和辨别的有意义的符号即“助词符”
代替机器指令的语言叫汇编语言。
需要由汇编语言系统将程序汇编(翻译)成机器语
言,才能执行。 是一种面向机器的语言,但比机器语言易读、易改, 执行速度与机器语言相仿。 示例:计算AL=9+8,汇编语言程序如下: MOV AL,9 ADD AL,8 HLT 计算机与信息学院
计算机与信息学院
三种基本结构:
自然语言 传统的流程图法 N-S流程图法 伪代码法 计算机语言
计算机与信息学院
自然语言
传统的流程图法
N-S流程图法
伪代码法 计算机语言
计算机与信息学院
自然语言
传统的流程图法
N-S流程图法
伪代码法
计算机语言
序通过连接程序将目标程序和有关的程序库组合成一个完
整的可执行程序,如图所示。 高级语言 源程序
编译程序 连接程序
目标程序
可执行程序
计算机与信息学院
能将高级语言源程序转换成目标程序的是 A) 调试程序 B) 解释程序 C) 编译程序 D) 编辑程序
计算机与信息学院
将高级语言编写的程序翻译成机器语言程序,采 用的两种翻译方式是 A) 编译和解释 B) 编译和汇编 C) 编译和链接 D) 解释和汇编
高级语言
一种与机器指令系统无关,独立于机器的程序设计 语言。
使用的符号非常接近人类的自然语言与数学语言, 表达形式接近于被描述的问题。程序的算法也接近 于对问题的求解过程。
便于书写、易于掌握,可移植性强。 示例:用高级语言C编程如下: main( ) { int AL; AL=8+9; printf(“%d”,AL); }
计算机与信息学院
4.2 算

计算机与信息学院
算法概述
算法:
在计算机中,把解题过程准确而完整地描述称为解 该题的算法。 程序是用计算机语言表述的算法。
流程图是图形化的算法。 注意:算法虽然是解决问题的方法和步骤,但它不是 计算机可以直接执行的,只是编制程序代码前对问题 处理思想的一种描述,只有将算法转变为程序才能让 计算机求解问题!
相关主题