第一章刘高星 课程设计目的 2

更新时间:2023-03-11 12:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 课程设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性练习,以达到对所学知识熟练掌握、灵活应用的目的。

通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)对于给定的设计题目,如何进行分析、理解,以做到思路清晰。 (2)掌握自顶而下的设计方法,将大问题进行模块化分解,领会结化程序设计的方法同时深刻认识到面向对象程序设计与面向过程程序设计的根本区别。

(3)熟练掌握VB常用控件的使用,灵活运用各种数据类型。 (4)进一步掌握在集成环境下调试程序和修改程序的方法和技巧。

第二章 课程设计的要求

第一题:

在名称为Form1,标题为“图片”的窗体上画1个名称为Image1的图像框,其高为2500,宽为2000。请通过属性窗口设置适当属性,装入考生目录下的图片文件pic1.jpg,并使图片适应图像框的大小(如图2-1所示)

图2-1

第二题:

在名称为Form1的窗体上画1个名称为Label1,标题为“口令”的标签;画一个名称为Text1的文本框;再画三个命令按钮,名称分别为Command1、Command2、Command3,标题分别为“显示口令”、“隐藏口令”、“重新输入”。程

序运行时,序运行时,在Text1中输入若干字符,单击“隐藏口令”按钮,则只显示同样数量的“*”(如图2-2所示);单击“显示口令”按钮,则显示输入的字符(如图2-1所示),单击“重新输入”按钮,则清除Text1中的内容,并把光标定位到Text1中。

要求:请画出所有控件,编写命令按钮的Click事件过程,程序中不得使用 变量,在“显示口令”、“隐藏口令”按钮的事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程名为sjt2.vbp,窗体文件名为sjt2.frm。

(图2-1) (图2-2)

第三题:

在考生文件夹下有一个工程文件sjt3.vbp,在程序运行时,单击“输入整数”按钮,可以从键盘输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图3-1是输入53后的结果,图3-2是输入100的结果。已经给出了全部控件和程序,但程序不完整。

要求:请去掉程序中的注释符,把程序中的?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。

图3-1 图3-2

第四题:

在考生文件夹下有一个工程文件sjt4.vbp。在其窗体中“待选城市”下的List1列表框中有若干个城市名称。程序运行时,选中List1中若干个列表项(如图4-1所示),单击“选中”按钮则把选中的项目移到List2中,单击“显示”,则在Text1文本框中显示这些选中的城市(如图4-2所示)。已经给出了所有控件和程序,但程序不完整。

要求:请去掉程序中的注释符,把程序中的?改成正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。

图4-1 图4-2

第五题:

在考生文件夹下有一个工程文件sjt5.vbp,其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不挖补正。

图5-1 运行界面

第六题:

在名称为Form1的窗体上画一个标签(名称为Label1,标题为空白,BorderStyle属性为1,Visible属性为False)、一个文本框(名称为Text1,Text的属性为空白)和一个命令按钮(名称为Command1,标题为“显示”),如图6-1所示。然后编写命令按钮的Click事件过程。程序运行后,在文本框中输入“计算机等级考试”,然后单击命令按钮,则文本框消失,并在标签内显示文本框中的内容。运行后的窗体如图6-1所示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。

图6-1运行界面 图6-2运行界面

第七题

在名称为Form1的窗体上画一个文本框(名称为Text1)和一个水平滚动条(名称为HScroll1),如图7-1所示。在属性窗口中对滚动条设置如下属性:

图7-1 程序运行界面 图7-2 程序运行界面

Min 500 Max 2000 LargeChange 50 Smallchange 20

第八题

在考生文件下有一个工程文件sjt3.vbp,请在窗体上画两个单选按钮(名称分别为Option1和Option2,标题分别为“添加项目”和“删除项目”),一个列表框(名称为List1),如图8-1所示。编写窗体的Click事件过程。程序运行后,如果选择“添加项目”单选按钮,然后单击窗体,则从键盘上输入要添加的项目(内容任意,不少于三个),并添加到列表框中;如果选择“删除项目”单选按钮,然后单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行如图8-2所示。在考生文件夹下的工程文件sjt3.vbp(相应的窗体文件名为sjt3.frm),可以实现上述功能。但这个程序不完整,请把它补充完整。

要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

图8-1 程序运行界面 图8-2 程序运行界面

第九题

在考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为

sjt4.frm),其功能是通过调用过程Sort将数组按降序排序,请装入该文件。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可使数组按降序排序,并在文本框中显示出来(如图9-1所示)。这个过程不完整,请把它补充完整,并能正确运行。

要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

图9-1 程序运行界面

第十题

