软件技术基础

软件技术基础

(Visual Basic 程序设计)实验指导书

院系:__________

班级:__________

学号:__________

姓名:__________

燕山大学计算机教学实验中心

2005年3月

说明

目前,面向对象程序设计语言VB已成为我校信息基础教学的主要内容。本实验手册包含三方面内容:实验指导、实验报告和实验作业,成为我校VB课程上机实验指导的主要依据。实验报告部分由课内实验完成,实验作业部分由学生课下完成。

本手册由燕山大学计算机基础教研室娄凤伟老师执笔,李阳明老师审核。由于编写仓促,难免有错误和不足之处,请各位老师和同学指正。

目录

实验一 VB集成环境及简单应用程序的建立 (4)

实验二 Visual Basic语言基础 (9)

实验三顺序结构程序设计 (12)

实验四选择结构程序设计 (14)

实验五循环结构程序设计 (17)

实验六数组的使用 (19)

实验七过程 (21)

实验八函数 (23)

实验九文件的基本操作 (24)

实验十 VB的窗体 (27)

实验十一 VB的常用控件(一) (29)

实验十二 VB的常用控件(二) (31)

附录考试系统模拟试题及笔试题 (33)

实验一 VB集成环境及简单应用程序的建立

一、实验目的

(1)掌握VB6.0的启动与退出。

(2)了解VB6.0的集成开发环境,熟悉各主要窗口的作用。

(3)了解VB6.0应用程序的开发过程。

(4)理解VB中对象的概念。

(5)掌握在VB6.0中使用帮助的方法。

二、相关知识

1.VisualBasic6.0的启动与退出

VisualBasic6.0的启动与退出与一般的Windows应用程序的启动与退出一样,可以通过“开始”菜单启动VisualBasic6.0,也可以将VisualBasic6.0程序以快捷方式放在桌面上,然后双击该图标将其启动;退出可以在“文件”中选择“退出”、或双击窗口控制菜单图标、或单击窗口关闭按钮。

2.VisualBasic6.0的集成开发环境

VB6.0的集成开发环境在一个公共环境中集成了设计、编辑、编译和调试等许多不同的功能,它由菜单、工具栏、工具箱、浏览器及完成各种特定功能的窗口组成。

3.VB应用程序的开发过程

VB采用的是一种“可视化”的编程方法,可以先设计应用程序的外观,然后再编写不同部件的程序代码。

4.VB中对象的概念

对象是基本的运行时的实体,它既包括了数据(对象属性),也包括作用于对象的操作(方法)和对象的响应(事件)。对象的属性用来表示对象的状态,对象的方法决定了对象可以进行的操作。不同的对象具有不同的属性和方法,VB中最主要的两种对象是窗体和控件,程序设计中,基本的设计机制就是改变对象的属性、使用对象的方法和为对象编写事件过程。5.VB6.0的帮助功能

VB6.0是VisualStudi06.0的套件之一,VB6.0本身并不带帮助,微软公司为VisualStudio6.0提供了一套MSDN Library帮助系统。MSDN(Microsoft Developer Network)是使用Microsoft开发工具或是以Windows或Internet为开发平台的开发人员的基本参考,它是一本集程序设计指南、用户使用手册以及库函数于一体的电子词典,使用MSDN Library 的帮助功能,不仅可以引导初学者入门,还可帮助各种层次的用户完成应用程序的设计。

三、实验举例

(实例1) VB的启动与退出。

(1)启动VB6.0

通过“开始”菜单启动VisualBasic6.0,操作步骤为:

①单击Windows桌面任务栏的“开始”按钮,弹出“开始”菜单,将鼠

标指针指向“程序”选项,在“程序”项的级联菜单中选中“MicrosoftVisualBasic6.0中文版”,然后在其打开的下级级联菜单中将光标条定位在“MicrosoftVisualBasic6.0中文版”命令上。

②单击鼠标左键,屏幕出现如图1-1所示的VisualBasic6.0启动画面。

③要建立一个新的工程,选择“新建”选项卡,从中选择“标准EXE”项(默认),然后单击“打开”按钮,进入如图1-2所示的VB6.0应用程序集成开发环境。

图1-1 启动VB6.0

(2)退出VB

在图1-2所示的VisualBasic 6.0应用程序集成开发环境窗口中,从“文件”菜单中选择“退出”命令、或双击窗口控制菜单图标、或单击窗口关闭按钮均可退出VisualBasic 6.0。在退出时,系统可能会提示用户保存工程文件和窗体文件,有关保存文件的操作在实例3中进行详细说明。

VB主窗口工程资源

管理器窗口工具箱

窗体窗口属性窗口

窗体布局

立即窗口窗口

图1-2 VB6.0应用程序集成开发环境

(实例2) 进入VB集成开发环境。

1.VB的三种工作模式

(1)设计模式:启动VB,选择新建一个新的工程,进入如图1-2所示的VisualBasic6.0集成环境。此时,标题栏中的标题为“工程1—MicrosoftVisualBasic[设计]”,表明集成开发环境处于设计模式。

(2)运行模式:用鼠标单击工具栏中的“ ”按钮(启动),或在“运行”菜单中选择“启动”命令,此时,标题栏中的标题为“工程1-Microsoft Visual Basic[运行],表明集成开发环境处于运行模式。

(3)中断模式:在“运行”菜单中选择“中断”命令,或按(Ctrl+Break)键,此时,标题栏中的标题为“工程1-Microsoft Visual Basic[break]”,表明集成开发环境处于中断模式。

2.VB集成开发环境中的各种窗口(如1-2所示)

(1)窗体窗口

(2)属性窗口

(3)工程资源管理器窗口

(4)代码窗口

(5)工具箱

3.打开VB集成开发环境中的工具栏

(1)在“视图”菜单中选择“工具栏”,在它的级联菜单中列出VB提供的工具栏及当前工具栏的状态。

(2)选择“编辑”命令,打开编辑工具栏。

(3)选择“窗体编辑器”命令,打开窗体编辑器工具栏。

(4)选择“调试”命令,打开调试工具栏。

(实例3) 建立一个简单的VB应用程序

首先建立一个自己的文件夹,以便将练习中生成的各种文件保存在该文件夹中,这里在E盘建立一个VBSY文件夹。

1.建立一个新的工程

启动VB 6.0,选择新建一个新的工程,此时进入到VB6.0集成开发环境,屏幕上出现一个默认的“Forml”窗体。

2.设置窗体属性

