c语言 函数filelen原型如下其功能统计出指定文本文件中,VB关键字[共5篇]

VB关键字总结

1.编译命令关键字总结

作用 关键字 定义编译常数。 #Const 编译程序码中的选择区块。 #If...Then...#Else

2.变量与常数关键字总结

作用 指定值。 Let 声明变量或常数。 Const, Dim, Private, 声明模块为私有。 Option Private Module 判断 VariantIsError, IsMissing, IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。 Me 变量须明确声明。 Option Explicit 设置缺省数据类型。 Deftype

3.运算符关键字总结

作用 算术。 ^, -, *, /, \, Mod, +, & 比较。 =, <>, , <=, >=, Like, Is 逻辑运算。 Not, And, Or, Xor, Eqv, Imp

4.错误关键字总结

作用 产生运行时错误。 Clear, Error, Raise 取得错误信息。 Error 提供错误信息。 Err 返回 Error 变体。 CVErr 运行时的错误处理。 On Error, Resume 类型确认。 IsError

关键字 Public, New, Static 。 IsArray, IsDate, IsEmpty, 关键字

关键字

1 5.Collection 对象关键字总结

作用 关键字 建立一个 Collection 对象。 Collection 添加对象到集合对象中。 Add 从集合对象中删除对象。 Remove 引用集合对象中的项。 Item

6.金融关键字总结

作用 计算折旧率。 DDB, SLN, SYD 计算未来值。 FV 计算利率。 Rate 计算本质利率。 IRR, MIRR 计算期数。 NPer 计算支付。 IPmt, Pmt, PPmt 计算当前净值。 NPV, PV

7.控制流关键字总结

作用 分支。 GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。 DoEvents, End, Exit, Stop 循环。 Do...Loop For...Next, For Each...Next, While...Wend, With 判断。 Choose, If...Then...Else, Select Case, Switch 使用过程。 Call, Let, Property Set, Sub

8.目录和文件关键字总结

作用 改变目录或文件夹。 ChDir 改变磁盘。 ChDrive 复制文件。 FileCopy 新建目录或文件夹。 MkDir 删除目录或文件夹。 RmDir 重新命名文件、目录或文件夹。 Name

关键字

关键字

Function, Property Get, Property 关键字 2 返回当前路径。 CurDir 返回文件的日期、时间。 FileDateTime 返回文件、目录及标签属性。 GetAttr 返回文件长度。 FileLen 返回文件名或磁盘标签。 Dir 设置有关文件属性的信息。 SetAttr

9.日期与时间关键字总结

作用 关键字

设置当前日期或时间。 Date ,Now, Time 计算日期。 DateAdd, DateDiff, DatePart 返回日期。 DateSerial, DateValue 返回时间。 TimeSerial, TimeValue 设置日期或时间。 Date, Time 计时。 Timer

10.输入与输出关键字总结

作用 关键字 访问或创建文件。 Open 关闭文件。 Close, Reset 控制输出外观。 Format, Print, Print #, Spc, Tab, Width # 复制文件。 FileCopy 取得文件相关信息。 EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, Loc, LOF, Seek 文件管理。 Dir, Kill, Lock, Unlock, Name 从文件读入。 Get, Input, Input #, Line Input # 返回文件长度。 FileLen 设置或取得文件属性。 FileAttr, GetAttr, SetAttr 设置文件读写位置。 Seek 写入文件。 Print #, Put, Write #

11.数据类型关键字总结

作用 关键字

数据类型变换。 CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int

3 设置数据类型。 Boolean, Byte, Currency, Date, Double, Integer, Long, Object, Single, String, Variant (default) 检查数据类型。 IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject

12.数学关键字总结

作用 关键字

三角函数。 Atn, Cos, Sin, Tan 一般计算。 Exp, Log, Sqr 产生随机数。 Randomize, Rnd 取得绝对值。 Abs 取得表达式的正负号。数值变换。 Fix, Int

13.数组关键字总结

作用 确认一个数组。 IsArray 建立一个数组。 Array 改变缺省最小值。 Option Base 声明及初始化数组。 Dim, Private, Public, ReDim, Static 判断数组下标极限值。重新初始化一个数组。

14.注册关键字总结

作用 删除程序设置。 DeleteSetting 读入程序设置。 GetSetting, GetAllSettings 保存程序设置。 SaveSetting

15.变换关键字总结

作用 ANSI 值变换为字符串。大小写变换。 Format, LCase, UCase 日期变换为数字串。 DateSerial, DateValue 数字进制变换。 Hex, Oct 数值变换为字符串。 Format, Str

关键字 关键字

关键字 4 Sgn LBound, UBound Erase, ReDim Chr 数据类型变换。 CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int 日期变换。 Day, Month, Weekday, Year 时间变换。 Hour, Minute, Second 字符串变换为 ASCII 值。 Asc 字符串变换为数值。 Val 时间变换为数字串。 TimeSerial, TimeValue

16.字符串处理关键字总结

作用 比较两个字符串。 StrComp 变换字符串。 StrConv 大小写变换。 Format, LCase, UCase 建立重复字符的字符串。 Space, String 计算字符串长度。 Len 设置字符串格式。 Format 重排字符串。 LSet, RSet 处理字符串。 InStr, Left, LTrim, Mid, Right, RTrim, Trim 设置字符串比较规则。 Option Compare 运用 ASCII 与 ANSI 值。 Asc, Chr

17.其他关键字总结

作用 处理搁置事件。 DoEvents 运行其他程序。 AppActivate, Shell 发送按键信息给其他应用程序。发出警告声。 Beep 系统。 Environ 提供命令行字符串。 Command Macintosh。 MacID, MacScript 自动。 CreateObject, GetObject 色彩。 QBColor, RGB 关键字 关键字

SendKeys

VB关键字总结

1.编译命令关键字总结

作用 关键字 定义编译常数。 #Const 编译程序码中的选择区块。 #If...Then...#Else

2.变量与常数关键字总结

作用 指定值。 Let 声明变量或常数。 Const, Dim, Private, 声明模块为私有。 Option Private Module 判断 VariantIsError, IsMissing, IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。 Me 变量须明确声明。 Option Explicit 设置缺省数据类型。 Deftype

3.运算符关键字总结

作用 算术。 ^, -, *, /, \, Mod, +, & 比较。 =, <>, , <=, >=, Like, Is 逻辑运算。 Not, And, Or, Xor, Eqv, Imp

4.错误关键字总结

作用 产生运行时错误。 Clear, Error, Raise 取得错误信息。 Error 提供错误信息。 Err 返回 Error 变体。 CVErr 运行时的错误处理。 On Error, Resume 类型确认。 IsError

关键字 Public, New, Static 。 IsArray, IsDate, IsEmpty, 关键字

关键字

1 5.Collection 对象关键字总结

作用 关键字 建立一个 Collection 对象。 Collection 添加对象到集合对象中。 Add 从集合对象中删除对象。 Remove 引用集合对象中的项。 Item

6.金融关键字总结

作用 计算折旧率。 DDB, SLN, SYD 计算未来值。 FV 计算利率。 Rate 计算本质利率。 IRR, MIRR 计算期数。 NPer 计算支付。 IPmt, Pmt, PPmt 计算当前净值。 NPV, PV

7.控制流关键字总结

作用 分支。 GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。 DoEvents, End, Exit, Stop 循环。 Do...Loop For...Next, For Each...Next, While...Wend, With 判断。 Choose, If...Then...Else, Select Case, Switch 使用过程。 Call, Let, Property Set, Sub

8.目录和文件关键字总结

作用 改变目录或文件夹。 ChDir 改变磁盘。 ChDrive 复制文件。 FileCopy 新建目录或文件夹。 MkDir 删除目录或文件夹。 RmDir 重新命名文件、目录或文件夹。 Name

关键字

关键字

Function, Property Get, Property 关键字 2 返回当前路径。 CurDir 返回文件的日期、时间。 FileDateTime 返回文件、目录及标签属性。 GetAttr 返回文件长度。 FileLen 返回文件名或磁盘标签。 Dir 设置有关文件属性的信息。 SetAttr

9.日期与时间关键字总结

作用 关键字

设置当前日期或时间。 Date ,Now, Time 计算日期。 DateAdd, DateDiff, DatePart 返回日期。 DateSerial, DateValue 返回时间。 TimeSerial, TimeValue 设置日期或时间。 Date, Time 计时。 Timer

10.输入与输出关键字总结

作用 关键字 访问或创建文件。 Open 关闭文件。 Close, Reset 控制输出外观。 Format, Print, Print #, Spc, Tab, Width # 复制文件。 FileCopy 取得文件相关信息。 EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, Loc, LOF, Seek 文件管理。 Dir, Kill, Lock, Unlock, Name 从文件读入。 Get, Input, Input #, Line Input # 返回文件长度。 FileLen 设置或取得文件属性。 FileAttr, GetAttr, SetAttr 设置文件读写位置。 Seek 写入文件。 Print #, Put, Write #

