计算机软件技术基础(1)]

合集下载

计算机软件技术基础知识点总结

计算机软件技术基础知识点总结

《计算机软件技术基础》第一章算法1.1算法的基本概念算法:指解题方案的准确而完整的描述算法的基本特征:能行性(算法中的每一个步骤必须能够实现;算法执行的结果要能够达到预期的目的)确定性(算法中的每一个步骤都必须是有明确定义的,不能摸棱两可,也不能有多义性)有穷性(算法必须能在执行有限个步骤之后终止)拥有足够的情报(算法执行的结果总是与输入的初始数据有关。

不同输入对应不同输出)算法:是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。

算法的基本要素:1.算法中对数据的运算和操作(算术运算、逻辑运算、关系运算、数据传输【赋值、输入、输出】)2.算法的控制结构(算法中各操作之间的执行顺序)1.2算法描述语言C语言描述和简单的算法描述语言(1)符号与表达式:符号主要用以表述变量名、数组名等(2)赋值语句(3)控制转移语句:无条件转移语句形式:GOTO 标号条件转移语句形式IF C THEN SIF C THEN S1ELSE S2(4)循环语句WHILE语句:WHILE C DO SFOR语句:FOR i=init TO limit BY step DO S(5)其他语句EXIT语句:退出某个循环,使控制转到包含EXIT语句的最内层的WHILE或FOR循环后面的一个语句去执行RETURN语句:结束算法的执行(允许使用用引号括起来的注释信息)READ(INPUT)和WRITE(PRINT/OUTPUT)语句:用于输入输出(6)算法中的注释总是用一对方括号【】括起来;复合语句用一对花括号{}括起来1.3算法设计基本方法1.列举法【例1.1】基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的(通常解决“是否存在”“有多少种可能”类型问题)特点:算法比较简单,但列举情况较多时,工作量将很大寻找路径、查找、搜索等问题采用列举法有效2.归纳法基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系3.递推法(数学例题)指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果(本质属于归纳法)4.递归基本思想:将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些简单的问题后,再沿着原来分解的逆过程逐步进行综合【例1.3】自己调用自己的过程称为递归调用过程递归分为直接递归:一个算法P显式地调用自己间接递归:算法P调用另一个算法Q,而算法Q又调用算法P5.减半递推技术(分治法)减半:将问题的规模减半,而问题的性质不变递推:重复“减半”的过程【例1.4】6.回溯法通过对问题的分析,找出一个解决问题的线索;然后沿着这个线索逐步试探。

02243计算机软件基础(一)