选中窗体窗口中的窗体,在属性窗口中选中(名称)属性,将其属性值改为“Frmexp”;再选中Caption属性,然后在右边列中输入“窗体”,此时窗体的标题栏变为“窗体”,窗体窗口的标题栏为“工程1—Frmexp (Form)”。

3.在窗体上绘制控件

(1)用鼠标单击工具箱中的标有“A”的按钮(标签),在窗体的合适位置画出一个矩形区域,在窗体上出现一个标签控件,用鼠标选中该控件,然

后在属性窗口中将其(名称)属性设为“LblDisp”;Caption属性设为“VB 集成开发环境”。

(2)用鼠标单击工具箱中的命令按钮,在窗体的合适位置画出一个命令按钮,用鼠标选中该命令按钮,然后在属性窗口中将其(名称)属性设为“cmdDisp”;Caption属性设为“显示”。

(3) 在窗体中再添加一个命令按钮,然后将其(名称)属性设为“cmdClear'’;Caption属性设为“清除”。窗体如图1-3所示。

图1-3窗体设计画面图1-4 代码窗口

4.编写程序代码

(1)双击“显示”按钮,打开代码窗口,如图1-4

所示,然后输入如下代码:

Private Sub cmdDisp_CliCk()

LblDiSp.ViSible = True

End Sub

(2)在代码窗口的对象列表框中选择对象“cmdClear”;在过程列表框中选择事件Click(如图1-4),然后输入如下代码:

Private Sub cmdClear_Click()

LblDisp.Visible = False

End Sub

5.运行程序

关闭代码窗口,用鼠标单击工具栏中启动按钮。此时,程序开始运行,并出现图1-5画面,单击“清除”按钮,窗口上的文字消失;单击“显示”按钮,又使文字显示出来。

图1-5 运行程序窗口

6.保存文件

在选择“文件”→“保存工程”菜单命令,或单击工具栏中的“保存工程”按钮。由于是第一次保存文件,因此在弹出的文件另存为对话框中提示保存窗体文件,将窗体文件保存在E盘的VBSY文件夹下并起名为Vbsy1_1.frm,此时,系统会继续提示保存工程文件,将工程文件也保存在E盘的VBSY文件夹下并起名为Vbsyl_1.vbp。

7.生成可执行文件

选择“文件”→“生成Vbsyl_1.exe”菜单命令,弹出“生成工程”对话框,此时可执行文件名已默认为Vblsy_1.exe,如图1-6所示。在该对话框中单击“选项”按钮,打开“工程属性”对话框,如图1-7所示,在该对话框中可以设置版本号、版本信息、编译选项等。最后单击“确定”按钮进行编译。

图1-6 “生成工程”对话框图1-7 “工程属性”对话框

8.运行可执行文件

在E盘的VBSY文件夹下双击Vbsyl—1.exe文件,运行该可执行文件。启动该程序后的窗口如图1-5所示。‘

(实例4)使用VB的帮助。

选择“帮助”→“内容”菜单命令,弹出“MSDN library Visual Studi06.0”窗口。

1.利用目录浏览主题

选择“目录”标签,在左侧主题窗口中依次单击“Ⅵsual Bask文档”→“使用Ⅵsual BaSic”→“程序员指南”→“ⅥSual BaSiC基础”→“窗体、控件和菜单”,最后选择“设计窗体”主题,此时右侧窗口中显示出相应内容。

2.利用索引查找信息

选择“索引”标签,在“键入要查找的关键字”输入框中输入“SelectCase”,此时光标定位在索引项的列表的“SelectCase块”项目上,单击“显示”按钮,右侧窗口中即显示出相应内容。

实验二 Visual Basic语言基础

一、实验目的

(1)掌握Visual Basic的数据类型和变量定义方法。

(2)正确使用Visual Basic的运算符和表达式。

(3)掌握Visual Basic中数据输入、输出的方法。

(4)掌握Visual Basic常用函数的使用方法。

(5)学会用赋值语句构造简单的顺序结构程序。

二、相关知识

1.VB的数据类型

VB提供了丰富的数据类型,所有的数据都具有数据类型,如果数据的数值和数据类型不匹配,就会出现错误或者造成内存空间的浪费。VB将数据类型分为标准数据类型和自定义类型。

标准数据类型包括数值型数据类型、非数值型数据类型和变体数据类型。其中数值型数据类型包括整型、长整型、单精度型、双精度型、货币型和字节型;非数值类型包括日期型、逻辑型、字符型和对象数据类型。

除了以上标准数据类型外,用户还可以根据自己的需要自定义数据类型,称为自定义类型,形式如下:

[Public|Private]Type 自定义类型名

元素名[(下标)]As类型名

[元素名[(下标)]As类型名]

…………

End Type

2.VB变量的声明

变量是用来在程序运行期间临时存储数值的。声明变量包括名称和数据类型。

3.VB的表达式

表达式是指用运算符或圆括号将运算元素连接起来的一个有意义的式子。VB的表达式有下列形式:

●算术表达式:由算术运算符连接。其运算符的含义、优先级和数学中的相同,只是整除运算符(\)和取模运算符(mod)是新概念,读者应倍加注意。

●关系表达式:由关系运算符连接,其运算结果是一个逻辑量。运算符两边的操作数如果是数值型,则按其大小比较;如果是字符型,则按其字符编码的码值从左到右一一比较。

逻辑表达式:由逻辑运算符连接,运算结果为逻辑值。

字符串表达式:由字符串运算符“+”和“&”连接。它们的功能都是将两

个字符串拼接起来。“+”运算符两边的操作数应均为字符型;“&”运算符两边的操作数可以是字符型或者是数值型。

4.VB的内部函数

VB提供了大量的内部函数供用户编程时使用。内部函数按功能分为数学函数、转换函数、字符串函数、日期函数和格式输出函数。用户可以通过VB的“帮助”菜单获得所有内部函数的使用方法。

三、实验举例

(实例1) 逻辑型数据的使用。

Private Sub Form_cliCk()

Dim a AS Boolean, b AS Boolean

Dim X AS Integer, y AS Integer

X = 0

y = -2

a = X

b = y

Print a,b,x,y

a = True

b = FalSe

X = a

Y=b

Print x,y,a,b

End Sub

(实例2) 日期型数据。

Private Sub Form_cliCk()

Dim a AS Date, S AS Date, d AS Date

Dim f AS Date, S1 AS Date, S2 AS Date

a = #5/9/2002#

s = #5/12/1999 12:30:15 PM#

d = 2001.12

f = -2001.12