11.数据类型关键字总结

作用 关键字

数据类型变换。 CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int

3 设置数据类型。 Boolean, Byte, Currency, Date, Double, Integer, Long, Object, Single, String, Variant (default) 检查数据类型。 IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject

12.数学关键字总结

作用 关键字

三角函数。 Atn, Cos, Sin, Tan 一般计算。 Exp, Log, Sqr 产生随机数。 Randomize, Rnd 取得绝对值。 Abs 取得表达式的正负号。数值变换。 Fix, Int

13.数组关键字总结

作用 确认一个数组。 IsArray 建立一个数组。 Array 改变缺省最小值。 Option Base 声明及初始化数组。 Dim, Private, Public, ReDim, Static 判断数组下标极限值。重新初始化一个数组。

14.注册关键字总结

作用 删除程序设置。 DeleteSetting 读入程序设置。 GetSetting, GetAllSettings 保存程序设置。 SaveSetting

15.变换关键字总结

作用 ANSI 值变换为字符串。大小写变换。 Format, LCase, UCase 日期变换为数字串。 DateSerial, DateValue 数字进制变换。 Hex, Oct 数值变换为字符串。 Format, Str

关键字 关键字

关键字 4 Sgn LBound, UBound Erase, ReDim Chr 数据类型变换。 CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int 日期变换。 Day, Month, Weekday, Year 时间变换。 Hour, Minute, Second 字符串变换为 ASCII 值。 Asc 字符串变换为数值。 Val 时间变换为数字串。 TimeSerial, TimeValue

16.字符串处理关键字总结

作用 比较两个字符串。 StrComp 变换字符串。 StrConv 大小写变换。 Format, LCase, UCase 建立重复字符的字符串。 Space, String 计算字符串长度。 Len 设置字符串格式。 Format 重排字符串。 LSet, RSet 处理字符串。 InStr, Left, LTrim, Mid, Right, RTrim, Trim 设置字符串比较规则。 Option Compare 运用 ASCII 与 ANSI 值。 Asc, Chr

17.其他关键字总结

作用 处理搁置事件。 DoEvents 运行其他程序。 AppActivate, Shell 发送按键信息给其他应用程序。发出警告声。 Beep 系统。 Environ 提供命令行字符串。 Command Macintosh。 MacID, MacScript 自动。 CreateObject, GetObject 色彩。 QBColor, RGB 关键字 关键字

SendKeys

1.编译命令关键字总结

作用

关键字 定义编译常数。

#Const 编译程序码中的选择区块。

#If...Then...#Else

计算当前净值。

NPV, PV

7.控制流关键字总结

作用

关键字

分支。

GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。

DoEvents, End, Exit, Stop 2.变量与常数关键字总结

作用

关键字 循环。

Do...Loop For...Next, For Each...Next, While...Wend, With 指定值。

Let 判断。

Choose, If...Then...Else, Select Case, Switch 声明变量或常数。

Const, Dim, Private, Public, New, Static 使用过程。

Call, Function, Property Get, Property Let, Property Set, Sub 声明模块为私有。

Option Private Module 8.目录和文件关键字总结 判断

Variant。 IsArray, IsDate, IsEmpty, IsError, IsMissing, 作用

关键字

改变目录或文件夹。

ChDir IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。

Me 改变磁盘。

ChDrive 变量须明确声明。

Option Explicit 复制文件。

FileCopy 设置缺省数据类型。

Deftype 新建目录或文件夹。

MkDir

删除目录或文件夹。

RmDir 3.运算符关键字总结

作用

关键字 重新命名文件、目录或文件夹。 Name 算术。

^, -, *, /, \, Mod, +, & 返回当前路径。

CurDir 比较。

=, <>, , <=, >=, Like, Is 返回文件的日期、时间。

FileDateTime 逻辑运算。

Not, And, Or, Xor, Eqv, Imp 返回文件、目录及标签属性。

GetAttr

返回文件长度。

FileLen 4.错误关键字总结

作用

关键字

作用

关键字 返回文件名或磁盘标签。

Dir 产生运行时错误。

Clear, Error, Raise

返回 Error 变体。

CVErr 设置有关文件属性的信息。

SetAttr 取得错误信息。

Error

提供错误信息。

Er r 9.日期与时间关键字总结 运行时的错误处理。

On Error, Resume

类型确认。

IsError 作用

关键字

设置当前日期或时间。

Date ,Now, Time 5.Collection 对象关键字总结

作用

关键字

作用

关键字 计算日期。

DateAdd, DateDiff, DatePart 建立一个 Collection 对象。

Collection 添加对象到集合对象中。

Add 返回日期。

DateSerial, DateValue 从集合对象中删除对象。

Remove

引用集合对象中的项。

Item 返回时间。

TimeSerial, TimeValue

设置日期或时间。

Date, Time 6.金融关键字总结

作用

关键字 计时。

Timer 计算折旧率。

DDB, SLN, SYD 10.输入与输出关键字总结 计算未来值。

FV 作用

关键字 计算利率。

Rate 访问或创建文件。

Open 计算本质利率。

IRR, MIRR 关闭文件。

Close, Reset 计算期数。

NPer 控制输出外观。

Format, Print, Print #, Spc, Tab, Width # 计算支付。

IPmt, Pmt, PPmt 复制文件。

FileCopy 取得文件相关信息。

EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, 作用

关键字

ANSI 值变换为字符串。

Chr Loc, LOF, Seek 文件管理。

Dir, Kill, Lock, Unlock, Name 大小写变换。

Format, LCase, UCase 从文件读入。

Get, Input, Input #, Line Input # 日期变换为数字串。

DateSerial, DateValue 返回文件长度。

FileLen 数字进制变换。

Hex, Oct 设置或取得文件属性。

FileAttr, GetAttr, SetAttr 数值变换为字符串。

Format, Str 设置文件读写位置。

Seek 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 写入文件。

Print #, Put, Write # CSng, CStr, CVar, CVErr, Fix, Int

日期变换。

Day, Month, Weekday, Year 11.数据类型关键字总结

作用

关键字 时间变换。

Hour, Minute, Second 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 字符串变换为 ASCII 值。

Asc

字符串变换为数值。

Val CSng, CStr, CVar, CVErr, Fix, Int 设置数据类型。

Boolean, Byte, Currency, Date, Double, Integer, Long, 时间变换为数字串。

TimeSerial, TimeValue Object, Single, String, Variant (default) 16.字符串处理关键字总结

检查数据类型。

IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, 作用

关键字

比较两个字符串。

StrComp IsNumeric, IsObject

变换字符串。

StrConv 12.数学关键字总结

作用

关键字 大小写变换。

Format, LCase, UCase 三角函数。

Atn, Cos, Sin, Tan 建立重复字符的字符串。

Space, String 一般计算。

Exp, Log, Sqr 计算字符串长度。

Len 产生随机数。

Randomize, Rnd 设置字符串格式。

Format 取得绝对值。

Abs

取得表达式的正负号。

Sgn 重排字符串。

LSet, RSet 数值变换。

Fix, Int 处理字符串。

InStr, Left, LTrim, Mid, Right, RTrim, Trim

设置字符串比较规则。

Option Compare 13.数组关键字总结

作用

关键字

作用

关键字 运用 ASCII 与 ANSI 值。

Asc, Chr 确认一个数组。

IsArray

建立一个数组。

Array 17.其他关键字总结 改变缺省最小值。

Option Base 作用

关键字 声明及初始化数组。

Dim, Private, Public, ReDim, Static 处理搁置事件。

DoEvents 判断数组下标极限值。

LBound, UBound 运行其他程序。

AppActivate, Shell 重新初始化一个数组。

Erase, ReDim 发送按键信息给其他应用程序。 SendKeys

发出警告声。

Beep 14.注册关键字总结

作用

关键字 系统。

Environ 删除程序设置。

DeleteSetting 提供命令行字符串。

Command 读入程序设置。

GetSetting, GetAllSettings Macintosh。

MacID, MacScript 保存程序设置。

SaveSetting 自动。

CreateObject, GetObject

色彩。

QBColor, RGB 15.变换关键字总结

输入的数字与事先设置的数字相同,则提示“输入正确” 否则显示“错了” , 。  代码编写: 代码

Private Sub Command1_Click() x = Val(InputBox("输入一个 1~10 之间的整数")) If x = Text1 Then MsgBox "输入正确" Else MsgBox "错了" End If End Sub 遇到的主要问题及分析:

