简答程序设计基础期末复习题
程序设计基础知识(简答题)

1.请简述程序设计的一般步骤。
(1)分析问题:(2)设计算法;(3)选择程序设计语言;(4)编写程序代码2.请说明算法的五个基本特征,并进行简要的分析①确定性:算法的每一种运算必须要有确切的定义,即每一种运算应该执行何种动作必须是相当清楚的、无二义性的。
②输入:一个算法有0个或多个输入,这些输入是在算法开始之前给出的量,它取自特定的对象集合③输出:一个算法产生一个或多个输出,这些输出是同输入有某种特定关系的量。
④有穷性:一个算法总是在执行了有穷步的运算之后能够终止,且每一步都可在有穷时间内完成。
这里的有穷的概念不是纯数学的,而是在实际上是合理的,可以接受的。
⑤可行性:每个算法都可以有效地执行,并能得到确定的结果3.算法的表示方法有哪些?常用的算法表示方法有自然语言、流程图、N-S图、伪代码等①自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁性,容易产生歧义。
②流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观更容易理解③N-图:它是一种简化的流程图,去掉了流程图中的流程线,全部算法写在一个矩形框内。
④伪代码:介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法限制。
例如:If(明天不下雨)Then(我们骑车去郊游)表示“如果明天不下雨,那么我们骑车去郊游如果一种算法描述中既出现了自然语言,又出现了程序语言中的关键字(变量名不算关键字),则这种算法描述方法就是伪代码。
4.简述算法的三种基本控制结构①顺序结构:按照语句的先后顺序执行即为顺序结构,是算法中最简单的一种结构。
②选择结构:根据条件的不同,程序执行不同的语句,即为选择结构。
③循环结构:根据约束条件的不同,多次重复执行某一条或多条语句的结构,称为循环结构。
C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。
1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。
以下是程序的运行示例:```1至100之间的所有偶数的和为2550。
```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。
以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。
《程序设计基础》期末复习

《程序设计基础》期末复习一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。
A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。
A 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。
A 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。
A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。
A 运算器、控制器和寄存器B 运算器、控制器和存储器C 控制器D 运算器和存储器6、硬盘是______。
A 输入设备B 输出设备C 存储设备D 计算设备7、系统软件的核心软件是______。
A 操作系统B 编译程序C 汇编程序D 机器语言8、下面4句话中,最准确的表述是______。
A 程序=算法+数据结构B 程序是使用编程语言实现算法C 程序的开发方法决定算法设计D 算法是程序设计中最关键的因素9、程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,它是______。
A 结构化设计方法B 模块化程序设计方法C 面向对象的程序设计方法D 数据结构优先原则10、计算机能直接执行的语言是______。
A 机器语言B 汇编语言C 高级语言D 目标语言11、汇编程序的任务是______。
A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序12、世界上第一个高级语言是______。
A BASIC语言B C语言C FORTRAN语言D PASCAL语言13、下面4种程序设计语言中,不是面向过程式语言的是______。
A FORTRANB ALGOLC AdaD C++14、下面4种程序设计语言中,不是面向对象式语言的是______。
年国家开放大学电大《程序设计基础》期末考题汇总