S1 = 0.5

S2 = 0

Print a, S

Print d, f

Print Sl, S2

End Sub

(实例3)关系运算符。

Private Sub Form_cliCk()

Print ”abcde” = ”abd”

Print ”abcde,’ > ”aba”

Print ”BC” >= ”ABCFF”

Print 31 < 3

Print ”34” < ”3”

Print ”abc” <> ”ABC”

End Sub

在比较时注意以下原则:

(1)如果两个操作数是数值型,则按其大小进行比较。

(2)如果两个操作数是字符型,则按字符的ASCⅡ码值从左到右一一比较,也就是说,先比较两个字符串中的第一个字符,其ASCⅡ码值大的字符串大,如果第一个字符相同,则比较第二个字符,依此类推,直到比出结果为止。

(实例4) 算术运算函数的使用。

Private Sub Form_cliCk()

Print Abs(-1.7), Log(12), Sqr(9)

Print Exp(3), Sin(30 * 3.1415926/180)

Print Int(-3.5), Fix(-3.5),

Round(1.5), Round(1.512,2)

End Sub

(实例5) 求余数(模)运算符的使用。

Private Sub Form_cliCk()

Print 20 Mod 3

Print 20 Mod -3

Print -20 Mod 3

Print -20 Mod –3

End Sub

观察运行结果。

实验三顺序结构程序设计

一、实验目的

(1)掌握Visual Basic语言中数据输入方法。

(2)掌握Visual Basic语言中数据输出方法。

(3)正确使用Visual Basic赋值语句。

(4)学会设计简单的顺序结构程序。

二、相关知识

1.赋值语句

赋值语句是VB中使用频率最高的语句,这个语句的含义就是将等号右边表达式的值传送给等号左边的对象属性或变量,使其可以在程序运行中改变。使用赋值语句应注意以下几点:

(1)只有当表达式是一种与变量兼容的数据类型时,该表达式的值才可以赋给变量或属性。不能将字符串表达式的值赋给数值变量,也不能将数值表达式的值赋给字符串变量。如果这样做,就会在解释时出现错误。

(2)可以把字符串或数值表达式赋给Variant变量,但反过来就必须分析:任何除Null之外的Variant都可以赋给字符串变量,但只有当Variant 的值可以解释为一个数时才能赋给数值变量。

(3)将一种数据类型的表达式赋给另一种数值类型的变量时,系统会强制将该表达式的值转换为变量的数据类型。

2.InputBoxO函数

该函数产生一个对话框,在对话框中显示提示信息,等待用户输入正文或按下按钮,此时返回包含文本框内容的字符串。作为对话框消息出现的字符串表达式,最大长度是1024个字符,由所用字符的宽度决定。如果该消息包含多个行,则可在各行之间用回车符vbCr、换行符vbLf或回车换行符的组合vbCrLf来分隔。

3.MsgBox0函数

MsgBox()函数也产生一个对话框,在对话框中显示消息,等待用户单击按钮,并返回一个Integer数,告诉用户单击了哪一个按钮。函数中显示在对话框中的消息是一个字符串表达式,其规则与InputBox函数相同。MsgBox()函数根据所选定参数的不同,可以弹出不同形式的消息框供用户使用。

4.Print语句

Print实质是一种方法,在这里我们称它为语句是因为在窗体上Print 方法的对象名可以省略,省略后的形式和原Basic中的Print语句相同。该语句最常用的两个参数是Spc(n)和Tab(n),其中Spc(n)用来在输出中插入空白字符,n为要插入的空白字符数。Tab(n)用来将插入点定位在绝

对列号上,n为列号。

三、实验举例

(实例1) MsgBox函数的使用。

Private Sub Commandl_C1iCk()

Dim r AS Integer

MsgBox”最简单的MsgBox”

R = MsgBox(“复杂的MsgBox”,vbYesNo+vbCritical + vbDefaultButton2,-

”你看到了么?“)

Print”你按的值为”;r

End Sub

观察运行结果。

(实例2) 已知圆的半径R,求圆的周长和面积。

(1)选择“文件”菜单上的“新建工程”命令,新建—个工程。

(2)在窗体上创建两个标签(Label),调整位置和大小,设置标签Labell 的Caption属性为“圆的周长是:”、标签Label2的Caption属性为“圆的面积是:”。

(3)打开代码窗口,输入下面程序代码。

Private Sub Form_Click()

Dim r as Integer, S as Single,area as Single

r = 3

S = 2 * 3.14159 * r

Area = 3.14159 * r ^ 2

Label1.Caption=“圆的周长是:”+Format(s)

Label2.Caption=“圆的面积是:”,+Format(area)

End Sub

运行程序,求圆的周长和面积。

(实例3) InputBOx函数的不同用法。

Private Sub Form_CliCk()

Dim StrName AS String , Title AS String

Dim Default AS String, MyValue AS String

,设置提示信息

StrName = ”请输入数据”

,设置标题

Title = ”InputBox函数使用举例”

’设置缺省值

Default = ”2”

’第一种:显示提示信息、标题及缺省值

MyValue = InputBox(StrName, Title, Default)

,第二种:指定坐标:在1000,1000的位置显示对话框

MyValue = InputBox(StrName, Title, Default,1000,1000)

,第三种:显示“帮助”按钮,使用帮助文件

MyValue = InputBox(StrName,Title,,,,”DEMO.HLP”, 10) End Sub

观察结果。

实验四选择结构程序设计

一、实验目的

(1)掌握逻辑表达式的正确书写形式。

(2)学会单分支和双分支结构程序的使用。

(3)学会多分支条件语句的使用。

(4)掌握情况语句的使用,弄清楚情况语句和多分支条件语句的区别。

二、相关知识

选择结构也叫做条件分支结构,即根据条件选择要执行的分支。Visual Basic中常用的条件执行语句有:If...Then...Else...Endlf语句;Select Case...语句。

1.If...Then...Else...Endlf语句

语句中的判断条件是数值表达式或字符串表达式,其运算结果为True 或False。

可以使用单行形式来做短小简单的程序。在单行形式中,按照If...Then判断的结果也可以执行多条语句。所有语句必须在同一行上并且以冒号分开,如:

If A>10 Then A=A+1:B二B+A:C=C+B