02243计算机软件基础(一)
第7页
世界上第一台电子计算机ENIAC
诞生于1942年
18800个晶体 管
70000个电阻 器
18000个电容 器
重量30吨
耗电140千瓦 /h
5000次加法/s
第8页
Pentium IV(2000)
42,000,000个晶体管 时钟频率1.5GHz 运算速度为1700 MIPS (MIPS 代表‘百万指令
第 26 页
软件工程概念
软件工程是指导计算机软件开发和维护的工程学 科,采用工程的概念、原理、技术和方法来开发 与维护软件。
贯穿于这一学科的基本线索是软件生命期学说, 它告诉软件研制者和维护者“什么时候做什么以 及怎么做”。
软件生命期就象人的寿命一样,从出生算到死亡, 从产生开发要求算到软件报废为止。包括:软件 计划、需求分析、软件开发和软件维护四个时期。
汇编语言 为符号化的机器语言。它用助记 符和标识符代替机器指令的操作码和地址码。
高级语言 是一种与具体的计算机指令系统 无关,独立于计算机类型,而且表达方式接 近于自然语言或数学语言,容易被人们掌握 和书写的语言。如C,Pascal,java。
第 17 页
举例
任务:x+1→x 机器语言
00111110 00001001 00111111B 或 3E 09 3FH
3、硬件与软件的关系
软硬件独立原理和互动原理
独立原理:软件理论上能实现的功能本质上与 硬件是独立的(不管硬件是何种形式) 互动原理:软件实际能实现的功能受制于硬件, 硬件发展一个台阶,软件就能前进一大步
软硬件等效定律
简单的硬件+复杂的软件 简单的软件+复杂的硬件 最终都可以完成同一个任务,不同的只是时间!

14秋天大《计算机软件技术基础(1)》在线作业一答案

14秋天大《计算机软件技术基础(1)》在线作业一答案

《计算机软件技术基础(1)》在线作业一1. 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()。

A. 工程资源管理器窗口B. 工具箱窗口C. 代码窗口D. 属性窗口正确答案:C 满分:5 分得分:52. 下面哪条语句可以正确地声明一个动态数组:()。

A. Dim A(n) As IntegerB. Dim A(1 To n) As IntegerC. Dim A() As IntegerD. Dim A( , ) As Integer正确答案:C 满分:5 分得分:53. 从键盘上输入两个字符串,分别保存在变量str1、str2中。

确定第二个字符串在第一个字符串中起始位置的函数是()。

A. LeftB. MidC. StringD. Instr正确答案:D 满分:5 分得分:54. 下列叙述中正确的是()。

A. 在窗体的Form_Load事件过程中定义的变量是全局变量B. 局部变量的作用域可以超出所定义的过程C. 在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程D. 在调用过程时,所有局部变量被系统初始化为0或空字符串正确答案:C 满分:5 分得分:55. 设标签Label1的Caption属性值为默认值,则该标签控件Name属性和Caption属性的值分别为()。

A. “Label”、“Label”B. “Label1”、“Label1”C. “Label”、“Label1”D. “Label1”、“Label”正确答案:B 满分:5 分得分:56. 下面的动作中,不能引发一个按钮Click事件的是:()。

A. 在按钮上单击B. 在按钮上右击C. 把焦点移至按钮上,然后按回车键D. 如果按钮上有快捷字母,按“Alt+该字母”正确答案:B 满分:5 分得分:57. 在窗体Form1的Click事件过程中有以下语句:Label1.Caption=”Visual BASIC”设标签的原Caption属性值为默认值,则该语句执行之后该标签控件Name属性和Caption属性的值分别为()。

四川大学《计算机软件技术基础》2018至2019学年期末试题(一)

四川大学《计算机软件技术基础》2018至2019学年期末试题(一)

四川大学期末考试试题(开卷)(2018——2019学年第 1 学期) A卷课程号:课序号:课程名称:任课教师:成绩:试卷编号:8. 设有如下的单链表的按序号查找的算法,其时间复杂度为()。

LinkNode *GetNode(Linklist head, int i) {int j;ListNode *p;P = head; j=0;while(p->next && j<i){ p = p->next; j++;}if(i==j)return(p);elsereturn(NULL); }A. O(n2)B. O(n)C. O(n3)D. O(logn)9. 假定一个链式队列的队首和队尾指针分别用front和rear表示,每个结点的结构为:,当出列时所进行的指针操作为()A. front = front->next;B. rear = rear->next;C. front->next = rear; rear = rear->next;D. front = front->next; front->next = rear;10. 如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是()。

A. e3,e1,e4,e2B. e2,e4,e3,e1C. e3,e4,e1,e2D. 以上均有可能11. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。

当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。

A. 1和5B. 2和4C. 4和2D. 5和112. 判断一个顺序栈ST(最多元素为mo)为空的条件是()。

A. ST->top <> 0B. ST->top == 0C. st->top <> moD. st->top == mo13. 有一个N×N的下三角矩阵A,若采用行优先进行顺序存储,每个元素占用k个字节,则A ij(1≤i ≤N,1≤j≤i)元素的相对字节地址(相对首元素地址而言)为()A. (i×(i+1)/2+j-1)×4B. (i×i/2+j)×4C. (i×(i-1)/2+j-1)×4D. (i×(i-1)/2+j)×414. 一个数组元素a[i]与()的表示等价。

计算机软件技术基础_实验指导书

计算机软件技术基础_实验指导书

《计算机软件技术基础》实验指导书编写:XXX适用专业:电器工程与自动化通讯工程电子信息工程安徽建筑工业学院电子与信息工程学院2007年9月实验一:线性链表的建立、查找、插入、删除实验实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习,要求学生能够通过单链表的存储结构,掌握单链表的基本操作,包括单链表的建立、查找、插入、删除、输出等操作。

通过本实验可以巩固学生所学的线性表知识,提高编程能力,为后继课程的学习奠定基础。

二、实验内容1、为线性表{10,30,20,50,40,70,60,90,80,100}创建一个带头结点的单链表;2、在该链表上查找值为50,65的结点,并返回查找结果(找到:返回在县新链表中的位置);3、在该链表上值为50的结点后,插入一个值为120的结点;4、删除该链表上值为70的结点。

写出各操作的实现函数,并上机验证。

三、实验原理、方法和手段使用带头结点的单链表的表示线性表,通过实验,熟悉链表的创建、查找、插入、删除、输出等是链表的基本操作。

具体如下:(1)首先定义单链表的节点结构;(2)在单链表创建过程中,首先初始化一个带头结点的空链表,对线性表中的各元素依次通过键盘输入、建立该元素结点、插入到单链表中,实现单链表的创建过程;结点的插入有头插入和尾插入两种方法,采用不同方法时应注意元素的输入顺序。

(3)查找过程可以从头结点开始,将待查找的数据依次与每个结点的数据域比较,匹配及查找成功,弱链表访问完未找到匹配的元素,则查找不成功。

为能够返回查找成功的结点位置,在链表的搜索过程中,应设置一个计数器,记录搜索结点的序号;(4)插入结点时,首先要通过查找算法,找到带插入结点的前驱结点,然后为带插入元素建立结点,通过指针的修改,将结点插入。

(5)删除结点时,首先要通过查找算法,找到待删除结点的前驱,然后通过指针的修改,将待删除结点从链表中卸下,释放该结点。

(6)以上操作的正确性,均可以通过链表的输出结果来验证。

计算机软件技术基础教程(第二版)习题及答案

计算机软件技术基础教程(第二版)习题及答案

第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。

2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。

3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。

4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。

1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。

2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。

1)软件规模越来越大,结构越来越复杂。