【提高题 1】修改上面程序,当输入的值比设置的数字小,显示“错了,你猜得小了。 ; ” 21 输入的值比设置的大,则显示“错了,你输入的太大了。 请直接在上题修改) ” ( 【提示】本实验属于多分支结构。

Private Sub Command1_Click() x = Val(InputBox("输入一个 1~10 之间的整数")) If x = Text1 Then MsgBox "输入正确" ElseIf x < Text1 Then MsgBox "错了,你猜得小了。" Else MsgBox "错了,你输入的太大了。" End If End Sub 【提高题 2】通过 InputBox 函数任意输入三条边长,经过简单的计算后,判断三条 边长能否构成三角形,并在文本框中显示结果。 【提示】构成三角形,必须保证任意两边的和大于第三边  代码编写: 代码

Private Sub Command1_Click() Dim a!, b!, c! a = Val(InputBox("输入第 1 条边长")) b = Val(InputBox("输入第 2 条边长")) c = Val(InputBox("输入第 3 条边长")) If a + b > c And b + c > a And a + c > b Then Print "此三边可构成三角形" Else Print "此三边不可构成三角形" End If End Sub 遇到的主要问题及分析:

【选作题】课堂示例“字符串替换” 使用多个函数完成时,如果源字符串中没有要查找 , 的子串,程序就会出错。修改程序当没有要查找的子串时,弹出“没有找到的”提示框,并 将源串放到结果文本框中。

22 【提示】InStr(C1,C2) 在 C1 中查找 C2 是否存在,若找不到,结果为 0。  代码编写: 代码

Private Sub Command1_Click() i = InStr(Text1, Text2) If i = 0 Then MsgBox "没有找到" Label5 = Text1 Else k = i + Len(Text2) Ls = Left(Text1, iSqr(d)) / (2 * a) ElseIf d = 0 Then x1 = -b / (2 * a) x2 = x1 Else MsgBox "无实根" End If Pri nt "x1="; x1, "x2="; x2 End Sub

2、输入一个字符,判断该字符是字母、数字还是其他字符,并作相应的显示。 【要求】分别使用两种语句 If ……ElseIf……和 Select Case 来完成。 24 代码 If ……ElseIf 语句实现

Private Sub Command2_Click() a = InputBox("输入一个字符") If a >= "a" And a <= "z" Or a >= "A" And a <= "Z" Then MsgBox a + "是字母" ElseIf a >= "0" And a <= "9" Then MsgBox a + "是数字" Else MsgBox a + "是其他字符" End If End SubSelect Case 语句实现 Private Sub Command1_Click() a = InputBox("输入一个字符") Select Case a Case "a" To "z" "A" To "Z" MsgBox a + "是字母" Case "0" To "9" MsgBox a + "是数字" Case Else MsgBox a + "是其他字符" End Select End Sub 遇到的主要问题及分析:

思考: 编写一个对文本框中输入的字符进行转换的 程序。 窗体如上右图所示。 将小写字母转换成大写字母, 大写字母转换成小写字母,空格不转换,其余字符转换 成”*”。要求每输入一个字符马上 进行判断和转换,结果

显示在 Text2 中。  代码编写: 代码

Private Sub Text1_Change() a = Right(Text1, 1) Select Case a Case "a" To "z" Text2 = Text2 + UCase(a) Case "A" To "Z" Text2 = Text2 + LCase(a) Case " " Text2 = Text2 + " " Case Else 25 遇到的主要问题及分析:

Text2 = Text2 + "*" End Select End Sub

3、输入一个数字(1-7) ,用英文显示对应的星期一至星期日。 【提示】用 Select Case 语句来实现  代码编写: 代码 Private Sub Command1_Click() a = Val(InputBox("输入星期几")) Select Case a Case 1 MsgBox "Monday" Case 2 MsgBox "Tuesday" Case 3 MsgBox "Wednesday" Case 4 MsgBox "Thursday" Case 5 MsgBox "Friday" Case 6 MsgBox "Saturday" Case 7 MsgBox "Sunday" Case Else MsgBox "输入错误" End Select End Sub 遇到的主要问题及分析:

4、编程实现简单计算器功能。要求程 序运行后,分别输入两个操作数以及运算 符(+、-、*、/)后,单击“计算”按钮, 则自动计算出表达式的结果,并显示在运 算结果对应的文本框中。 【提示】除数为 0 时要做适当处理。  代码编写:

26 代码

Private Sub Command1_Click() Select Case Text2 Case "+" Text4 = Text1 + Text3 Case "-" Text4 = Text1i + 1, 1); Next i End Sub 遇到的主要问题及分析:

2、完善程序,输入一个数,判断该数是否为完数,并把其因 子输出,如图所示。 (一个数如果恰好等于它的因子之和,这个数 就被称为“完数” 一个数的因子是指除了该数本身以外能够被其整 。 除的数。 )例如 6 是一个完数,因为 6=1+2+3。

Private Sub Command1_Click() m = Val(Text1.Text) For i = 1 To m1 【4】 If m Mod i = 0 Then Picture1.Print "+"; i; Next i Else Picture1.Print m & "不是完数" End If End Sub 【5】 Picture1.Print 【3】 【4】 【5】

3、编写程序,实现求解把 50 元钱分成一元、二元和五元的纸币且纸币张数共为 20 张的分法有多少种? 代码

Private Sub Form_Click() Print "5 元" "2 元" "1 元" n=0 For x = 0 To 10 For y = 0 To 25 z = 20y If 5 * x + 2 * y + z = 50 And z >= 0 Then Print x, y, z: n = n + 1 Next y Next x Print "分法有" & n & "种" End Sub 遇到的主要问题及分析:

4、参考下图的算法,编写程序,输入两个正整数,求这两个数的最小公倍数。 代码

遇到的主要问题及分析: 课本 p87 页 37 【提高题 1】输出斐波那契级数

1、

1、

2、

3、

5、

8、13……,当某项的数值大于或等 于 30000 时结束。此级数项的规律是:前两项的值各为 1,从第 3 项起,每一项是前 2 项 的和。 (要求一行输出 6 项) 。 代码

Private Sub Form_Click() a=1 b=1 Print a; b; i=2 Do While c <= 30000 c=a+b a=b b=c Print c; i=i+1 If i Mod 6 = 0 Then Print Loop End Sub 遇到的主要问题及分析:

【提高题 2】P269 实验 D

二、5 编写程序,求 Sn=a+aa+aaa+…(n 个 a)的值,其中 n 是表示 a 的个数, 是 a 【1, 之间的随机正整数。 9】 例如: a=2,n=5 时, 当 sn=2+22+222+2222+22222 【提示】为得到不断重复的数 t,可在循环体利用通项: t = t * 10 + a 代码 Private Sub Form_Click() a = Int(Rnd * 9) + 1 n = Int(Rnd * 6) + 5 s=0 t=0 For i = 1 To n t = t * 10 + a s=s+t 遇到的主要问题及分析: „[1,9] „[5,10] 38 Print t; Next i Print s End Sub 【选作题 1】完善程序,使之能在窗体上显示有规律的 图形。

Private Sub Form_Click() Dim i% For i = 1 To Print Next i End Sub 【提示】使用 Tab 函数定打印位置,可使用的函数还有:String, Right,CStr 1)循环体内显示用 String 函数来实现,找出循环控制变量与 Sting 函数内个数的关系,即 String(j, Cstr(i) 。 2) 为了使最后一行的 0 显示, 若按照上面的通式, 则最后一行显示的是 1, 则要对公式进行修改, String 即 (j, Right (cstr(i)) )。 【1】

0 【2】 Tab(201, Trim(Right(Str(i), 1))) 【选作题 2】 用两重循环在窗体上显示如右图结果。

【提示】两种方法解该题: 方法一:利用数值实现,就是将各列列号通过运算连接起来。 方法二:利用 Mid 函数取字符串子串来实现,即从字符串中不断取所需的 子字符串而得。 还要注意行号与负号的关系。

代码

Private Sub Form_Click() s = "123456" For i = 1 To 6 For j = 1 To i If i Mod 2 = 1 Then Picture1.Print " " & Left(s, j) & " Else Picture1.Print "-" & Left(s, j) & " End If Next j Picture1.Print Next i End Sub 遇到的主要问题及分析: "; "; 39 实验心得体会 成绩:

教师签名: 实验日期 年 月 日 实验八 实验目的: 常用控件

1.掌握单选按钮、复选框的重要属性、事件和方法。 2.掌握框架的使用。 3.掌握列表框、组合框的重要属性、事件和方法。

实验内容

1、窗体上有两个复选框,名称分别为 Chk1 和 Chk2,标题分别

为“能被 5 整除”和“能被 6 整除” 一个命令按钮 Command1,以及一 , 个文本框 Text1。编写适当的事件过程,使得程序运行时对复选框 进行选择,单击命令按钮,可根据下表的规定,计算 100~200 之间符合要求的整数之和, 把结果显示在 Text1 中。