但使用块形式的情况更多,块形式具有更强的结构化与适应性,并且通常比较容易阅读、维护及调试。Else和Elself子句都是可选项。在If 块中,可以放置任意多个Elself子句,但是都必须在Else子句之前。If 块也可以嵌套。当程序运行到一个If块时,条件表达式将被测试,如果结果为True,则在Then之后的语句会被执行。反之,则每个ElseIf部分的条件表达式会依次计算并加以测试。如果找到某个为Tme的条件时,则其紧接在相关的Then之后的语句会被执行。如果没有一个ElseIf条件表达式为True(或是根本就没有Elself子句),则程序会执行Else部分的语句。而在执行完Then或Else之后的语句后,会从End If之后的语句继续执行。2.Select Case...End Select语句

Select Case...End Select语句是多分支语句,其中的判断条件是任何数值表达式或字符串表达式。根据表达式的值,来决定执行几组语句中的其中之一。判断条件有以下几种形式:

●一个或多个表达式,表达式之间用“,”隔开。

●为某个数值范围,格式是:表达式1 To 表达式2

●为某个关系表达式,格式是:IS<关系符><表达式>

三,实验举例

(实例1) 输入一个数,判断这个数的奇偶性。

Private Sub command1_click()

Dim a As Integer

A = InputBox(”输入一个数“)

If a mod 2 = 1 Then

MsgBox a & ”是奇数”

Else

MsgBox a & ”是偶数”

End lf 图4-1例1运行结果 End Sub

程序运行时,单击Commandl按钮,在弹出的对话框中输入66,单击“确定”按钮,消息框提示66是偶数,如图4-1所示。

(实例2) 判断你输入的字符的种类。

若是数字,则提示为数字;若是小写字母,则提示此字母为小写字母,并将该字母转换为大写字母;若为大写字母,则提示此字母为大写字母,并将该字母转换为小写字母;否则输出其他字符。

Private Sub Form_click()

Dim a As String*1

Dim b As String*1

A = InputBox(”请输入一个字符”)

If a <= ”9” And a >= ”0“ Then

Print a;”是一个数字”

Elseif a >= ”A” And a <= ”Z” Then

B = Chr(Asc(a) +32) ‘也可以写为b=LCase(a)

Print a;“是一个大写字母,将”; a;”变为小写的字母为”;b

Elself a >= ”a” And a <= ”Z” Then

B = UCase(a) ‘也可以写为b二Chr(Asc(a) - 32)

Print a;”是一个小写字母,将“;a;”变为大写的字母为”;b

ElSe

Print a;”是其他字符”

End if

End Sub

分析:通过上面的示例我们知道函数LCase()和UCase(),它们的作用是将字符串中的大写字符变为小写字符或将小写字符变为大写字符;函数Chr()和Asc()函数,它们是将ASCⅡ码值转换为对应的字符和求字符串中首字符

的ASCⅡ码值函数。另外我们也知道了a的ASCⅡ码值比A的ASCⅡ码值大32。观察运行结果。

(实例3)有A,B,C三个数,要求按由大到小的顺序把它们打印出来。

分析:把一组任意数按大小进行排列是日常工作中经常遇到的问题。当碰到的是少量的数据要排序时,可以按最基本的方法考虑,将它们一一进行比较。此时,要用到If结构的嵌套形式,嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中。格式为:

If<表达式> Then

If<表达式>Then

<语句块>

Else

<语句块>

End If

Else

If<表达式> Then

<语句块>

Else

<语句块>

End If

End If

程序如下:

Private Sub Form_click()

Dim a As single, b As Single, c As Single

a = InputBox(”输入A的值:”,”输入A”)

b = InputBox(”输入B的值:”,”输入B”)

c = InputBox(”输入C的值:”,”输入C”)

If a > b Then

If b > C Then

Print a, b,C

Else

if a > C Then

Print a,c,b

Else

Print c,a,b

End if

End if

Else

if a > C Then Print b,a,c

Else

if b>C Then

Print b,c,a

Else

Print c,b,a End if

End if

End if

End Sub

实验五循环结构程序设计

一、实验目的

(1)掌握For语句的使用。

(2)掌握Do While/Until……Loop与Do……loop While/Until两种循环语句的使用。

(3)加深理解循环的概念,掌握循环的规则及其执行过程。

(4)掌握多重循环的规则和程序设计方法。

(6)学会如何控制循环条件,防止死循环或不循环。

二、相关知识

如果在指定的条件下多次重复执行一组相同的语句可以通过循环来实现,VB提供了下面几种形式的循环语句:

1.Do…Loop循环语句

Do While/Until<条件> Do

语句块语句块

[Exit Do] 或 [Exit Do] 语句块语句块

Loop Loop While/Until<条件> 2.FOR循环语句

For循环变量=初值To终值[Step步长]

语句块

[Exit For]

语句块

Next循环变量

3.循环嵌套应注意的事项

内循环和外循环的变量不能同名;外循环必须完全包含内循环,不能交叉;循环的转移遵循“允许循环内转移,允许转出,禁止转入”的原则。

三、实验举例

(实例1) 求自然数N的阶乘。

Private Sub Form_Click()

Dim s As Single,n As Integer,i As Integer

N = InputBox(“输入自然数N”,“求N的阶乘”)

S = l

i = 1

Do While i<=n

S = S * i

i = i + 1

计算机软件技术课程设计

计算机软件技术课程设计 学院:电力与自动化工程学院 班级: 姓名: 学号: 同组人: 2012年6月28日

目录 一、需求分析 1.1、开发背景 (3) 1.2、编写目的 (3) 1.3、运行环境 (3) 1.4、项目任务书 (3) 二、项目流程 2.1、基本流程 (3) 2.2、概要设计 (6) 2.2.1、局部E-R图 (6) 2.2.2、全局E-R图 (9) 2.3、逻辑设计 (10) 2.3.1、E-R图向关系模型的转换 (10) 2.3.2、二维关系表 (10) 三、数据库的实施与运行 四、小结 五、参考教材书