年国家开放大学电大《程序设计基础》期末考题汇总.期末考试程序设计基础试题一、单项选择题(每空22分.共030分)11.当代计算机的最主要的体系结构称为是()。
AA.冯·诺依曼机BB.非冯·诺依曼机CC.图灵机DD.LPASCAL机22.现代电子计算机诞生的理论基础是()。
AA.图灵机BB.图灵测试cc.冯·诺依曼机DD.邱奇论题33.计算机软件是指()。
AA.计算机程序BB.源程序和目标程序CC.源程序DD.计算机程序及其有关文挡44.计算机能直接执行的语言是())。
AA.机器语言BB.汇编语言CC.高级语言DD.目标语言55.AJAVA语言的类别是()。
AA.面向过程的程序设计语言BB.面向问题的程序设计语言CC.面向对象的程序设计语言DD.面向硬件的程序设计语言66.在CC语言中,字符串常量的定界符是( )。
AA。
空格BB.单引号CC.双引号DD.方括号77.CC语言中tint变量能够表示的数值范围是()。
A.--32767—32768B.--32768~32767C.0~65535D.O--6553688.CC语言中的循环控制语句中属于“直到型”循环的语句是( )。
A.gotoB.whileCC.forD.do--while99.数据的存储结构分为两种,它们是()。
AA.线性存储和数组存储BB.顺序存储和链式存储CC.线性存储和树型存储DD.数组存储和指针存储10.如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过())。
AA.元素在内存中的相对位置表示逻辑次序BB.保存在元素中的指针表示先后次序CC.设立单独的区域存储元素之间的逻辑次序DD.元素本身的关键字来表示逻辑次序11.栈的最主要特点是()。
AA.先进先出BB.先进后出CC.两端进出DD.一端进一端出.12.数据结构主要研究下面33方面的内容()。
A.数据的逻辑结构、存储结构和运算BB.数据的线性结构、树型结构和图结构CC数据的顺序存储、链式存储和散列存储DD.数据的线性结构和非线性结构,以及相关运算13.进行顺序查找的条件是()。
程序基础设计期末试题答案

程序基础设计期末试题答案一、选择题1. 在面向对象编程中,封装的主要作用是:A. 隐藏对象的实现细节B. 提高代码的复用性C. 增强程序的安全性D. 优化程序的性能答案:A2. 下列哪种数据结构在插入和删除元素时不需要重新排列其他元素?A. 链表B. 数组C. 栈D. 队列答案:A3. 以下哪个关键字在Java中用于定义一个类?A. interfaceB. staticC. classD. public答案:C4. 在C++中,动态内存分配可以使用哪个操作符?A. newB. deleteC. thisD. nullptr答案:A5. 以下哪种排序算法在最坏情况下拥有最好的性能?A. 冒泡排序B. 快速排序C. 归并排序D. 选择排序答案:C二、填空题1. 在软件开发过程中,__________方法是一种通过原型制作来逐渐完善系统的过程。
答案:迭代2. 数据库管理系统(DBMS)的主要功能是管理__________和__________。
答案:数据、信息3. 在HTML中,用于创建超链接的标签是__________。
答案:a4. 软件测试的目的是__________和__________软件中的缺陷。
答案:发现、修复5. 算法的时间复杂度表示了算法执行时间与输入数据量之间的关系,它通常用__________表示。
答案:大O符号三、简答题1. 请简述面向对象编程的三个基本特征。
答:面向对象编程的三个基本特征包括封装性、继承性和多态性。
封装性是指将对象的数据和行为包装在一起,对外隐藏实现细节。
继承性允许新的类继承现有类的属性和方法,从而提高代码的复用性。
多态性是指允许使用子类的对象来替代父类的对象,使得同一个方法或属性可以在不同的对象中具有不同的表现形式。
2. 什么是软件设计模式?请举例说明。
答:软件设计模式是在特定上下文中解决常见问题的一套经典解决方案。
它们是对在软件开发过程中经常遇到的问题的一种经验总结。
程序设计基础期末考试复习题及参考答案-专科

《程序设计基础》复习题一、单项选择题1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.以下选项中,不能作为合法常量的是A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0 6.若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. x数组和y数组长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. 以上三种说法均错误。
7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。
8.对于语句,int x,y,z[10],*px,*py; 指出下列哪个语句是不正确的( )A. px=&x,py=pxB. px=xC. py=&yD. px=z9.在printf语句中按字符串输出的格式是( )A. “%s”B. “%c”C. “%f”D. “%d”10.C语言中,运算对象必须是整型的运算符是( )A. %B. /C. %和/D. >=11.以下说法正确的是( )A. C语言程序总是从第一个定义函数开始执行;B. 在C语言程序中,要使用的函数必须在main()函数中定义;C .C语言程序总是从main()函数开始执行;D. C语言程序的main()函数必须在程序的开始部分。
编程基础期末考试卷答案