选择 Chk1 Chk2 Chk1 和 Chk2 都不选择 要求 只能被 5 整除 只能被 6 整除 既能被 5 整除,也能被 6 整除 只能被 1 整除

 代码编写: 代码 遇到的主要问题及分析: 40 Dim s1, s2 Private Sub Check1_Click() s1 = 0 For i = 100 To 200 If i Mod 5 = 0 Then s1 = s1 + i Next i End Sub Private Sub Check2_Click() s2 = 0 For i = 100 To 200 If i Mod 6 = 0 Then s2 = s2 + i Next i End Sub „定义全局变量 „每次选择前先清 0 „每次选择前先清 0 Private Sub Command1_Click() Text1 = 0 „每次赋值前先清 0 If Check1.Value = 1 And Check2.Value = 1 Then Text1 = s1 + s2 ElseIf Check1.Value = 1 Then Text1 = s1 ElseIf Check2.Value = 1 Then Text1 = s2 Else For i = 100 To 200 Text1 = Text1 + i Next i End If End Sub

2、窗体上包含有两个名称分别为 Op1 和 Op2 的单选按钮,

标题分别为“100-200 的素数和” 和“200-400 的素数和” 还有 。 一个文本框和一个命令按钮,标题为“求和” 程序运行后,选中 。 某个单选按钮,并单击“求和”按钮,则计算指明范围内的素数之和,并显示在文本框中。  代码编写: 代码

Private Sub Command1_Click() If Option1 Then For m = 100 To 200 Tag = True 41 遇到的主要问题及分析:

For i = 2 To m1 If m Mod i = 0 Then Tag = False Next i If Tag Then s = s + m Next m End If Text1 = s End Sub

3、P237,实验 E-6,窗体的标题栏显示“选课界面”,窗体

上有 两个列表框,左边是 List1,右边是 List2,其中 List2 中的列表 项按字母顺序升序显示。 窗体下方有一个文本框, 名为 Text1。 请你: 1) 写出程序中需要的属性设置。 2)程序运行后,在列表框 List1 中添加“Visual Basic 程序” “数据结构” “操作系 、 、 统 ” “硬 件技术 基础 ” “计 算机 网络” “ 多媒 体技 术 ”和 “ C++程 序设计 ” 七个选 项。 、 、 、 (使用 Form_Load()事件) 。

3)要求单击 List1 中的某一项时,该项显示在 Text1 中。 4)双击 List1 中的某一项时,该项从 List1 中删除,添加至 List2。当 List2 中 的内容已满 5 门时,不允许再添加并提示“超过 5 门课程,不能再选了!(要注意条件的放 。 ” 置位置问题)  需要的属性设置

表 9.1 实验 1 属性设置 对象名称 属性 属性值 42 List2 Sorted True  代码编写: 代码 Private Sub Form_Load() List1.AddItem "Visual Basic 程序" List1.AddItem "数据结构" List1.AddItem "操作系统" List1.AddItem "硬件技术基础" List1.AddItem "计算机网络" List1.AddItem "多媒体技术" List1.AddItem "C++程序设计" 遇到的主要问题及分析:

End Sub „单击列表框 List1 Private Sub List1_Click() Text1 = List1.Text End Sub „双击列表框 List2 Private Sub List1_DblClick() If List2.ListCount = 5 Then MsgBox "超过 5 门课程,不能再选" Else List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End If End Sub

4、窗体上有一个名为 List1 的列表框(允许做多项 选择) ,一个名称为 Text1 的文本框,三个命令按钮,标 题分别为“求全部项目和” “求选定项目之和” “删除选定项 , , 目” 。

【要求】

1)程序运行后,将把 1~100 之间能够被 7 整除的数添加到列表框中。 2)单击“求全部项目和”按钮,则对 List1 中的数进行累加求和,并在文本框中显示 计算结果。

43 3) 单击“求选定项目之和”按钮,则对 List1 中的选中的项目进行累加求和,并在文 本框中显示计算结果。 4) 单击“删除选定项目”按钮,则删除 List1 中的选中的项目。 代码

Private Sub Form_Load() „显示 7 的倍数 For i=1 To 100 If i Mod 7 =0 Then 【1】 End If Next i End Sub List1.AddItem i 遇到的主要问题及分析: 如果列表框要多选, multiselect 属性设置为 1 „列表框所有项目之和 Private Sub Command1_Click() Sum% = 0 For i = 0 To Sum = Sum + Next i 【4】 text1=sum End Sub „列表框选定项目之和 Private Sub Command2_Click() Sum% = 0 For i = 0 To 【6】 List1.ListCount1 Text3.SelLength = Len(Text1.Text) Text3.seltext = Text2.Text Then '不需要多次替换则退出 If option1=true Exit Do End If k = a + m End If Loop End Sub until a=0 '为继续查找确定起始点 '找不到退出

【选作题】设计一个运行界面如下图所示的程序。在“主菜”组合框中选择一种食品(不可 输入) ,单击“添加主菜”按钮即可将该项内容添加到右边的列表框;在“饮料”组合框中选择 或输入一种饮料,单击“添加饮料”按钮即可将该项内容添加到右边的列表框。在右边的列 表框中选择某项并单击“不要这个

46 【要求】右边所点的菜单中不允许出现重复的菜。 【提示】添加的时候要先判断是否菜单中是否已经有了。  代码编写: 代码

Private Sub Command1_Click() f = True For i = 0 To List1.ListCount – 1 „菜单中不允许出现重复的菜 If List1.List(i) = Combo1.Text Then f = False Next i If f = True Then List1.AddItem Combo1.Text Text1 = "你点了" & List1.ListCount & "种食物" End Sub Private Sub Command2_Click() List1.AddItem Combo2.Text „饮料可以重复 Text1 = "你点了" & List1.ListCount & "种食物" End Sub Private Sub Command3_Click() List1.RemoveItem List1.ListInd ex Text1 = "你点了" & List1.ListCount & "种食物" End Sub Private Sub Command4_Click() List1.Clear Text1 = "你点了" & List1.ListCount & "种食物" End Sub Private Sub Form_Load() Combo1.AddItem "。。。。" Combo2.AddItem "。。。。" End Sub 遇到的主要问题及分析: Style=2 组合框, 不是列表框 47

实验心得体会 成绩: 教师签名: 48 实验日期 年 月 日 实验九 实验目的: 常用控件(续)

1、掌握图片框、图像框、计时器的属性和方法和事件及使用。

2、掌握滚动条的重要属性、事件和方法。

3、了解图片框和图像框的区别。掌握形状控件的重要属性以及使用。 实验内容

1、 窗体上有一组合框 Combo1,一文本框 Text1,三个 命令按钮,要求: 1)程序一开始运行时,Combo1 中有若干选项,命令 按钮"确定"不可用 2) 选中 Combo 中某个项目, 单击"修改", 则将该项目复制到 Text1 中 (可在 Text1 中修改) ,同时"确定"按钮可用 3) 单击"确定"将修改过的 Text1 替换组合框中原有的内容, 同时"确定"按钮不可用. 4)单击"添加",将 Text1 中的内容添加到组合框中

【提示】修改组合框中选中的内容要通过代码来重新设置 Combo1.List(Combo1.ListIndex)值 的,而不能直接设置 Text 属性值。  代码编写: 代码 遇到的主要问题及分析: 49

2、在窗体的 Label 中每隔 2 秒显示“你好中国” 即每隔 2 秒显示一次标签) ( 。 【提示】 1)设置时钟控件的 Interval 值使程序每隔 2 秒,调用一次计时器的 Timer 事件。 2)将标签的状态设置成:显示……隐藏……显示……隐藏……  代码编写: 代码 遇到的主要问题及分析:

3、窗体上有一图片框,名为 P1。单击图片框,则在图片框上显示“单击图片框” 单击 。 窗体,则在窗体上显示“单击窗体” 要求不能用变量,每个事件只允许写一句代码。 。  代码编写: 单击图片框 单击图片框

4、如右图所示,将滚动条的范围设置为 0~1000,在文 本框中输入一个数后按下“移动”按钮。 如果文本框中是正数则 滚动条向右移动相应刻度,但若超过最大刻度则 MsgBox 提 示“输入值太大” 如果文本框中是负数则滚动条向左移, ; 超过最小刻度则不再动, MsgBox 并 提示。 【提示】假定滚动条当前位置的 Value 值为 200,在文本框输入 300,单击“移动”按 钮,则滚动条的值应变为 500;再输入-800,再单击“移动”按钮,则滚动条的值应变为 0,并用 MsgBox 提示“已移动到最左边”. 50

 代码编写: 代码 遇到的主要问题及分析:

5 、 窗 体 上 添 加 一 Shape 形 状 控 件 , 名 为 “ Shape1 ”, 两 个 名 称 分 别 为 Command1,Command2 的命令按钮, 标题分别为“圆”和“红色边框”