一.需求分析 1.1开发背景: 随着人类社会的发展,人类对知识的需求也不断的增长。在这种形势下,书籍就渐渐成为人们获取并增长知识的主要途径,而图书馆就自然而然的在人们的生活中占据的一定的地位,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。 1.2编写目的: 本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。 1.3 运行环境 编程环境:Microsoft Visual Basic 做前台,SQL Sever 做后台 1.4 项目任务书 项目名称:图书管理系统软件 项目开发者:王颖龚思敏魏嫽嫽张宇秦黎阳 用户:各同学 图书馆管理系统需要有能够及时地查询书库中图书的库存量,以便及时准确地为读者服务,提供借阅信息,但是不能更改数据,无信息处理权,即可以打印清单,浏览数据等,管理权限由系统管理员掌握分配。这个也是图书馆的总体需求。 能够提供外界进行查询,无特殊权限限制,面向所有用户。 图书馆各项数据信息必须保证安全性和完整性,网络系统设有通信,程序,网络三级权限和口令管理,确保系统的安全。这个是对数据的安全考虑的。 系统管理员根据市场图书行情定时的整理系统数据库,对图书的借阅情况,读者的管理情况,书库的增减等均可由计算机执行,并将运行结果归档。 这个是从数据的整理角度考虑。 二、项目流程 2.1 、基本流程 以图书管理系统为对象,经过可行性分析和初步需求调查,抽象出该图书管理系统的业务流程图,如图1所示。下面,结合该实例具体情况,给出对读者、图书查询,图书管理员管理的具体需求。

软件技术基础教学大纲

《软件技术基础》教学大纲学时数:40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时); d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。

重庆邮电大学-软件技术基础--实验报告(耿道渠)

《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果:

四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。

五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include #include #include #include #define MAXSIZE 20 using namespace std; int num; typedef struct { string student_number; string name; string tel; string home_phone; int id; } TEL; void shuaxin(TEL *); void delet(TEL *);

软件开发课程设计

合肥工业大学 课程设计 设计题目排序算法的实现系统学生姓名高圣泽 学号 20085869 专业班级数学与应用数学08-1 指导教师王琦王青山 2011 年 06 月 07 日