2)软件开发管理困难而复杂。

3)软件开发费用不断增加。

4)软件开发技术落后。

5)生产方式落后。

6)开发工具落后,生产率提高缓慢。

3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。

2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。

软件技术基础知识

软件技术基础知识

软件技术基础知识第一章1、算法和算法的特点2、数据结构:指相互关联的数据元素的集合。

数据结构分为逻辑结构和物理结构。

逻辑结构:表示了数据的逻辑关系(前后件关系)。

按照逻辑关系的不同分为:线形结构和非线形结构。

物理结构:表示了数据在计算机上的存放形式,也称存储结构。

按照存放形式的不同分为:顺序存储和链式存储。

3、线形结构的条件:4、线形结构通常称之为线性表。

顺序存储的线性表称为顺序表,链式存储的线性表称为线性链表。

5、对与空的数据结构可以为线性结构也可以为非线性结构。

6、顺序表和线性链表的特点。

7、栈和队列的特点。

8、栈和队列可以采用顺序存储也可以采用链式存储。

9、双向链表和循环队列。

10、树和二叉树11、二叉树的基本性质①第k层最多具有的结点数。

②深度为k的二叉树最具有的结点数。

③任何二叉树对为0的结点数和度为2的结点数的关系。

12、满二叉树的特点。

13、完全二叉树的特点。

14、二叉树的遍历15、顺序查找适用的情况。

对长度为n的线形表进行顺序查找最坏的情况需要查找的次数。

16、二分法查找适用的情况。

对长度为n的线形表进行二分法查找最坏的情况需要查找的次数。

17、排序的分类。

交换类排序:冒泡排序法,最坏的情况需要比较的次数。

插入类排序法,堆排序法。

第二章1、编程的良好习惯要求:根据需要添加相应的注释,应该有良好的视觉组织,在完成功能的前提下,优先考虑可读性和清晰性,然后在考虑效率。

2、注释的分类:序言性注释和功能性注释。

3、结构化程序设计的原则。

4、结构化程序设计的基本结构。

5、对象是属性和行为的封装体。

6、对象的基本特点:标识唯一性,分类性,多态性,封装性,摸快独立性。

7、类和实例之间的关系。

类是具有共同属性和方法对象的集合,是关于对象的抽象,一个具体的对象则称之为类的一个实例。

8、消息。

9、继承、多态性。

第三章1、软件的定义及软件的特点软件是程序、数据及相关文档的集合。

特点:2、软件危机是开软件过程中所遇到的一系列的严重问题。

计算机软件技术的基础知识

计算机软件技术的基础知识