编写代码, 。 程序运行时, 单击“圆”按钮则 Shape 控件显示一个圆。单击“红色边框”按钮,则将 Shape 控件的边框颜 色设为红色。 【提示】分别设置 Shape 控件的 Shape 属性和 BorderColor 属性  代码编写: 单击“圆”按钮 单击“红色边框”按钮

6、如右图所示,编写程序,使窗体中的两个汽车图形 能够相向运动直至相撞。此时屏幕弹出一个消息窗口显示 “某年某月某日发生交通意外” 显示日期为当前系统日期。 。 【提示】根据两车的位置来判断是否相撞。  代码编写: 代码

遇到的主要问题及分析: 51 【选作题 1】窗体有一个矩形和一个圆,还有一水 平滚动条和一垂直滚动条。程序运行时,移动某个 滚动条的滑块,可使圆作相应方向的移动。滚动条 刻度值的范围是圆可以在矩形中移动的范围。 (如 右图所示) 。 【提示】水平滚动条和垂直滚动条的 Min 和 Max 属性值与矩形的位置及大小有关,最好 通过代码在 Form_Load 事件中设置。  代码编写: 代码

遇到的主要问题及分析:

【选作题 1】模拟 Windows 屏幕保护程序(如下图所示)。 可按下面提示分步实现(也可以以你的聪明才 智,一步到位) :   文字从右往左运动,完全移出屏幕时同从屏幕最右边 重新出现并继续左移。 文字能像弹球一样,碰到窗体边缘时能反弹。 每次碰到窗体边缘反弹时字体的颜色和大小随机变化。

【提示】移动控件的位置有两种方法(其中 w 和 h 分别表示水平方向或垂直方向移动的距 离):

Label1.Left=Label1.Left + h Label1.Top=Label1.Top + v Label1.Move Label1.Left + h Label1.Move Label1.Left, Label1.Top + v 52 重要提示:如果水平方向移动的距离为 h,则当控件碰到窗体的边缘时,控件应该向 相反的方向移动,即 h=-h,垂直方向也一样。  代码编写: 代码

遇到的主要问题及分析: 实验心得体会 成绩: 教师签名: 53 实验日期 年 月 日 实验十 实验目的: 数组

1、掌握数组的声明、数组元素的引用。

2、掌握静态数组和动态数组的使用差别。

3、掌握数组的基本操作。应用数组解决与数组有关的常用算法。

实验内容:

1、随机产生 10 个 200 到 300 的整数,求最大值及其下标、最小值及其下标、平均值, 并显示数组的所有元素值(按每行输出 5 个元素)以及最大值及其下标、最小值及其其下 标和平均值。  代码编写: 代码

Private Sub Form_Click() Dim a(1 To 10) As Integer t=0 For i = 1 To 10 a(i) = Int(Rnd * 101 + 200) Print a(i); If i Mod 5 = 0 Then Print t = t + a(i) Next i Print "平均值为:"; t / 10 Max = a(1): imax = 1 Min = a(1): imin = 1 For i = 2 To 10 If a(i) > Max Then Max = a(i): imax = i If a(i) < Min Then Min = a(i) imin = i Next i Print "数组最大值为"; Max, "最大值下标为"; imax Print "数组最小值为"; Min, "最小值下标为"; imin End Sub 【进一步思考】 1) 将这个 10 个数字, 其前 5 个数字与后 5 个数字对换并输出, 即: 第一个数字与第六个数字互换, 第二个数字与第七个数字互换,…… ,第五个数字与第十个数字互换。 遇到的主要问题及分析: 54 代码

For i = 1 To 5 x = a(i) a(i) = a(i + 5) a(i + 5) = x Next i For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Next i 遇到的主要问题及分析:

2)如果要求这 10 个数字不重复呢?。 (提示:要产生不重复的整数,则需要每产生一个整数,就 在数组中查找新产生的数据是否已经存在数组中了,若有,则重新产生;若没有,则将产生的整数放入 数组中,下标加 1) 遇到的主要问题及分析: 代码 Private Sub Form_Click() Dim a(1 To 10) As Integer a(1) = Int(Rnd * 101 + 200) Print a(1); For i = 2 To 10 t = Int(Rnd * 101 + 200) For k = 1 To i1 If t < a(k) Then t = Int(Rnd * 101 + 200) k = 0 '有重复的数,则重新产生,新数和 a(1)-a(i-1)比较有无重复 End If 遇到的主要问题及分析: 在上面一道题的基础上更改 红色的字即可 t < a(k) 55 Next k a(i) = t Print a(i); If i Mod 5 = 0 Then Print Next i End Sub 4)随机输出 10 个不重复的的 A~Z(包括 A 和 Z)的大写字母呢?

代码

Private Sub Form_Click() Dim a(1 To 10) As Integer a(1) = Int(Rnd * (9065 + 1) + 65) For k = 1 To i65 + 1) + 65) k=0 End If Next k a(i) = t Print Chr(a(i)), If i Mod 5 = 0 Then Print Next i End Sub 遇到的主要问题及分析: 不重复的方法同 2),随机 数范围[65,90]

2、分类统计输入一串字符,统计各字母出现的次数,不区分字母大小写。

【提示】 (1)统计 26 个字母出现的个数,必须声明一个具有 26 个元素的数组,每个元素的下标表示相应 的字母,元素的值表示对应字母出现的次数。 (2)从输入的字符串中逐一取出字符,转换成大写字符(使得大小写不区分) ,进行判断。

 代码编写: 代码

遇到的主要问题及分析: 课本 121 页例 5.14 56 【进一步思考】 输入 20 个百分制成绩, 统计并输出各分数段人数, 0~

59、60~6

9、70~7

9、 即 80~8

9、 90~100。

代码

Private Sub Command1_Click() Dim cj( 1 To 20) As Integer, a(5 To 9) As Integer For i = 1 To 20 cj(i) = Val(InputBox("请输入成绩")) Select Case cj(i) \ 10 Case 0, 1, 2, 3, 4, 5 a(5) = a(5) + 1 Case 6 a(6) = a(6) + 1 Case 7 a(7) = a(7) + 1 Case 8 a(8) = a(8) + 1 Case 9, 10 a(9) = a(9) + 1 End Select Next i For i = 5 To 9 Print a(i), Next i End Sub 遇到的主要问题及分析:

3、编写程序,输出斐波那契级数

1、

1、

2、

3、

5、8……的前 30 项,要求每行输出 5 个。 (用数组来实现)

【提示】 斐波那契数列的特点是:第

一、第二都是 1,从第三项开始,前面相邻两项之和,构成了后一项。 即 : a(n)=a(n-1)+a(n-2)。

代码 Private Sub Command1_Click() Dim a(30) As Long a(1) = 1 a(2) = 1 For i = 3 To 30 a(i) = a(i1) Next i For i = 1 To 30 Print a(i); If i Mod 5 = 0 Then Print 遇到的主要问题及分析: 整型数会溢出 57 Next i End Sub 【进一步思考】输出斐波那契级数

1、

1、

2、

3、

5、

8、13……,当某项的数值大于或等于 30000 时结束。

代码

Private Sub Command1_Click() a=1 b=1 Print a; b; t=2 Do Until c >= 30000 c=a+b Print c; t=t+1 If t Mod 5 = 0 Then Print a=b b=c Loop End Sub 遇到的主要问题及分析:

【选做题 1】 将二维数组 A 中的 100 个元素分别赋给一维数组 B 的每个元素并打印出 来,要求把 A(1,1)到 A(1,10)依次赋给 B( 1)到 B(10),把 A( 2,1)到 A( 2, 10)依次赋给 B( 11)到 B( 20),……,把 A(10,1)到 A( 10, 10)依次赋给 B(91) 到 B(100)。  代码编写: 代码