一、设计目的 通过对此次数据结构大型作业内容的分析,锻炼学生分析与编写大型软件代码的能力。通过与同组同学的合作,锻炼协作的能力。以及本系统实现了各种排序(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 二、课程设计的内容 1.课程设计的题目及简介 题目:排序系统 简介:本系统实现了9种排序方法(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 2.设计说明及需求分析 本系统有以下十个功能模块,分别有switch 下的几个case 后语句函数来实现。 菜单界面设计图:

模块设计图:

3.概要设计 (1)直接插入排序: Straight Insertion Sort(IS)是一种简单的基本排序方法,它的基本操作是将一个记录插到已排序好的有序表中,从而得到一个新的、记录数增1的有序表。 (2)折半插入排序: Binary Inserting Sort(BI)是在直接插入的基础之上针对记录数量很大时引入的排序方法,首先用折半查找法在有序表中找到正确的插入位置,然后移动记录,空出插入位置,再进行插入。 (3)希尔排序: Shell’s Sort(SS)先将整个待排序记录序列分割成

若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序时”,再对全体记录进行一次直接插入排序。子序列不是简单的逐段分割,而是将相隔某个“增量”的记录组成一个子序列,所以关键字的较小的记录不是一步一步的前移,而是跳跃式前移,从而使得在进行最后一趟增量为1的插入排序时,序列已基本有序,只是做少量比较和移动即可完成排序。 (4)冒泡排序: Bubble Sort(BS)每相邻两个记录关键字比大小时,大的记录往下沉。每一遍把最后一个下沉的位置记下,下一遍只需检查比较到此为止,到所有记录都不发生下沉时,整个过程结束(没交换一次,记录减少一个反叙数)。 (5)快速排序: Quick Sort(QS)是对冒泡排序的一种改进,通过一趟快速排序将待排序的记录组分割成独立的两部分,其中前一部分记录的关键字均比枢轴记录的关键字小;后一部分记录的关键字均比枢轴记录的关键字大,数轴记录得到了它在整个序列中最终位置并被存放好,为一趟快速排序。第二趟再分别对分割成两部分的子序列,再进行快速排序,这两部分子序列中的枢轴记录也得到了最终在序列中的位置而被存放好,并且它们又分别分割出独立的两个子序列……递归,不断进行下去,直到每个待排序的子序列中只有一个记

计算机软件技术基础(第三版)习题答案

第一章 1.1什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。 信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系: 数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。 我们把这些数据收集起来,经过处理后,即得到人们需要的信息。 信息和数据的关系可以归结为: 1.信息是有一定含义的数据。 2.信息是经过加工(处理)后的数据。 3.信息是对决策有价值的数据。 1.2信息有哪些基本属性? 信息的基本属性有: 1.事实性。 2.等级性。 3.可压缩性。 4.可扩散性。 5.可传输性。 6.共享性。 7.增值性和再生性。 8.转换性。 1.3计算机的主要特点是什么? 计算机最主要的特点是: 1.高速自动的操作功能。 2.具有记忆的能力。 3.可以进行各种逻辑判断。 4.精确高速的计算能力。 1.5完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1.人员 2.数据 3.设备 4.程序 5.规程 1.6什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。 微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。 计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?

第一阶段:高级语言阶段 特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。 硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。 第二阶段:结构程序设计阶段 特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。 程序设计方法论方面,提出由顶向下法和自底向上法。使程序模块 化,使问题的复杂性和人的思维统一起来了。 出现了软件生产管理。 硬件关系:磁盘问世,操作系统发展,非数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。 第三阶段:自动程序设计阶段 特点:向集成化、一体化发展。出现了软件开发环境。程序设计基本方法进一步改进。 硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程序设计进入成熟期。 第二章 2.1 什么是数据结构?它对算法有什么影响? 数据结构是指同一数据对象中各数据元素间存在的关系。 对算法是影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。它是算法和程序设计的基本部分,它对程序的质量影响很大。 2.2何谓算法?它与程序有何区别? 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。计算机算法是通过计算机能执行的算法语言来表达的。 和程序的区别:一个程序包括两个方面的内容: (1)、对数据的描述,即数据结构。 (2)、对操作的描述,即算法。 所以算法是程序的一个要素。 2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。 频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。 时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。 空间复杂度:指在算法中所需的辅助空间的单元,而不包括问题的原始数据占用的空间。 2.6 数据的存储结构主要有哪两种?它们之间的本质区别是什么? 数据的存储结构:向量和链表。 本质区别:

软件技术基础重点总结

第一章 1.算法的基本要素:一是要做哪些事(算法对数据的操作)二是决定做这些事情的先后顺序(控制结构) 2.算法的基本特征:(1)能行性(2)确定性(3)有穷性(4)拥有足够的情报 3.算法评价的标准(算法的复杂度主要包括):时间复杂度和空间复杂度 4.算法的时间复杂度:执行算法所需要的计算工作量算法的空间复杂度:执行这个算法所需要的内存空间 5.用算法在执行过程中所需基本运算的执行次数来度量算法的工作量 6.算法所执行的基本运算次数与问题规模相关 7.对于一个固定规模,算法所执行的基本运算次数可能与特定的输入有关用①平均性态(平均时间复杂度)②最坏情况复杂性(最坏时间复杂度)来描述 第二章 1.数据结构研究的主要问题:①分析数据的特征②选择逻辑结构和物理存储结构③在存储结构的基础上实现对数据的操作 2.数据逻辑结构指数据元素前后件的关系,与它们在计算机中的存储位置无关;数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构) 3.常用的存储结构有顺序、链接、索引等存储结构 4. 5. 6.线性表:n(n≥0)个数据元素的有限序列线性表特点:均匀性 有序性除了第一个元素, 每一个元素都有一个前驱,除了最后一个元素每个元素都有一个后继 7.线性表中所有元素所占的存储空间是连续的线性表中的各数据元素在存储空间中是按逻辑顺序依次存放 8.顺序表:将线性表中的元素相继存放在一个连续的存储空间中;存储结构:数组;特点:线性表的顺序存储方式。逻辑上相邻,物理上相邻;存取方式:随机存取。 9.栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom)。 10.栈的物理存储可以用顺序存储结构,也可以用链式存储结构。 11.队列:一种特殊的线性表,遵守FIFO(First In First Out)规则。队列的数据元素重视从表末尾加入,从表头取出。队列的物理存储可以用顺序存储结构,也可用链式存储结构。 12. front 13.循环队列区分队空队满长采用两种方法①增加一个标志位S;S=0 队空 S=1且rear==front 队满 14.程序中front==(rear+1)%MAXSIZE来判断队满 15.二叉树的性质:①在二叉树的第i层上至多有2^(i-1)个结点(i≥1)②深度为k的二叉树至多有2^k -1个结点(k≥1)③对任何一颗二叉树T,如果其叶结点数为n0,度为2的结点数为n2,则n0=n2+1④具有n个结点的二叉树,其深度至少为log2 n+1⑥在编号完全的完全二叉树中,编号为i的结点,若存在做孩子,则其编号为2i;若存在有孩子,则其编号为2i+1;若存在父结点,则其编号为i/2 16.图是对结点的前驱和后继个数不加限制的数据结构。有向图:图中每条边都是顶点的有序对。无向图:图中每条边都是顶点的无序对。 17.顶点间的关系边可描述为顶点的偶对,边是无序的。弧:顶点间的边是有序的。弧头:弧的终点(方向前方)。弧尾:弧的起始点称为弧尾(方向后方)。Vx(弧尾)→Vy弧头 18.无向图中:顶点的度是以该顶点为一个端点的边的条数。有向图中有入度和出度。 19.路径:从顶点Vx到顶点Vy的顶点序列称为从Vx到Vy的路径。路径的长度是该路径上边或弧的数目。 20.连通图:在无向图中,若每一对顶点间都有路径,称此图是连通图。 第三章 1.平均查找长度(ASL):与关键字进行比较的平均次数。它是用来评价一个算法好坏的一个依据。顺序查找优点对结点的逻辑次序和存储结构无要求;缺点ASL较长。 2.二分查找的先决条件是查找表中的数据元素必须有序。优点:ASL≤log2 n;缺点:因要求有序,所以对所有数据元素按大小排序是非常费时的操作。 3.分块查找又称索引顺序查找,这是顺序查找的一种改进方法。优点:插入、删除操作方便;只要找到对应的块,在块中任意位置操作均可。缺点:索引表增加了辅助存储空间。 4.哈希查找也成为散列查找,哈希查找则是通过计算存储地址的方法进行查找的。 在哈希元素(地址)求解过程中,不同关键字值对应到同一个存储地址的现象称为冲突。即关键字K1≠K2,但哈希函数值H(K1)=H(K2)。处理冲突的方法:开放定址法Hi=(H(key)+di) MOD m,再哈希法,链地址法。线性探测再散列di=1,2,…m-1 二次探测再散列di=1^2,-1^2,2^2,…+k^2,-k^2(k≤m/2) 5.快速排序法又被称为“分区交换排序”。按某种方法选取一个元素K,以它为分界点,用交换的方法将序列分为两个部分:比该值小的放在左边,否则在右边。形成{左子序列}K{右子序列}再分别对左右两部分实施上述分解过程。 6.插入排序基本思想:边插入边排序,保证子序列中是排好序的。每次处理将无需数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。插入算法比较次数和交换次数约为n^2/2,因此其时间复杂度为O(n^2),该算法基本稳定,数据基本有序,插入排序速度块。 7.希尔排序是对直接插入排序的改进方法。排序间隔n/2^k k=1,2,…… 8.选择排序:每次从待排序的记录中选出关键字最小(或最大)的记录,顺序放在已有序的记录序列的最后(或最前)面,直到全部数列有序。9.堆定义:hi≥h2i,hi≥h2i+1 hi≤h2i hi小于等于h2i+1从最后一个非终端结点开始往前逐步调整,让每个双亲不大于(或不小于)子女,直到根结点为止。 10.二分法查找效率高,顺序法可以采用链表存储结构,操作灵活,最好是既有二分法的高效率,又有链表灵活性的查找方法。解决之道:二叉排序树。 11.二叉排序树:二叉树为空,或者是具有下列性质的二叉树:如根结点的左子树不空,则左子树所有结点是值均小于根结点值;如根结点的右子树不空,则右子树所有结点是值均小于根结点值;根结点的左右子树也分别是二叉排序树。 第四章 1.操作系统是控制和管理计算机硬件和软件资源、合理组织计算机工作流程、方便用户使用计算机响应速度而设计的一套程序的集合。功能:文件管理,进程管理,存储器管理,设备管理,作业管理。 2.程序是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。 3.进程就是程序的一次执行过程,是系统进行资源分配和调度的一个独立单元。进程的状态运行状态、就绪状态、等待状态。①处于就绪状态的进程一旦分配到CPU,就转为运行状态。 ②处于等待状态的进程,当需要等待某个时间发生才能继续运行时,则转为等待状态;或者由于分配给它的时间片用完,就让出CPU而转为就绪状态。③处于等待状态的进程,如果它等待的时间已经发生,即条件得到满足,就转为就绪状态。 4.线程是一个程序内部的顺序控制流(独立执行的流)。但线程并不是程序,它自己并不能运行,必须在程序中才能运行。 5.存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。 第五章 1.数据库:长期存储在计算机内的、有组织的、可共享的数据集合。特点:数据按一定的数据模型组织、描述和存储;具有较小的冗余度;较高的数据独立性和易扩展性;可为各种用户共享。 2.数据结构是对实体类型和实体间联系的表达和实现,描述系统的静态特性;数据操作是在数据结构之上允许执行的操作集合,包括对数据库的检索和更新(插入、删除、修改)操作,描述系统的动态特性;数据完整性约束是数据及其联系所具有的制约和依赖规则,以保证数据库中数据的正确性、有效性和相容性。 3.ER图中的四个基本成分:矩形框,表示实体类型;菱形框,表示联系类型;椭圆形框,表示实体类型和联系类型的属性(下划线表示键);直线,联系类型与其涉及的实体类型之间以直线连接,并在直线端部标上联系的种类(1:1, 1:N, M:N) 4.关系的三类完整性约束:实体完整性、参照完整性和用户定义完整性。完整约束条件是数据模型的一个重要组成部分,它保证数据库中数据与现实世界的一致性;实体完整性:元组在组成主键的属性上不能有空值;参照完整性(引用完整性):不允许引用不存在的元组;用户定义的完整性(域完整性) 5.视图的作用? ①视图能够简化用户的操作②视图使用户能以多种角度看待同一数据③视图对重构数据库提供了一定程度的逻辑独立性⑤视图能够对机密数据提供安全保护 6.数据库设计步骤? ①需求分析②概念结构的设计③逻辑结构的设计④物理结构的设计 7.sql语言 ①建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩G组成,其中(Sno, Cno)为主码。 CREATE TABLE SC( Sno CHAR(5) , Cno CHAR(3) , G int, Primary key (Sno, Cno)); ②增加列基本格式 ALTER TABLE 表名ADD 列名类型; ALTER TABLE S ADD ADDRESS V ARCHAR (30) 修改列基本格式 ALTER TABLE 表名MODIFY 列名类型; ALTER TABLE S MODIFY SA SMALLINT; 删除列基本格式 ALTER TABLE 表名DROP 列名; ALTER TABLE S DROP UNIQUE(Sn); ③DISTINCT短语的作用范围是所有目标列 查询选修课程的各种成绩SELECT DISTINCT Cno,Grade FROM SC; ④查询所有(不)姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname (NOT)LIKE ‘刘%’; ⑤使用谓词IS NULL 或IS NOT NULL,“IS NULL” 不能用“= NULL” 代替 查询缺少成绩的学生的学号和相应的课程号。 SELECT Sno,Cno FROM SC WHERE Grade IS NULL; ⑥使用ORDER BY子句可以按一个或多个属性列排序升序:ASC;降序:DESC;缺省值为升序 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= ' 3 ' ORDER BY Grade DESC; ⑦查询有3门以上课程是90分以上的 学生的学号及(90分以上的)课程数 SELECT Sno, COUNT(*) FROM SC WHERE Grade>=90 WHERE是选择记录的条件; GROUP BY Sno HA VING是选择分组的条件,且 HA VING COUNT(*)>=3; 必须和GROUP BY一起使用 ⑧求学生学号、姓名、选修课程名、成绩。 SELECT Student.Sno,Sname,Cname,Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND https://www.360docs.net/doc/211905373.html,o=https://www.360docs.net/doc/211905373.html,o;