2、 数据结构基础
●基本概念和术语
(2)数据元素 (data
(1)数据(data): element): 是数据的
是客观事物的符号表示, 基本单位。有些情况下,
它能够被计算机识别、 储存和加工处理。它是
数据元素又称为元素、 结点(node)、记录 (record)。有时,一
计算机程序加工处理的 个元素可由若干数据项
e.排序操作:按给定要求对表中元素重新排 列。
并非任何时候都需要同时执行以上运算,对 于不同问题中的线性表,所需要执行的运算可能 不同。一般给出一组基本的运算,对于实际问题 中所涉及的更为复杂的运算,可以用基本运算的 组合来实现。
(3)线性表的存储结构
线性表的存储结构有两种:顺序存储结构和
链式存储结构。

L24
图3-2 链式存储结构示意图
结点1 结点2
结点3
结点4 结点5
由图3-2可见,数据元素之间的逻辑关系 是用指针来链接的。对于每个数据元素,除 了元素值以外,还有一个指针(或链)用来 指示另一个数据元素的地址。我们将这个由 数据元素的值和指针组成的总体称为结点, 表示一个数据元素。链表中各结点的位置在 内存中是任意的,通过指针将它们联系起来。 逻辑上最后的结点指针不指向任何地方,常 用“∧”表示。
如图3-2所示。
3-1所示。
由图3-1可知顺序结 构存储有以下特点:
A.存储结构的存储 密度大,存储空间利用 率高。
B.能够快速、随时 访问其中任意元素。
C.对该表进行插入 或删除操作时,为保证 线性表的连续性,则会 引起大量数据元素的移 动。
D.存储容量不宜扩 充。
……
…… ……
元素地址 内存状态 L1 元素1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ቤተ መጻሕፍቲ ባይዱ
End Sub 5.执行下面程序,单击窗体后,窗体上显示的第一行结果是 ,第三行结果是 。 Private Sub Form_Click() Dim Mystr As String Dim Mystr1 As String Dim Mystr2 As String Mystr1 = "B" For i = 1 To 3 Mystr2 = LCase(Mystr1) Mystr1 = Mystr1 & Mystr2 Mystr = Mystr & Mystr1 Print Mystr Mystr1 = Chr(Asc(Mystr1) + i) Next End Sub 6、执行下面程序,窗体上显示的结果是什么?
Dim m As Integer, n As Integer, k As Integer n=20:k=1 For m=1 to n Step k Print m n=n-1 k=k+2 Next Print n,k
7、下面程序段执行完毕,窗体上显示的结果是什么?
Dim b As Integer,k As Integer b=1 For k=1 To 6 b=b*k If b>=20 Then Exit For Else k=k+1 End If Next k Print k,b
计算机软件技术基础(1)复习题
一、判断题 1、VB编译生成的可执行文件不再需要工程文件与各个模块文件。( ) 2、VB程序中不区分代码字符的大小写。( ) 3、当把浮点数赋给整型变量时,会出现溢出错误。( ) 4、在同一作用域中,变量名不能重复。( ) 5、日期时间型变量既可以保存日期值,也可以保存时间值,但不能同 时保存日期和时间值。( ) 6、框架控件和形状控件都不能响应用户的鼠标单击事件。( ) 7、当定时器控件的Interval属性值为0时,会连续不断地发送Timer事 件。( ) 8、一个菜单项是不是分隔条,由Caption属性决定。( ) 9、可以通过语句代码使一个单选框组中的所有单选框均为不选定状 态。( ) 10、Windows下窗体的子菜单最多有5级。( ) 答案: F T T T F F F T T T 二、单项选择题 1.多个语句可以书写在同一行上,但它们之间要加 A): B); C) , D)、 2.在窗体Form1的Click事件过程中有以下语句: Label1.Caption=”Visual BASIC” 设标签的原Caption属性值为默认值,则该语句执行之后该标签控件 Name属性和Caption属性的值分别为 A)“Label1”、“Visual BASIC” B)“Label1”、“Caption” C)“Label”、“VisualBASIC” D)“Label”、“Label1” 3.下面几对数据类型中,哪一对所占的内存大小一致: A)Integer、Single B) Integer、Boolean C) Date、Single D) Long、Variant 4.下面哪条语句可以正确地声明一个动态数组: A) Dim A(n) As Integer B) Dim A(1 To n) As Integer C) Dim A() As Integer D) Dim A( , ) As Integer 5.如果在模块的声明段中有Option Base 0语句,则在该模块中使用Dim
答案:1、 207.36 4 3、5 0 0 5、Bb
2、12 6 6 4、abcdef fedcba BbCcEe
BbCc
6、1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 41
7、7,15
8、 15,54 四、程序设计 1.编写递归函数求1+2+3+……+m的值。 2.设一窗体上有文本框、按钮、列表框各一个,在文本框中输入任意一 个英文句子(包含多个词),单击按钮,程序将该句分解为单词,每一 个单词作为一个条目添加到列表框中。 3.编程计算20+21+22+23+···+210的值。 4.一个共有15个台阶的楼梯,从下面走到上面。一次只能迈一个台阶 或两个台阶,并且不能后退,走完这个楼梯共有多少种方法。 答案: 1、Private Function Add(n As Integer) As Integer If n = 1 Then Add = 1 Exit Function End If Add = m + Add(m - 1) End Function 2、Private Sub Command1_Click() Dim str1 As String Dim str2 As String Dim int1 As Integer
a(7,3 To 5)声明的数组有 个元素 A) 21 B) 28 C) 24 D)32 6.菜单控件没有下面哪一个属性: A)Caption B)Checked C)Enabled D)Value 7.一个菜单项是不是一个分隔条,是由: 属性决定的 A) Name B)Caption C)Enabled D)Visible 8.以下面哪种方式打开的文件,只能读不能写: A) Input B)Output C)Random D)Append 9.下列函数中,返回值是字符串的是: A) Chr B) InStr C) Val D) Asc 10.调用一次Circle方法,不能绘制出下面哪个图形: A)圆弧 B)椭圆弧 C)扇形 D)螺旋线 答案: B A B C C B B A A D 三、读程序,写结果 1.下面程序段执行完毕,窗体上显示的结果是什么? Dim b As Single,k As Integer b=0.2 p=100 n=0 Do p=p*(1+b) n=n+1 Loop until p>200 Print p,n 2.下面程序段在窗体上输出的是什么? Dim i As Integer, j As Integer Dim k As Integer For i=1 To 10 Step 3 For j=0 to 10 If j>=5 Then i=i+4:Exit For j=j+1 k=k+1 Next If i>8 Then Exit For Next Print i,j,k
3.下面程序段在窗体上输出的是什么? Dim a(4,4) As Integer Dim nc As Integer,nr As Integer Dim I as Integer,j As Integer ,k As Integer Nc=4:nr=1:I=1:j=1 For k=1 To 16 A(I,j)=k If I<nc And j=nr Then I=I+1 ElseIf I=nc And j<nc Then J=j+1 ElseIf I>nr And j=nc Then I=I-1 ElseIf I=nr And j>nr+1 Then Nc=nc-1 Nr=nr+1 End If Next Print a(4,2),a(3,3),a(2,2) 4.运行下面的程序,单击窗体后,从键盘上输入字符串“abcdef”,窗 体上显示 的第一行结果为 ,第二行输出结果为 。 Private Sub Try(c As String, d As String) Dim a As String Static i As Integer i=i+1 a = Mid(c, i, 1) If a <> "" Then Try c, d d=d&a End Sub Private Sub Form_Click() Dim s1 As String, s2 As String s1 = InputBox("输入一个字符串") Try s1, s2 Print s1 Print s2
8、对下面程序,单击窗体后,在文本框Text1和Text2中显示的内容分 别是什么?
Provate Sub Form_Click()
Dim x As Integer, y As Integer X = 1 : Y =5 Do While x < 15 Y=y + x X=x+2 Loop Text1.Text=x Text2.Text=y End Sub
3、2047
Private Sub Form_Click() Dim x As Integer, sum As Integer x = 1: y = 1 For I = 1 To 10 x=x*2 sum = sum + x Next Print sum End Sub 4、至少有119级台阶 Private Sub Command1_Click() Dim int1 As Integer Do If int1 Mod 2 = 1 And int1 Mod 3 = 2 And int1 Mod 5 = 4 _ And int1 Mod 6 = 5 And int1 Mod 7 = 0 Then Text1.Text = int1 Exit Do End If int1 = int1 + 1 Loop End Sub
str1 = Text1.Text int1 = 1 Do Do While Mid(str1, int1, 1) <> " " And int1 <= Len(str1) str2 = str2 & Mid(str1, int1, 1) int1 = int1 + 1 Loop List1.AddItem str2 str2 = "" int1 = int1 + 1 Loop While int1 <= Len(str1) End Sub
相关文档
最新文档