Private Sub Command1_Click() Dim a(1 To 10, 1 To 10) As Integer Dim b(1 To 100) As Integer For i = 1 To 10 For j = 1 To 10 b((i1, j1, j) End If Next j Next i For i = 0 To 6 For j = 0 To i Picture1.Print Tab(j * 5); a(i, j); Next j Picture1.Print Next i End Sub 【提高题 1】编写一学生成绩统计程序,用户先输

入学生的人数及科目数, 再输入各位学生的各科课程的考 试成绩, 要求该程序可以计算各个学生的平均成绩及每门 课程的平均成绩。程序保存时

程序运行结果如图所示。

【提示】本题使用动态的二维数组能够较好完成任务,数组 的行号表示学生,列号表示科目,分别对数组的行或列进行求和 即可进行学生科目成绩的统计

代码

Private Sub Command1_Click() Dim a() As Integer x = Val(Text1.Text) '人数 y = Val(Text2.Text) '科目数 ReDim a(x, y) 遇到的主要问题及分析: 59 For i = 1 To x For j = 1 To y a(i, j) = InputBox("第" & i & "位同学的第" & j & "门成绩") Next j Next i For i = 1 To x s=0 For j = 1 To y s = s + a(i, j) Next j Picture1.Print "第"; i; "位同学的平均成绩是"; s / y Next i For i = 1 To y s=0 For j = 1 To x s = s + a(j, i) Next j Picture1.Print "第"; i; "门课的平均成绩是"; s / x Next i End Sub 【提高题 2】矩阵转置。编写程序将 2*3 的矩阵转置,即转换成 3*2 的矩阵。 【提示】使用两个二维数组来完成。  代码编写: 代码

Private Sub Command1_Click() Dim a(2, 3) As Integer, b(3, 2) As Integer For i = 1 To 2 For j = 1 To 3 a(i, j) = InputBox("") Print a(i, j); Next j Print Next i For i = 1 To 2 For j = 1 To 3 b(j, i) = a(i, j) Next j Next i For i = 1 To 3 For j = 1 To 2 Print b(i, j); Next j 60 遇到的主要问题及分析: Print Next i End Sub 实验心得体会 成绩: 教师签名: 61 实验日期 年 月 日 实验十一 实验目的: 数组(续)

1、掌握静态数组和动态数组的使用差别。

2、应用数组解决与数组有关的常用算法。

3、掌握控件数组的使用。

实验内容

1、 分别用选择排序法和冒泡排序法实现有 N 个元素数组的排序。N 由键盘输入,数 组元素的值在 1~200 之间,随机产生。  代码编写: 遇到的主要问题及分析: 代码 Dim x( ) as Integer n=val(inputbox(””)) Redim x(n-1) For i=0 to n-1 x(i)=int(rnd*200+1) Next i 选择排序法

参看书 106 页 冒泡排序法 参看书 107 页 62

2、利用 Array 函数给数组 a 赋值(数组元素的个数及每个元素的值自己设定) ,从键 盘上输入一个数据,在数组中进行查找,如果数组中有,则删除数组中的这个元素,如果 没有则提示“没有这个数” 。 代码

遇到的主要问题及分析:

【思考】如果将数组元素读入列表框再做插入或删除其中一个元素,应该怎样编程?

3、输入一系列字符串,按递减次序排列。程序的运行界面如图 11.1 所示。 图形框

图 11.1 实验 3 窗体界面

【提示】 (1)要声明窗体级变量 n(表示放若干个字符串的计数器)及一个字符串数组。 (2)每输入一个字符串,按 Enter 键后将 Text 的内容放到数组中,可用事件: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then … End If End Sub (3) 单击“排序”按钮,进行排序并显示在图形框中。

 代码编写: 代码

创建数组 遇到的主要问题及分析: 63 排序

【选做题】做一个类似图 11.2 的界面的拨号器。 图 11.2 实验 4 窗体界面 图 11.3 实验 5 窗体界面  代码编写: 代码 遇到的主要问题及分析: 64 【提高题】做一个类似图 11.3 界面的简单计算器,并实现对应的功能。  代码编写: 代码 遇到的主要问题及分析: 实验心得体会 成绩: 教师签名: 65 实验日期 年 月 日 实验十二 实验目的: 顺序文件

1、 掌握顺序文件、随机文件和二进制文件的特点和使用。

2、 掌握顺序文件的打开、关闭和读写操作。

3、 学会顺序文件在应用程序的使用

实验内容:

1、初始窗体上有四个命令按钮两个文本框(如图 11.1 所示) 。要求: 1)建立文件名为“t1.txt”的顺序文件,内容来自文本框 Text1。要求:每按一次回车 键则将文本框 Text1 的内容写入文件,并清除文本框 Text1 的内容,直到文本框 Text1 内输入“END”字符串(不区分大小写),关闭文件。 2) “复制文件” 单击 按钮, “t1.txt” 则把 的顺序文件的内容全部复制到新文件 “t2.txt” 中,并给出相应提示。 (只能使用一个变量,不能使用控件。(如图 12.1) ) 3)单击“合并文件”按钮,则将“t2.txt”内容合并“t1.txt”末尾,给出相应提示。 4)单击“显示”按钮,则把“t1.txt”的内容读出来显示在 Text2 中。

图 12.1 实验 1 窗体各个运行状态界面 66  代码编写: 代码 建立文件

遇到的主要问题及分析: 复制文件 合并文件 显示文件内容

2、完善程序,实现:

1) 按下“读入并计数”按钮,将磁盘中的文件 in.txt 的内容读入显示在文本框中, 并分别统计其中字母、数字和其他符号的数量,将结果显示在 Picture1 中。

67 图 12.2 实验 2 窗体各个运行状态界面及 out 文件内容格式

2) 按下“写入文件”按钮,则将统计结果写入文件 out.txt 中,并给出提示“已写 入文件” 。 Dim sz%, ss%, sq% Private Sub Command1_Click() Dim c$ Open c = 【1】 '准备读入 '每次读入一个字符 '将读入的字符显示在 Text1 中 '字母 '数字 '读出的是回车或换行符则不计数 '其他符号 【2】 '打开 in.txt 文件 '读入并计数

Do While Not EOF(1) Text1.Text = Text1.Text & c Select Case c Case Case 【3】 【4】 sz = sz + 1 ss = ss + 1 Case Chr(10), Chr(13) Case Else sq = sq + 1 End Select Loop 【5】 【6】 Picture1.Print "其他";sq; "个" Close #1 End Sub Private Sub Command2_Click() '将结果显示在 Picture1 中

'结果写入文件 '将结果写入 out.txt 中

Open App.Path + "\out.txt" For Output As #1 【7】 【8】 Print #1,"其他";sq; "个" MsgBox "已写入文件" 【9】 End Sub

3、建立如下图所示包括五个命令按钮、图片框、列表框及标签的程序界面。编程实现 下 列功能: 68 List 列表框 Label 标签 Picture 图片框

1)单击“新建”按钮,弹出 Inputbox 用于输入数组的元素个数 N;随机产生任意 N 个[10,100]的随机整数存入数组 A;并把数组 A 的各元素值显示在图片框中(每行 5 个元素) ;同时写入磁盘文件 MyList.dat(与工程文件和窗体文件位于同一文件夹) 。 2)单击“读取” 按钮,将文件 MyList.dat 的数据读出,存入数组 B,同时添加 到列表框中。 3) 单击“计算” 按钮,计算并在标签上输出数组 B 的最大值、最小值和平均值。 4)单击“添加” 按钮,将最大值、最小值和平均值。追加到“MyList.dat”的 末尾并弹出“已写入文件! ”的提示。 5)单击“退出”按钮,则退出应用程序。  代码编写: 代码

新建

遇到的主要问题及分析: 读取文件 69 计算 添加 退出

【选做题】建立一个多用户的密码登录程序,如下图所示。要求:

1)输入用户名及密码,单击“登录”按钮,则判断该用户名是否存在,如果存在,则进一 步判断密码是否正确。分别给出相应提示信息。 2)输入用户名及密码,单击“注册”按钮,则先判断该用户名是否已有人注册了,如无, 则把用户名和密码添加到文件中;如有人注册,则提示"该用户名已存在,请重新输入!" 3)单击“退出”按钮,则退出应用程序

原始窗体

用户名及密码均正确时提示 用户名正确,密码错误 用户名错误 70  代码编写: 代码 登录 遇到的主要问题及分析: 注册

实验心得体会 成绩: 教师签名: 71 实验日期 年 月 日 实验十三 实验目的:

1、 理解自定义函数过程的定义和调用方法;

2、 掌握自定义子过程的定义和调用方法;

3、 掌握子过程与函数过程的使用差别;

过程 实验内容

1、编写一函数过程 Prime(n),对于已知正整数 n,判断该数是否为素数,函数的返回值 类型为布尔型。 代码

Private Sub Command1_Click() Dim n% Dim z As Boolean n = Val(Text1.Text) z = prime(n) If z Then Print "是素数" Else Print "不是素数" End If End Sub Function prime(n%) As Boolean prime = True For i = 2 To n1 If (n Mod i) = 0 Then prime = False Next i End Function 2) 窗体上包含有两个名称分别为 Op1 和 Op2 的单选按 钮,标题分别为“100-200 的素数和” 和“200-400 的素数 和” 。还有一个文本框和两个命令按钮,标题分别为“求和”和 “写入” 。程序运行后,选中某个单选按钮,并单击“求和”按 钮,则计算指明范围内的素数之和,并显示在文本框中。单击“写入” ,则把结果存入 Out.txt 中。 (要求素数判断必须函数来实现) 。 代码

Dim s As Integer Dim m% s = 0 If Option1 Then For m = 100 To 200 Tag = prime(m) If Tag Then s = s + m Next m End If If Option2 Then For m = 200 To 400 Tag = prime(m) If Tag Then s = s + m Next m End If Text1 = s „全局变量 „主过程,求素数和 Private Sub Command1_Click() 遇到的主要问题及分析: 73 End Sub „主过程,结果写入文件

