




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBASIC基础 VB开发环境 菜单 工具箱 工具栏 窗体 工程资源管理器一个VB程序也称为一个工程 由一组文件组成 面向对象程序设计 可视化编程 事件驱动等基本概念对象的属性 事件和方法的概念及使用方法 数据表示 定义 与运算符 系统函数和表达式 基本数据类型 字节 整数 长整数 浮点型 字符串型 逻辑型 日期型 变体型等等字节数 取值范围 如何声明 何时使用 一般情况下 对于固定类型的变量 都要指明其数据类型 允许的情况下 可以范围声明大一些 常量的定义掌握日期 逻辑型常量 八进制 十六进制表示c1 aaaBBB D1 02 10 2009 tf true123 45 123 45 O67 HCD O78 aBc 与 abc 作为常量值不同 作为变量则相同符号常量CONST系统定义常量位于对象库中 可通过 对象浏览器 查看如vbRed vbYesNo 变量的定义 后缀字符声明 Dim声明后缀字符 整型假如在窗体的通用部分加入如下语句 OptionExplicit Print语句赋值语句值交换C aa bb cInputboxMsgboxS InputBox 请输入你的姓名 然后单击确定 输入框 王小明 N1 MsgBox 确定输入的数据是否正确 3 数据检查 格式 运算符 系统内部函数和表达式 算术运算 加 减 乘 除 取负 乘方 整除和求余数 及其运算优先级 算术表达式与VB表达式转换 关系运算 x 8关系运算还是赋值 c bbc a b c逻辑运算 NOT AND 0R 及其运算的优先级 字符串运算 2 yy 2 yy s s xs x s 常用内部函数 三角函数Sin Cos Tan和Atn 算术函数Abs Sqr Log Exp和Sgn sin30 写成 Sin 30 取整函数Int x 和Fix x 随机函数Rnd Int Rnd b a 1 a字符串处理函数Trim Ltrim和Rtrim Left Right Len Mid UCase LCase instr x y String n m space n spc n 转换函数Str和Val Chr和Asc str 123 str 123 val 34gfg val yy34tr asc abcd chr 13 chr 10 程序设计基础常见题型 分段函数求值简单循环多重循环之 穷举法多重循环之 打印图形素数字符串处理数制的转换数 钱 时间的拆分最大公约数 最小公倍数迭代法 例1输入学生成绩给出相应等级 Y A 90 x B 80 x 90 C 70 x 80 D 60 x 70 E x 60 主题一 分段函数 选择结构 求值 PrivateSubForm click score Val InputBox 输入成绩 Ifscore 90ThenPrint A ElseIfscore 80ThenPrint B ElseIfscore 70ThenPrint C ElseIfscore 60ThenPrint D ElsePrint E EndIfEndSub 例2求分段函数的值Z X2 y2x 0 y 0X2 y2x 0 y 0X 2y其他 Ifx 0andy 0thenz x x y yIfx 0andy 0thenz x x y yElsez x 2 yEndif 例3编制事件过程Command1 Click 执行该过程时调用InputBox函数输入x 按下式计算y并以标签控件Label1显示y值 2005年春编程 Subform1 click dimxasInteger f x asSingleifx 5thenf x 3x 2 2x 1if 5 x 5thenf x x sinx exp x elsef x spr x 5 logxendiflabel printf x Endsub 找错 结果在标签框显示出来 例5Guess过程是猜数游戏 程序的具体内容是什么 PublicSubGuess DimRAsIntegerDimXAsIntegerDimtimesAsIntegerRandomizeR int Rnd 100 1times 1DoX Val InputBox 输入猜数 SelectCaseXCaseRForm1 Print 猜中了 ExitDo CaseIs RForm1 Print 太大了 继续猜 CaseElseForm1 Print 太小了 继续猜 EndSelecttimes times 1loopWhiletimes 5Iftimes 5ThenPrint 猜数失败 游戏结束 Print 正确答案为 Str R EndIfEndSub 主题二 简单循环 例1求1 100所有整数的和 S 1 2 3 4 100 例2求1 100的所有奇 偶 数之和例3求1 100调和级数之和S 1 1 2 1 3 1 4 1 100例4S 1 1 2 1 3 1 4 1 n 11 n fori 1to100step1s s inextIPrinti y 1 fh 1fori 2tont 1 i y y fh t fh fhnexti 流程图 设步长为正For循环变量 初值To终值 Step步长 语句块Next 循环变量 例 计算下面数学表达式的程序 n由键盘输入 PrivateSubFormClick DimnAsInteger tAsSingle sAsSingle iAsIntegern InputBox 请输入N的值 s 0 t 1 fh 1Fori 1Tont t is s t I fhfh fhNextiPrintsEndSub PublicSubsum DimfAsSingleDimiAsIntegerDimsignAsInteger 1 f 1Fori 2To 2 f f sign i i 1 3 NextiForm1 Print f fEndSub 例 计算下面数学表达式的程序 计算f 1 1 2 3 1 3 4 1 4 5 1 19 20 程序填空 例 计算1 1 2 1 3 1 99 1 100 的值并打印出来 改错 PrivaleSubform click DimiAsInteger 错误1 DimkAsIntegerDimsAsSingles 0 错误2 Fori 1To100k 1 is s k 错误3 k 1 i 1s s kNextiForm1 Print s sEndSub 例 用近似公式求自然对数的底数e的值 直到最后一项小于10 5为止 PrivateSubForm Click Dimi t e e 1 e存放累加和i 0 t 1 i计数器 t第i项的值DoWhilet 0 00001 i i 1t t Ie e tLoopPrint 计算了 i 项的和是 eEndSub 例6该过程是用于找出分别被3 5 7除 余数为1的最小的5个整数 并将结果输出来PublicSubfind DimcountN n countN 0n 1Don 1 if 2 thenForm1 PrintncountN countN 1EndIfLoop 3 EndSub 编制事件过程Command1 Click 执行该过程时调用InputBox函数输入x 按下式计算y并以标签控件Label1显示y值 111111 22 33 44 5n n 1 1 n由InputBox函数输入 求以上表达式的值 2 求以上表达式的值 直到最后项小于10 4为止计算s 7 77 777 n个7组成的数 n由键盘输入 练习 多重循环之 穷举法例计算方程x2 y2 z2 2000的所有整数解 PrivateSubForm Click DimxAsInteger yAsInteger zAsInteger iAsIntegeri 1Forx 45To45Fory 45To45Forz 45To45Ifx x y y z z 2000ThenPrintx y zNextzNexty xEndSub 外循环执行91次 中间的y循环执行91 91次 内循环一共执行91 91 91次 把一元钞票换成一分 二分和五分的硬币 每种至少有一枚 有哪几种换法 百钱买百鸡 多重循环之 打印图形 988877777666666655555555544444444444333333333333322222222222222211111111111111111 1222333334444444555555555666666666667777777777777888888888888889999999999999999 多重循环之 打印图形 988877777666666655555555544444444444333333333333322222222222222211111111111111111 DimiAsInteger jAsInteger 错误1 Fori 9To1Form1 PrintSpace i 错误2 Forj 1To2 i 1 错误3 Form1 PrintiNextjForm1 PrintNextiEndSub 1121123211234321 12345678987654321 PrivateSubForm Click Dimi j N 9Fori 1TonPrintTab 20 i Forj 1ToiPrintTrim Str j NextjForj i 1To1Step 1PrintTrim Str j NextjPrintNextiEndSub 素数 例 从键盘输入一个数 判断该数是否为素数 n Val InputBox 输入一个正整数N Fori 2Toint Sqr n IfnModi 0ThenExitForNextiIfi int Sqr n ThenText2 Text Text1 Text 是素数 ElseText2 Text Text1 Text 不是素数 EndIf PrivateSubCommand1 Click DimnAsInteger iAsInteger flagasbooleann Val Text1 Text flag true 先假设是素数Fori 2ToSqr n IfnModi 0Thenflag false exitforNextiIfflagThenText2 Text Text1 Text 是素数 ElseText2 Text Text1 Text 不是素数 EndIfEndSub 找出2到100之间的所有素数 素数 续 Forn 2To100Fori 2Toint Sqr n IfnModi 0ThenExitForNextiIfi int Sqr n ThenPrintnNextn 主题 字符串处理 例 程序阅读Modify bas模块中的Findat过程是用于在一个字符串变量中查找 at 并用消息框给出查找结果的报告 没有找到或找到的个数 PrivateSubForm Click Dimstr1AsString lengthAsInteger 字符串长度DimiAsInteger sumAsInteger 查到的个数str1 InputBox 请输入一个字符串 length 1 i 1sum 0DoWhilei 2 If 3 at Thensum sum 1EndIfi i 1LoopIf 4 ThenMsgBox 没有找到 ElseMsgBox 找到了 Str sum 个 EndIfEndSub 主题四 字符串处理 续 本程序用于处理文本框Text1 text中的内容 假设文本框中有偶数个字符 要求将文本框中的内容从头尾至中间依次各取字符 组成一个新的字符串Str2 并在窗体上输出 例如 Textl Text 12345678 则str2 18273645 PrivateSubForm Click DimStr1AsString Str2AsStringStr1 Text1 TextStr2 form 1tolen str1 2Str2 Str2 mid str1 m 1 Str2 str2 mid str1 len str1 m 1 1 nextmForm1 PrintStr2EndSub PublicSubsame DimiAsIntegerDimxAsString x2AsStringFori 1To1000 x1 1 将i转字符型x2 2 将i 2转字符型if 3 ThenForm1 Printi 是同构数 EndIfNextiEndSub 过程same用以找出1 1000之间所有的同构数 所谓同构数是指一个数出现在它的平方数的右端 如25在25平方625的右端 则25为同构数 利用数字转字符再取出右端字符的方法进行判断 主题四 字符串处理 续 过程Uppersen实现从键盘上任意输入一条英文句子 将句子中的每个单词的首字母都变成大写例如 输入iamagoodstudent 要求输出IAmAGoodStudent Fori 1Tonchar mid oldsen i 1 Iflastchar Thenchar ucase char EndIfnewsen newsennewsenEndSub PublicSubUppersen DimoldsenAsString newsen DimcharAsString lastchar DimnAsInteger iAsIntegeroldsen InputBox 请输入英文句子 n len oldsen 以空格作为单词的界定 空格后的字母转换为大写字母lastchar 主题 数制的转换 续 过程DToB采用连除2取余数的方法实现将一个十进制数转换为二进制数 但不完整 请在横线上填入必要的内容 使其完整 PublicSubDToB DimDecAsInteger 输入一个十进制数DimBinAsString 转换为二进制表示DimresAsIntegerDimiAsIntegerDec Val InputBox x Form1 Print 十进制数 DecDores 1 求出除以2的余数Bin 2 Dec 3 LoopWhile 4 Form1 Print 转换为二进制数为 BinEndSub 主题 数制的转换 Modify Bas模块中的Transfer过程用于将一个十六进制整数转换为十进制整数 number函数用于将一个十六进制符号转换为数值 PublicSubTransfer DimHexAsString 十六进制数DimDecAsDouble 十进制数DimtempAsStringDimiAsIntegerDimnAsIntegerHex InputBox 输入一个十六进制整数 错误1 n Val Hex i 0Do 错误2 temp Mid Hex i 1 错误3 Dec Dec number 16 ii i 1LoopWhilei n 错误4 Form1 Printstr Hex 转换为十进制数为 str Dec EndSub PublicFunctionnumber str1AsString AsIntegerSelectCasestr1Case a A number 10Case b B number 11Case c C number 12Case d D number 13Case e E number 14Case f F number 15CaseElsenumber Val str1 EndSelectEndFunction 主题 数 钱 时间的拆分 水仙花数 求出100 999之间所有的Armstrong数 所谓Armstrong数是指一个数等于它每位上数字的立方和 例如 471 4 3 7 3 1 3 那么471就是一个Armstrong数 PublicSubArmstrongNumber DimhundredAsInteger 百位上的数字DimtenAsInteger 十位上的数字DimoneAsInteger 个位上的数字Fori 100To999hundred 1 ten iMod100 10one 2 If 3 ThenForm1 Printi isarmstrongnumber EndIfNextiEndSub 主题六 钱的拆分 过程money用于统计工资salary共需要多少张百元 50元 10元 5元以及1元的面额 salary val inputbox 录入工资数 temp salaryhundred temp 100temp tempmod100fifty temp 50temp temp fifty 50ten temp 10temp tempmod10five temp 5temp temp five 5one tempPrinthundred fifty ten five one 主题 最小公倍数 最大公约数 实现求任意两个正整数的最大公约数Dom Val InputBox m n Val InputBox n LoopWhilem 0orn 0 先将两个整数中的较小数假设为最大公约数 再依次往下 寻找能同时除尽m和n的数即为最大公约数div mIfn mThendiv nEndIfDountil div div 1LoopForm1 Printm 和 n 的最大公约数是 div 主题 最小公倍数 最大公约数 输入n个整数 求它们的最小公倍数PrivateSubForm Click DimiAsInteger gbsAsLong nAsIntegern InputBox n 数组元素的个数n ReDima n AsIntegerFori 1Tona i InputBox a Str i 输入数组元素 Nextigbs a 1 DoFori 2TonIfg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.2走向共同富裕 课件 2025-2026学年度道德与法治九年级上册 统编版
- 象棋学习课件
- 豌豆种植科学课件
- 2025版厦门市区婚姻解除财产分配及子女抚养监护合同
- 2025版智慧家居产业财务顾问及市场拓展合同
- 2025版建筑节能材料研发与应用劳务分包合同范本
- 2025年度商务会议场地及专业设备租赁服务合同
- 2025年度大型会展活动策划合同
- 2025版外卖配送服务合同综合管理范本
- 2025版全新真石漆外墙施工及维护一体化合同
- 驾驶员安全教育培训考试试卷含答案
- 污水处理站运行记录台账范本
- 2025年消毒供应室业务学习考试试题(附答案)
- 校园基孔肯雅热防控措施课件
- 图像特征提取讲解
- 多彩贵州地方课程课件
- 劳技自制收纳盒课件
- 消化道出血的内镜治疗
- GB/T 4623-2006环形混凝土电杆
- GB/T 36572-2018电力监控系统网络安全防护导则
- 甲状腺危象教学课件
评论
0/150
提交评论