在窗体上建立三个菜单(名称分别为Read、Calc和Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后画一个文本框(名称为Text1,MultiLine属性设置为True,ScrollBars属性设置为2)(如图10-1所示)。程序运行后,如果执行“读入数据”命令,则读入datain1.txt文件中的100个整数,放入一个数组中,数组的下界为1;如果单击“计算并输出”按钮,则把该数组中小于50的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹下的dataout.txt文件中。在考生文件夹下有一个工程文件sjt5.vbp,考生可以装入该文件中。窗体文件中ReadDate过程可以把datain1.txt文件中的100个整数读入Arr数组中;而WriteDate过程可以把指定的整数值写到考生文件下指定的文件中(整数值通过计算求得,文件名为dataout.txt)。注意:不得修改窗体文件中已经存在的程序。存盘时,工程文件名为sjt5.vbp,窗体文件名仍为sjt5.frm。

图10-1运行界面

3.3.2属性设置和代码设

实现要求功能的代码如下: Private Sub Command1_Click() Dim n As Integer Cls

n = InputBox(\请输入一个整数\ Print \因子数=\End Sub

Function fun(m As Integer) Dim s As Integer s = 0

For k = 1 To Abs(m) / 2 If m Mod k = 0 Then s = s + 1 Print k

End If Next k fun = s End Function

3.4 第四题

3.4.1 界面设计

(1)程序运行前的界面

(2)运行后的界面

3.4.2属性设置和代码设计

程序代码设计如下所示:

Private Sub Command1_Click() Dim k%

For k = List1.ListCount - 1 To 0 Step -1 If List1.Selected(k) = True Then List2.AddItem List1.List(k) List1.RemoveItem k End If Next k End Sub

Private Sub Command2_Click() Dim k%

Text1 = \已经选中的城市有:\

For k = 0 To List2.ListCount - 1 Step 1

Text1 = Text1.Text & \ Next k End Sub

3.5 第五题

3.5.1 界面设计

(1)运行前的界面

(2)运行后的界面

3.5.2属性设置和代码设计

程序代码设计如下所示:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

Dim x0 As Integer, y0 As Integer, a As Single, radius As Integer radius = Shape1.Width / 2 '圆的半径 If Button = LEFT_BUTTON Then

x0 = Shape1.Left + radius '圆心的x坐标 y0 = Shape1.Top + radius '圆心的y坐标 If x = x0 Then

stepy = Sgn(y - y0) * 50 stepx = 0 Else

a = (y - y0) / (x - x0) '斜率 stepx = Sgn(x - x0) * 50 stepy = a * stepx

If Abs(stepy) > Abs(stepx) Then stepy = Sgn(y - y0) * 50 stepx = stepy / a End If End If

Timer1.Enabled = True Else

Timer1.Enabled = False End If End Sub

Private Sub Timer1_Timer()

Shape1.Move Shape1.Left + stepx, Shape1.Top + stepy End Sub

3.6 第六题

3.6.1 界面设计

(1)程序运行前的界面

(2)程序运行后的界面

3.6-2属性和代码设计

程序代码设计如下所示:

Private Sub Command1_Click() Label1.Visible = True

Label1.Caption = Text1.Text Text1.Visible = False End Sub

3.7 第七题

3.7.1 界面设计

(1)程序运行前的界面

(2)程序运行后的界面

3.7-2属性和代码设计

程序代码如下:

Private Sub HScroll1_Change()

Text1.Height = HScroll1.Value Text1.Width = 1.2 * Text1.Height End Sub

3.8 第八题

3.8.1 界面设计

(1)程序运行前的界面

(2)程序运行后的界面

3.8-2属性和代码设计

程序代码设计如下所示:

Private Sub Form_Click()

If Option1.Value = True Then

Text1.Text = InputBox(\请输入要添加的项目\ List1.AddItem Text1.Text End If

If Option2.Value = True Then

Text1.Text = InputBox(\请输入要删除的项目\ For i = 0 To List1.ListCount - 1

If List1.List(i) = Text1.Text Then List1.RemoveItem i End If

Next i End If End Sub

3.9 第九题

3.9.1 界面设计

(1)程序运行前的界面

(2)程序运行后的界面

3.9-2属性和代码设计

程序代码设计如下所示: Finish = UBound(a)

For i = 4 To 2 Step -1 For j = 1 To 3

If a(j) < a(j + 1) Then t = a(j + 1) a(j + 1) = a(j) a(j) = t End If Next j Next i End Sub

Private Sub Command1_Click() Dim arr1

Dim arr2(4) As Integer

arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))

For i = 1 To 4

arr2(i) = CInt(arr1(i)) Next i Sort arr2()

Text1.Text = arr2(1) Text2.Text = arr2(2) Text3.Text = arr2(3) Text4.Text = arr2(4) End Sub

3.10 第十题

3.10.1 界面设计

(1)程序运行前的界面

(2)程序运行后的界面

3.10-2属性和代码设计

程序代码设计如下所示:

Open App.Path & \ Print #1, Num Close #1 End Sub

Private Sub Calc_Click() Text1.Text = \ For i = 1 To 100

If Arr(i) < 50 Then

Text1.Text = Text1.Text & Arr(i) & Space(5) sum = sum + Arr(i) End If Next i Print sum End Sub

Private Sub Form_Load()

End Sub

Private Sub Read_Click() ReadData End Sub

Private Sub Save_Click()

WriteData \End Sub

程序代码设计如下所示:

Open App.Path & \ Print #1, Num Close #1 End Sub

Private Sub Calc_Click() Text1.Text = \ For i = 1 To 100

If Arr(i) < 50 Then

Text1.Text = Text1.Text & Arr(i) & Space(5) sum = sum + Arr(i) End If Next i Print sum End Sub

Private Sub Form_Load()

End Sub

Private Sub Read_Click() ReadData End Sub

Private Sub Save_Click()

WriteData \End Sub

本文来源:https://www.bwwdw.com/article/ioww.html

Top