软件开发课程设计

S2——JavaScript客户端验证和页面特效制作(JavaScript) 1、技术简介 讲解HTML语法,会使用页面的表格,框架、DIV进行页面布局;使用各种表单控件,并能完成常见的表单验证任务;能实现浏览器端的各种常见动态效果,如:熟悉DOM各种元素的属性方法,HTML+JS元素的定位和查找,HTML+JS实现树形菜单的展开和关闭,HTML+JS层的隐藏、显示、弹出特效,HTML+JS浮动广告、弹出广告窗口效果。 2、课程内容及简介 章节名称简介备注 第一章JavaScript的基本语法掌握js脚本的基本结构;JavaScript基 本语法;变量的定义与赋值,数据类 型与转换函数等,运算符和控制语句; 灵活运用高级语法---自定义函数function Script 第二章DOM编程-window对象会运用DOM模型查找某个HTML元素;会使用window对象的open()方法制作不同风格样式的广告窗口;会使用window对象的setTimeout()方法和Date对象制作日期显示效果。 第三章DOM编程-document对象会使用document对象的getElementById()方法访问DIV层对象;会使用document对象的getElementsByName()方法访问表单元素;会使用DIV对象的样式属性控制层的隐藏和显示。 第四章CSS样式特效会使用style样式的相关属性动态改变边框颜色;会使用className类名属性动态改变按钮背景图片;会使用display显示属性实现层或图片的隐藏/显示和切换特效 第五章基本的表单验证技术会使用DOM模型的层次关系方问元素;或使用表单事件和脚步函数实现表单验证;会使用String对象、文本框控件的常用属性和方法实现客户端的验证 第六章表单验证的相关事件和辅助特效会使用图片代替提交按钮实现表单提交;会使用onKeyDown事件检查用户输入的特殊字符;会使用DIV的innerHTML或者innerText动态显示内容;会使用多个DIV动态隐藏或显示内容 第七章表单验证的高级特效会使用下来列表控件实现省市级联功能;会使用数组优化省市级联功能

计算机软件技术基础(第三版)沈被娜课后习题答案较全

第一章信息与计算机 什么是信息信息与数据的区别和联系在何处信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。我们把这些数据收集起来,经过处理后,即得到人们需要的信息。信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。 2. 信息是经过加工(处理)后的数据。 3. 信息是对决策有价值的数据。 信息有哪些基本属性 信息的基本属性有: 1. 事实性。 2. 等级性。 3. 可压缩性。 4. 可扩散性。 5. 可传输性。 6. 共享性。 7. 增值性和再生性。 8. 转换性。 计算机的主要特点是什么 计算机最主要的特点是: 1. 高速自动的操作功能。 2. 具有记忆的能力。 3. 可以进行各种逻辑判断。 4. 精确高速的计算能力。完整的计算机系统应该包括哪几部分 目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备4. 程序 5. 规程 什么是计算机硬件什么是计算机软件 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时

所必须的数据。计算机软件一般分为系统软件和应用软件。软件技术发展的几个阶段各有什么特点它与硬件的关系如何 第一阶段:高级语言阶段特点:这一时期,编译技术 代表了整个软件技术,软件工作者追求的主要目的是设计和实现在 控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。 第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。程序设计方法论方面,提出由顶向下法和自底向上法。使程序模块化,使问题的复杂性和人的思维统一起来了。出现了软件生产管理。硬件关系:磁盘问世,操作系统发展,非 数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。 第三阶段:自动程序设计阶段特点:向集成化、一体化 发展。出现了软件开发环境。程序设计基本方法进一步改进。 硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程序设计进入成熟期。 什么是多媒体计算机多媒体计算机包含那几项 什么是多媒体计算机 1. “媒体”的概念分为两部分,其一是信息存储的实体,其二是表现信