编程基础期末考试卷答案一、选择题1. C2. B3. A4. D5. C二、填空题1. 变量2. 函数3. 条件语句4. 循环结构5. 面向对象编程三、简答题1. 算法是一系列解决问题的步骤,它具有确定性、有穷性、可行性的特点。
2. 程序设计语言是用于编写计算机程序的一组语法规则,它使得人类能够与计算机进行交流。
3. 数据结构是计算机存储、组织数据的方式,它影响着数据的访问、管理效率。
四、编程题1. 编写一个程序,实现输入两个整数,输出它们的和。
```pythona = int(input("请输入第一个整数:"))b = int(input("请输入第二个整数:"))print("两个整数的和是:", a + b)```2. 编写一个程序,实现判断一个数是否为素数。
```pythondef is_prime(n):if n <= 1:return Falsefor i in range(2, int(n0.5) + 1):if n % i == 0:return Falsereturn Truenum = int(input("请输入一个整数:"))if is_prime(num):print(f"{num} 是一个素数。
")else:print(f"{num} 不是一个素数。
")```五、应用题1. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
```pythondef calculator():while True:print("\n简易计算器")print("1. 加法")print("2. 减法")print("3. 乘法")print("4. 除法")print("5. 退出")choice = input("请选择一个操作(1-5):")if choice == '1':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} + {b} = {a + b}")elif choice == '2':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} - {b} = {a - b}")elif choice == '3':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} * {b} = {a * b}")elif choice == '4':a = float(input("输入被除数:"))b = float(input("输入除数:"))if b != 0:print(f"{a} / {b} = {a / b}")else:print("除数不能为0。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简答程序设计基础期末复习题一、名词解释:CAD,CAM,CAI,CPU,CASE。
2、CAD:计算机辅助设计(Computer Aided Design)3、CAM:计算机辅助制造(Computer Aided Manufacturing)4、CAI:计算机辅助教学(Computer Aided Instruction)5、CPU:中央处理器6、CASE:计算机辅助软件工程二、简述计算机硬件与软件的关系。
计算机硬件与软件的关系主要体现在以下三个方面:(1)互相依存。
计算机硬件与软件的产生与发展本身就是相辅相成、互相促进的,二者密不可分。
硬件是软件的基础和依托,软件是发挥硬件功能的关键,是计算机的灵魂。
在实际应用中更是缺一不可,硬件与软件,缺少哪一部分,计算机都是无法使用的。
(2)无严格界面。
虽然计算机的硬件与软件各有分工,但是在很多情况下软硬件之间的界面是浮动的。
计算机某些功能既可由硬件实现,也可以由软件实现。
随着计算机技术的发展,一些过去只能用软件实现的功能,现在可以用硬件来实现,而且速度和可靠性都大为提高。
(3)相互促进。
无论从实际应用还是从计算机技术的发展看,计算机的硬件与软件之间都是相互依赖、相互影响、相互促进的。
硬件技术的发展会对软件提出新的要求,促进软件的发展;反之,软件的发展又对硬件提出新的课题。
三、简述计算机程序设计语言的分类和各类的特点。
一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。
机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,其机器语言通常是不同的。
由于机器语言是面向具体机器的,所以其程序缺乏通用性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读性极差。
汇编语言是机器语言的符号化形式。
用汇编语言编写的程序(又称源程序)经汇编器加工处理后,就转换成可由计算机直接执行的目标程序。
汇编语言提高了程序设计效率和计算机利用率。
汇编语言仍属面向机器的一种低级语言,其程序的通用性和可读性较差。
高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以编写程序。
采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便可运行,只要采用这些计算机上的编译程序重新编译即可。
高级语言具有通用性,与具体的机器无关。
四、冯·诺伊曼原理的主要思想是什么?"冯·诺伊曼原理"的主要思想就是"存储程序控制"原理。
"存储程序控制"原理的基本内容是:l用二进制形式表示数据和指令;l将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行,这是"存储程序控制"的基本特点;l确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
冯·诺依曼型计算机的两大特征是"程序存储"和"采用二进制"。
冯·诺伊曼思想实际上是电子计算机设计的基本思想,奠定了现代电子计算机的基本结构,开创了程序设计的时代。
五、何谓算法?算法有什么性质?算法就是为解决一个特定问题而采取的特定的有限的步骤。
一个完整的计算机算法必须满足下述5个准则或标准:有穷性,确定性,可行性,输入性,输出性。
具有上述5个特性才能称为算法,而其中最重要的是算法的有穷性,如果不具备有穷性的性质,仅具有另外4种性质,只能称为计算过程或计算方法,而不是算法。
六、执行高级语言编写的程序一般要经过怎样的编译过程?高级语言源程序经编译后得到目标码程序,但它还不能立即装入机器执行,编译后得到的目标模块还需进行连接。
连接程序找出需要连接的外部模块并到模块库中找出被调用的模块,调入内存并连接到目标模块上,形成可执行程序。
执行时,把可执行程序加载到内存中合适的位置(此时得到的是内存中的绝对地址)就可执行产生运行结果。
源程序目标程可执行程序结果编译连接执行七、高级语言解释执行的一般步骤是什么?解释执行有什么缺点?解释执行需要有一个解释程序,它将源代码程序逐句读入,然后直接分析语句的含义,立刻给出执行结果。
由于解释执行时只看到一个语句,难于优化、执行效率较低。
八、请简要介绍面向过程式语言中的三种程序设计的基本结构。
顺序结构是指按先后顺序从前到后执行的语句序列。
这些语句逻辑上可能有明确的顺序关系,即后一个程序语句依赖于前一个语句,也可能它们之间没有明确的顺序关系,即某些语句的先后顺序并不重要,一个语句逻辑上并不从属于另一些语句。
选择结构是指根据判定条件控制一些语句是否执行的语句。
选择结构可用if-then、if-then-else或case(或switch)等语句进行描述。
当判定条件成立时需要执行一组语句,且不成立时不需要执行这些语句,那么应当采用if-then语句。
当判定条件成立时需要执行一组语句,否则需要执行另一组语句时,可采用if-then-else语句。
当根据表达式的取值情况在多个动作中选取其一执行时,可采用case语句。
循环结构是指可重复执行一组语句(称为循环体)的程序语句。
根据重复方式的不同,循环结构可分为while型循环、until型循环和for型循环。
while型循环是在指定的条件(称为循环条件)成立时,重复执行循环体,其特点是执行循环体前先判定循环条件,因此可能一次也不执行循环体。
until型循环将重复执行循环体,直到循环条件成立才结束该重复,其特点是每执行一次循环体后判定循环条件,因此至少执行一次循环体。
for型循环将循环体重复执行给定次数,其特点是循环开始前可确定循环次数。
九、什么是面向过程式语言?有什么特点?面向过程式语言,也叫命令式语言或强制式语言,它是通过指明一列可执行的运算及运算的次序来描述计算过程的语言。
命令式语言以冯·诺依曼式计算机体系结构为背景。
机器语言与汇编语言是最早问世的命令式语言。
FORTRAN,ALGOL,COBOL,PASCAL,C,Ada等高级语言也属过程式语言,其变量对应于存储单元,对变量的访问就是对相应存储单元的访问。
各个语句在程序中的顺序以及转向语句等控制语句则明确规定了机器的执行步骤,这就是冯·诺依曼式体系结构的思维方式在程序设计中的反映。
过程式语言程序的本质是重复地、按步地计算低级(非抽象)值并将之赋给变量(对象),这就迫使程序人员去关心比较低级的细节,而这不适用于设计复杂算法。
因此,几十年来过程式语言一直向着隐蔽低级机器属性、提高程序层次与抽象性的方向发展。
十、结构化程序设计方法的主要技术是什么?结构化程序设计方法的主要技术是自顶向下、逐步求精。
具体地说,就是在接受一个任务之后,纵观全局,先设想好整个任务分为几个子任务,每一个子任务又可以进行细分,直到不需要细分为止。
这种方法就叫做"自顶向下、逐步求精"。
采用这种方法考虑问题比较周全,结构清晰,层次分明。
用这种方法也便于验证算法的正确性。
在向下一层细分之前应检查本层设计是否正确,只有上一层是正确的才可以继续细分。
如果每一层设计都没有问题,则整个算法就是正确的。
由于每一层向下细分时都不太复杂,因此容易保证整个算法的正确性。
检查时也是由上而下逐层检查,这样做思路清晰,可以有条不紊地一步一步地进行,既严谨又方便。
十一、结构化程序设计的主要特征与风格是什么?结构化程序设计的主要特征与风格如下所述。
(1)一个程序按结构化程序设计方式构造时,由三种基本控制结构:顺序结构、选择结构和循环结构构成。
(2)有限制地使用goto语句。
鉴于goto语句的存在使程序的静态书写顺序与动态执行顺序十分不一致,导致程序难读难理解,容易存在潜在的错误,难于证明正确性,有人主张程序中禁止使用goto语句,但有人则认为goto语句是一种有效设施,不应全盘否定而完全禁止使用。
结构程序设计并不在于是否使用goto语句,因此作为一种折衷,允许在程序中有限制地使用goto语句。
(3)往往藉助于体现结构化程序设计思想的所谓结构化程序设计语言来书写结构化程序,并采用一定的书写格式以提高程序结构的清晰性,增进程序的易读性。
(4)它强调了程序设计过程中人的思维方式与规律,是一种自顶向下的程序设计策略,它通过一组规则、规律与特有的风格对程序设计细分和组织。
对于小规模程序设计,它与逐步精化的设计策略相联系,即采用自顶向下、逐步求精的方法对其进行分析和设计;对于大规模程序设计,它则与模块化程序设计策略相结合,即将一个大规模的问题划分为几个模块,每一个模块完成一定的功能。
十二、什么是软件?什么是软件工程?计算机系统中的程序及其文档称为软件。
其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。
细言之,软件一词具有三层含义。
一为个体含义,即指计算机系统中的程序及其文档;二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦即计算机系统中硬件除外的所有成分;三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。
软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
它借鉴了传统工程的原则、方法,以提高软件质量,降低开发成本为目的。
其中,计算机科学、数学用于构造模型和算法,工程科学用于制订规范、设计范型、评估成本等,管理科学用于计划、资源、质量、成本等管理。
软件工程是一门交叉性学科,迄今为止,软件工程的研究与应用已取得很大成就,大大缓解了软件危机,但是软件的开发还是一项艰巨的任务,对于软件的如何组织和开发还在不断地发展之中。
十三、在软件工程过程中围绕着工程设计、工程支持和工程管理应当遵循什么基本原则?围绕工程设计、工程支持以及工程管理,提出了以下四条基本原则:第一条原则是选取适宜的开发模型。
该原则与系统设计有关。
在系统设计中,软件需求、硬件需求以及其它因素之间是相互制约、相互影响的,经常需要权衡。
因此,必须认识需求定义的易变性,采用适宜的开发模型予以控制,以保证软件产品满足用户的要求。
第二条原则是采用合适的设计方法。
在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。
合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
第三条原则是提供高质量的工程支持。
在软件工程中,软件工具与环境对软件过程的支持颇为重要。
软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
第四条原则是重视开发过程的管理。
软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。