Private Sub Command2_Click() Write #1, s Close #1 End Sub Open "d:\Out.txt" For Append As #1 Function prime(n%) As Boolean prime = True For i = 2 To n1) End If End Function „函数过程 Fac(n) 遇到的主要问题及分析:

1) 利用 Fac(n)函数, 编写程序分别输入两个正整数 X 和 Y, 计算并输出 x!+(x+1)! +(x+2)! + …… +(x+y)!之和。 代码

Private Sub Command1_Click() Dim x%, y%, i% x = Val(Text1.Text) y = Val(Text2.Text) „主过程,计算求和

遇到的主要问题及分析: 74 For i = x To y z = fac(i) s = s + z Next i Print s End Sub Function fac(n%) As Integer If n = 1 Then fac = 1 Else fac = n * fac(nm)) Print z End Sub Function fac(n%) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n1) s1 = ls + Mid(s1, k) i = InStr(s1, s2) Loop 实验心得体会 成绩: 教师签名: 77 实验日期 年 月 日 实验十四 实验目的: 过程(续)

1、掌握自定义子过程以及函数过程的定义和调用方法;

2、掌握形参和实参对应关系;值传递和地址传递的传递方式以及区别。

3、掌握多窗体调用。

实验内容

1、编写一函数过程 FunMax( a( ) ),求一维数组 a 中的最大值。主调程序随机产 生 10 个-100 到 100 之间的整数,调用 FunMax 函数过程,显示数组的最大值。 代码

Function „FunMax( a( ) ) 遇到的主要问题及分析:

End Function Private Sub Command1_Click() „主程序,显示数组的最大值 End Sub 78

2、编写一子过程 ProcMin,求一维数组 a 中的最小值,子过程的形参自己确定。主 调程序随机产生 10 个 100 到 200 之间的整数,调用 ProcMin 子过程,显示数组的最小 值。 代码

Sub „子过程 ProcMin 遇到的主要问题及分析:

End Sub Private Sub Command1_Click() „主程序,显示数组的最小值 End Sub

3、运行下面程序段,体会过程调用过程中传值和传址的区别。

Private Sub test(ByVal p%, ByVal m%, n()) p = p + 1: m = m + 1 n(1) = 999 Print "Sub:"; p; m; n(1) End Sub Private Sub Command1_Click() Dim c() a% = 1: b% = 2 c = Array(1, 2, 3) Call test(a, b + 3, c) Print "Main:"; a; b; c(1) End Sub 运行的结果:

运行的结果: 分析原因:

 运行程序,分析结果。

 将 Private Sub test(ByVal p%, ByVal m%, n()) 分析原因: 79 改为 Private Sub test(p%, m%, n())再运行并分析

根据运行结果回答下面问题: 1) 为什么两种调用方式,a 的输出的结果会发生变化,而 b 却不变?

2) 可以将 Private Sub test(ByVal p%, ByVal m%, n())改为 Private Sub test(ByVal p%, ByVal m%, ByVal n())吗?为什么?

【选作题】从键盘上输入一个整数,则在窗体上显示此整数所有不同的因子及因子个 数。(求因子及因子个数要求用过程完成) 遇到的主要问题及分析: 代码

Sub „子过程 End Sub Private Sub Command1_Click() „主程序 End Sub 【提高题】编写一个包含多个窗体及多个模块的工程: 窗体 1:主窗体,放置按扭,准备调用其他窗体; 窗体 2:输入一个数,显示它是否幸运数;

幸运数:指前两位数字之和等于后两位数字之和的数。 80 窗体 3:输入两个数,显示它们之间的所有幸运数; 窗体 4:输入一个数,显示比它小的最大幸运数;

【提示】  编写判断一个四位数是否幸运数的函数过程 Luck(返回值是逻辑型),放在主窗体中。注意,函数过程是 必须是全局级的 (即在函数定义时加 Public 或者缺省, 但一定不能加 Private) 否则其他窗体不能调用, , 调用时要在函数名前加窗体名,如:Form1.Luck(Text1.text)  先添加几个窗体并分别设置相应的控件及属性,并正确设置启动窗体。程序代码中利用多窗体的语句和方法 将需要的窗体载入内存,不需要的窗体可隐藏或从内存中删去。

代码

Function „判断幸运数函数 Luck 遇到的主要问题及分析:

End Function 窗体 1 Private Sub Command1_Click() End Sub 窗体 2 Private Sub Command1_Click() „判断输入的数是否为幸运数 „显示 Form2 End Sub 81 窗体 3 Private Sub Command1_Click() „两数之间的幸运数 End Sub „比某数小的最大幸运数

窗体 4 Private Sub Command1_Click() End Sub 实验心得体会 成绩: 教师签名: 82 实验日期 年 月 日 实验十五 实验目的: 菜单及通用对话框

1、掌握下拉菜单的规划、设计和使用方法。

2、掌握弹出式菜单的设计和使用方法。

3、掌握各种对话框的使用方法。

实验内容

1、设计菜单(如右图所示),在窗体上放置一个文本框,设置其 Multiline 属性为 True。设计包含有 3 个主菜单项的菜单系统,分别为“文件”“格式”和“查找” 、 。其中 “文件”包括 “打开”“保存” 、 、 “清除”和“退出”四个子菜单。 “清除”与“退出” 之间有一条分隔线。 “格式”包括“字体”和“颜色”两个子菜单。 “查找”包括“查找下 一个”和“替换”两个子菜单。为菜单编写如下 有关代码: 1)新建:新建一个空的文本文档 2)打开:弹出打开对话框,打开文件显示在 文本框中 3)保存:弹出保存对话框,将文件保存到指 定路径中。 4)退出:关闭应用程序 5)字体:弹出字体对话框,设置文本框的字体属性 6)颜色:弹出颜色对话框,设置文本框的字体颜色 7) 查找: 显示如图输入对话框, 输入要查找的内容后, 可在文本框内查找指定的内容。

要求:1) “格式”菜单的显示与否与文本框中有无内容相关联,当文本框中的内容 为空时,隐藏“格式”菜单;当文本框输入内容的时候,显示“

格式”菜单。 3) 可通过鼠标右键弹出“格式”菜单。 83 代码

Sub „新建空的文档 遇到的主要问题及分析: End Sub Sub „打开

End Sub Sub „保存 End Sub Sub „清除 End Sub Sub „退出 End Sub Sub „字体

End Sub Sub „颜色 End Sub 84 Sub „查找下一个 End Sub Sub „替换 End Sub Sub „显示隐藏格式菜单 End Sub Sub „右键弹出格式菜单 End Sub 实验心得体会 成绩: 教师签名: 85 实验日期 年 月 日 实验十六 实验目的: 随机文件(选作)

1、掌握自定义类型的定义及其变量的声明以及变量元素的引用。

2、掌握随机文件的打开、关闭和读写操作。

3、学会随机文件在应用程序的使用。

实验内容

1、窗体上 Form1 上有三个命令按钮,两个图片框,和一个标签(如图 16.1) 。 Picture1 Picture2 图 16.1 实验 1 运行界面 要求: 1)自定义一个 StudType 类型,包括姓名、性别、电话号码和学校四个成员,结构如下: 姓名 (Name) :字符串(长度为 10) 性别(Sex) :字符串(长度为 2) 电话号码(Tel) :字符串(长度为 11) 学校(School) :字符串(长度为 20) 遇到的主要问题及分析: 代码

Type „自定义 StudType 类型 End Type 86 2)程序运行后,单击“文件写入” ,则以随机存取方式打开当前目录下的文件”Stud.txt”,把 记录个数显示在标签 Label1 中;并根据提示向文件添加记录,每写入一个记录后,都要询问是否再 输入新记录,回答”N”或”n”时,则停止输入;重新更新标签中的记录个数。 遇到的主要问题及分析: 代码

Sub „向文件添加记录 End Sub 3)单击“文件读取” ,则以随机存取方式打开当前目录下的文件”Stud.txt”,读取文件中的全 部记录,并在图片框 Picture1 显示出来,并把记录个数显示在标签 Label1 中。 遇到的主要问题及分析: 代码

Sub „读取文件中的全部记录 End Sub 4)单击“指定记录读取” ,则弹出一个输入框,提示输入所要显示的记录号,以随机存取方式打 开当前目录下的文件”Stud.txt”, 读取指定记录号的记录, 并在并在图片框 Picture2 显示出来。 程序运行结果如下图所示。

87 代码

Sub „读取文件中的某条指定记录 遇到的主要问题及分析: End Sub 实验心得体会 成绩: 教师签名: 88 附录:VB 统考编程题(精选)

【特别提醒】 统考中的编程题目通常在某个指定的文件夹下面已经