软件技术基础教学大纲

《软件技术基础》教学大纲 课程编号:23000840 适用专业:电子信息类(非计算机专业) 学时数: 40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时);

d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。 (3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。 a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时); b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时); c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。 (4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。 3)操作系统(8学时) (1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历 程和现代操作系统的基本特征。 (2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段, 进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。 (3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等 基本概念,理解作业调度的相关方法。 通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。 2、实验安排(8学时) 共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。 三、考核方式 课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。 实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。 四、教材和参考资料 1、教材 《软件技术基础》,黄迪明,电子科技大学出版社,1998年 2、参考资料

计算机软件技术基础(第三版)沈被娜 课后习题答案较全

第一章信息与计算机 1.1 什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。我们把这些数据收集起来,经过处理后,即得到人们需要的信息。信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。 2. 信息是经过加工(处理)后的数据。 3. 信息是对决策有价值的数据。 1.2 信息有哪些基本属性? 信息的基本属性有: 1. 事实性。 2. 等级性。 3. 可压缩性。 4. 可扩散性。 5. 可传输性。 6. 共享性。 7. 增值性和再生性。 8. 转换性。 1.3 计算机的主要特点是什么? 计算机最主要的特点是: 1. 高速自动的操作功能。 2. 具有记忆的能力。 3. 可以进行各种逻辑判断。 4. 精确高速的计算能力。 1.5 完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备 4. 程序 5. 规程 1.6 什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。

微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。 第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。程序设计方法论方面,提出由顶向下法和自底向上法。使程序模块化,使问题的复杂性和人的思维统一起来了。出现了软件生产管理。硬件关系:磁盘问世,操作系统发展,非数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。 第三阶段:自动程序设计阶段特点:向集成化、一体化发展。出现了软件开发环境。程序设计基本方法进一步改进。硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

软件工程课程设计

软件工程课程设计 题目固定资产管理系统学院数学与信息工程学院专业计算计科学与技术班级计科学051 学号200332225232 学生姓名方明 同组成员李亮 指导教师魏远旺

目录 一、可行性报告┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉1 二、需求说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉3 三、总体设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉5 四、详细设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉13 五、程序源代码┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉24 六、课程设计体会┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27 七、参考文献┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27

第一章可行性报告 1.1 固定资产管理概述 1.1.1 固定资产 财政部颁发的于2002年1月1日起施行的《企业会计准则-固定资产》中,是这样对固定资产下定义的:“固定资产,是指同时具有以下特征的有形资产:为生产商品,提供劳务,出租或经营管理而持有的;使用年限超过一年;单位价值较高。”这应该是固定资产的准确定义。 1.1.2 固定资产的具体标准如何确定 判断固定资产的具体标准,主要有两个方面:一是时间标准,二是价值标准。根据《企业会计准则-固定资产》规定:固定资产,是指企业使用期限超过1年的房屋,建筑物,机器,机械,运输工具以及其他与生产,经营有关的设备,器具,工具等。不属于生产经营主要设备的物品,单位价值在2000元人民币以上,并且使用年限超过2年的,也应当作为固定资产。 1.1.3 固定资产如何分类 按其经济用途分类,可以分为生产经营用固定资产和非生产经营用固定资产; 按其所有权划分,可分为自有固定资产和租入固定资产; 按来源渠道划分,可分为外购的固定资产,自行建造的固定资产,接受投资转入的固定资产,接受捐赠的固定资产,以非货币资金换入的固定资产,改建扩建新增的固定资产,盘赢的固定资产,融资租入固定资产; 按使用情况划分,可以分为使用中的固定资产,未使用的固定资产和不需用的固定资产; 按其经济用途和使用情况综合划分,可分为生产经营用固定资产,非生产经营用固定资产,租出固定资产(指经营性租赁),不需用固定资产,未使用固定资产,土地,融资租入固定资产。 1.2 固定资产管理系统可行性分析及开发计划 本项目主要是根据软件工程课程的实践需要,根据固定资产管理的流程,与软件工程的理论相结合,完成本项目的开发。本项目的设计和开发目标是达到软件工程课程理论和实际相结合的目的。 1.2.1 定义: *数据流图

软件技术基础-文本整理

软件技术基础 第一章计算机进制系统 1.计算机中数据的单位 a、在计算机内部,数据都是以二进制的形式存储和运算的。 b、位(bit) ,简写b,比特,计算机存储数据的最小单位。 c、字节(byte),简写B,1B=8bit,计算中数据处理的最基本单位。 d、字:通常由一个或若干个字节组成。 e、数的换算关系: 1Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB。 字长由计算机型号不同而异,常用字长有8、16、32、64位。一般情况下,IBM PC/XT的字长为8位,80286微机字长为16位,80386/80486微机字长为32位,Pentium4系列微机字长为64位。 2.进位计数制 计算机中采用二进制主要原因: a、电路简单 b、工作可靠 c、简化运算 d、逻辑性强 3、计算机中常用的几种计数制 数码:一个数制中表示基数数值大小的不同数字符号。如,八进制有8个数码:0、 1、2、3、4、5、6、7。 基数:一个数值所使用的数码的个数。如,八进制的基数为8,二进制的基数为2。 位权:一个数值中某一位上的1所表示数值的大小。如,八进制的123,1的位权是64,2的位权是8,3的位权是1。 4.十进制(Decimal) 特点: a、有10个数码:0、1、2、3、4、5、6、7、8、9。 b、基数:10 c、逢十加一(加法运算),借一当十(减法运算) d、按权展开式。对于任意一个n位整数和m位小数的十进制数D,均可按权 展开。 例如:将十进制数456.24写成按权展开式形式为: 456.24=4*102+5*101+6*100+2*10-1+4*10-2 5.二进制(Binary) 特点: a、有2个数码:0、1 b、基数:2 c、逢二进一(加法运算),借一当二(减法运算) d、按权展开式,对于任意一个n位整数和m位小数的二进制数D,均可按权 展开。 例如:把(11001.101)2写成展开式,它表示的十进制数为:

计算机软件技术基础实验报告Word版

计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

相关文档
最新文档