有现成的但不完整的窗体或部分程序,考生在已有的基础上补充完 成,不需要自己重新做窗体和编程。正确的作法是打开指定文件夹 中的工程文件(.vbp) ,之后按题目要求完成并保存。

一、简单操作题(15 分/题)

1、 在名称为 Form1 的

窗体中建立一个名为 HS1 的水平滚动条,其最大值为 200,最小值为 0,使用 属性窗口设置控件属性。程序运行后,每次修改滚动条的位置时都执行语句 Print HS1.value。

图附 1 简单操作 1 运行界面

2、请在窗体上添加三个文本框,名称分别为 Text

1、Text2 和 Text3,要求程序运行的时候,焦点 光标在 Text1 上,按下键盘上的 Tab 键后,焦点跳到 Text3 上。(本题不需要编写代码,只需设置 对应的属性即可)。

3、窗体上有一个框架名称为 Frm1,标题为“框架” ,高度为 2000,宽度为 3000.再在框架中画一个文本 框,名称为 T1 , 距离框架左边的距离为 500,上边的距离为 300。文本框的初始内容设置“文本框” , 同时将窗体的标题设置为“框架及文本框” 。

4、 1)设置图像框的初始大小 Height 为 1500,width 为 2000; 2)窗体的最大化,最小化按钮不可见;(提示设置窗体的 MaxButton 和 MinButton 属性) 3)单击缩小按钮,图像框的大小缩小 300,即 Height 和 width 分别减少 300; 4)单击放大按钮,图像框的大小增加 500,即 Height 和 width 分别增加 500; 5)按回车键相当于按“放大”按钮;(提示设置按钮的 Default 属性) 6)按“Esc”键相当于按“缩小”按钮;(提示设置按钮的 Cancel 属性) 注意:控件的初始属性必须通过属性窗口来设置,否则不给分。 (本题将几个简单操作题合并) 图附 2 简单操作 4 运行界面

5、Form1 上画一文本框 Text1,通过属性窗口设置属性实现以下功能: 1)窗体标题为“设置文本框属性” 2)文本框可显示多行,显示垂直滚动条,用 3 号黑体显示“程序设计”

89

6、 窗体上有两个名称分别为 cmd1 和 cmd2 的按钮, 运行程序时只能看到 cmd1, 单击 cmd1, cmd2 则 出现,cmd1 隐藏,单击 cmd2,则 cmd1 出现,cmd2 隐藏。

7、 建立如下菜单: 第一级 文件 打开 新建 关闭 编辑 第二级 名称 File Open New Close Edit 有效性 有效 有效 有效 无效 有效

8、窗体上有一个文本框和标题为“复制”的命令按钮 C1,编程实现:运行时窗体标题为“修改文本框 内容”(可在 Form_Activate ()事件中修改);单击按钮,按钮上的标题复制到文本框,并使按钮 不可用;单击窗体空白处,按钮可用。(20 分)

图附 3 简单操作 8 运行界面

9、 单击命令按钮 Cmd1, 用代码设置滚动条 Vsb1 的属性: max 为窗体高度, min 为 0, LargeChange 为 50,SmallChange 为 10。当拖动滚动条的滑块时,窗体上显示滚动框的位置值。

10、 窗体上有一个文本框和一个水平方向的滚动条, 编程设置: 将滚动条的 min、 max 、 Largechang、 SmallChang 的初始值分别设置为 0,2200,25,5;当移动滚动条时,可扩大或缩小文本框

的高度, 并保持高与宽的比例为 1:3。

11、 窗体上有一个文本框和一个垂直方向的滚动条, 在窗体上设置: Text1.Text 为 “家” FontName , 为黑体,滚动条的 min、max 、Largechang、SmallChang 的初始值分别设置为 10,100,5,2; 当移动滚动条时,Text 的字体随之改变。

12、窗体中有一个标签和一个计时器,设置计时器的间隔为 3 秒。每 3 秒标签显示→隐藏→显示。

13、窗体上有垂直和水平滚动条,设置其最大值 100,最小值 0,增量为 10,鼠标单击滚动条时将两 个滚动条的值分别显示在两个标签中,显示的格式类似 X=36,Y=80。

基本应用题(20 分/题)

1、在名称为 Form1 的窗体中将窗体标题设置为“售货机”,在窗体中已有一个名称为 Pic1 的图片框, 请画两个标签 Label1 和 Label

2、两个框 Text1 和 Text

2、一个名称为 Command1 的命令按钮(如 图所示),使用属性窗口设置控件属性。程序运行后,输入货物的数量及单价,单击“总价=”按钮求 出总价(总价=数量*单价)并输出在 Pic1 中(不必进行数据的有效性验证)。

图附 4 基本运用 1 运行界面 图附 5 基本运用 2 运行界面 90

2、窗体中有两个标题分别为“体育”和“音乐”的复选框和两个标题为“选修”和“不选修”的单选 按钮,一个名称为 Label1 的标签。编写适当的事件过程,使得程序运行时对复选框和单选按钮进行选 择,单击窗体,可根据下表的规定在标签中显示相应信息。 选择 Check1 和 Option1 Check1 和 Option2 Check2 和 Option1 Check2 和 Option2 Check

1、Check2 和 Option1 Check

1、Check2 和 Option2 在标签中显示的信息 只选修体育 不选修体育 只选修音乐 不选修音乐 选修音乐和体育 不选修音乐和体育

3、窗体上有一个文本框 Text

1、一个标签 Label1 和两个名称分别 C1 和 C2 命令按钮,标题分别为 “显示”和“恢复”,编写程序,程序运行时,在文本框中输入“学习 VB 知识”,再单击“显示”按 钮,则标签和文本框消失,并在窗体上显示文本框的内容。单击“恢复”按钮则标签和文本框恢复如初。

4、 窗体上有两个标题分别为“添加”和“清除”的命令按钮,以及两个列表框。编写程序,在右边的 列表框中选择一个列表项,单击“添加”按钮,则把该选项移动左边的列表框中。在左边的列表框中选 择一个列表项,则把该项移回列表框中。

5、 窗体上一个名称为 C1,标题为:“输入”的命令按钮和一个文本框。程序运行后,单击命令按钮则 弹出一个对话窗口提示“是否输入”,提示窗口上只有两个命令按钮:“是”和“否”,文本框中显示 选择的命令按钮返回值。

6、窗体上有一个名称为C1,标题为“确定”

什么是长尾关键词?简单来说,就是比较长的关键词,甚至是一个短句,这类关键词的特点是针对性强、搜索量少。长尾关键词如果覆盖的全面,依然可以提供给网站可观的流量。一般挖掘长尾关键词我们会采用工具等方式,下面墨青花就来跟大家讨论一下。

1.工具挖掘

目前网络上长尾关键词的挖掘工具有很多,不过都是大同小异,我们可以利用这些软件和站长工具,输入你的目标关键词,来进行江礼坤长尾关键词的挖掘。这方式简单方便,不过对于寻找精准的长尾关键词帮助不大,我们还需要从这些词里分析出哪些是我们需要的长尾关键词。墨青花个人建议先把这些长尾关键词保存制作成表格,然后通过其他的方式从中筛选。

2.百度指数

百度指数,我们可以通过百度指数来搜索长尾关键词,方法很简单,我们把目标关键词在百度指数上搜索会出现一些副词,再利用这些副词来搜索长尾关键词。这样就可以得到一些长尾关键词,方法虽然不错,但是比较费时费力,并且有的工具可能直接会带这些功能。另外还可以用百度下拉和百度相关搜索得到长尾关键词,不过鉴于目前刷子比较多,墨青花建议酌情选择。

3.竞争对手

从竞争对手那里获取资源,这种方式大家应该都不陌生,知己知彼百战不殆嘛,长尾关键词也一样可以从竞争对手那里去获得。仔细分析所有对手的长尾关键词,取其精华,去其糟泊,把这些整合成你自己的长尾。推一把从竞争对收那里获取长尾关键词简单可行,不过缺乏创新,我们依然要自己寻找好的长尾关键词,方便排名占位和扩大覆盖面积。

4.问答平台

各种问答平台是我们找寻精准的长尾关键词的良师益友,平台里提出的问题通常比较符合用户的搜索习惯,利用这类问题做长尾关键词可以提供更良好的用户体检,当然内容上也不能差了。比如在百度知道里搜索“公益”,会出现很多有关公益的问题,在里面找浏览次数比较高时间比较短的问题,把这些问题作为长尾关键词,或者变形成自己的长尾关键词。墨青花个人认为这种方式非常不错,并且可以和前三种方式互相印证,帮你找到合适的长尾关键词。

对于长尾关键词的挖掘方法,墨青花就说到这里,长尾关键词的挖掘不应该局限在某一种形式上,更多的换位思考,仔细的分析用户习惯,挖掘出好的长尾关键词并不是什么难事,希望这篇文章能对朋友们有所帮助。

本文转载自skycc营销软件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值