第5章 模块对象和VBA程序设计.ppt_第1页
第5章 模块对象和VBA程序设计.ppt_第2页
第5章 模块对象和VBA程序设计.ppt_第3页
第5章 模块对象和VBA程序设计.ppt_第4页
第5章 模块对象和VBA程序设计.ppt_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 1 第5章模块对象和VBA程序设计 2 本章内容 5 1模块对象概述5 2VBA程序基础5 3选择语句5 4循环语句5 5数组5 6过程 3 5 1模块对象概述 模块 标准模块 是Access数据库7个对象之一 其实质就是没有界面的VBA程序 模块包含若干由VBA代码组成的过程 每个过程完成一个相对独立的操作 不涉及界面 是 纯 程序段 模块具有很强的通用性 窗体 报表等对象都可以调用模块内部的过程 VBA是VB的子集 4 5 2VBA程序基础 5 2 1模块和过程的创建5 2 2数据类型 常量 变量与表达式5 2 3VBA的常用内部函数5 2 4数据的输入与输出 5 5 2 1模块和过程的创建 1 新建模块模块由过程组成 而过程由程序员编写程序形成 例5 1 创建一个名为 模块入门 的新模块 保存为 模块入门 模块 新建 6 5 2 1模块和过程的创建 2 过程过程由VBA语句组成 是一段相对独立的代码 过程与过程之间相互隔离 系统不会从一个过程自动执行到另一个过程 但一个过程可以通过调用执行另一个过程 过程不是Access的一个独立对象 不能单独保存 只能存在于模块中 过程以Sub 的形式开头 圆括号内放置该过程被调用时需接受的参数 以EndSub结束 7 5 2 1模块和过程的创建 3 新建过程 例5 2 在 模块入门 模块中创建一个Hello过程 用户输入 执行过程 双击 SubHello MsgBox 大家好 EndSub 8 5 2 1模块和过程的创建 4 模块的构成在通用声明段定义的变量称为模块级变量 这些变量可以在本模块的各个过程中使用 在过程内部定义的变量称为过程级变量 其使用范围只限于本过程 9 5 2 2数据类型 常量 变量与表达式 1 VBA的数据类型 10 5 2 2数据类型 常量 变量与表达式 2 标识符标识符 程序中常量 变量 过程等对象的名字VBA标识符规定 第一个字符必须是字母包含的字符数不超过255个不得与VBA的关键字同名 如不能使用Sub For If Dim等 11 5 2 2数据类型 常量 变量与表达式 2 标识符VBA标识符规定 不能使用下列字符 空格 从增强程序可读性角度出发 标识符应使人望文生义 用具有实际意义的单词词组 例如 平均工资的标识符用 AverageSalary运输日期的标识符用 ShipDate 类型符 12 5 2 2数据类型 常量 变量与表达式 3 常量常量 VBA在运行时其值始终保持不变的量字符串常量放在一对 内 日期 时间型常量放在一对 内 如 中国 9 1 2005 等 符号常量 用标识符保存一个常量值使用Const语句定义符号常量 如 ConstPai 3 141569ConstTermBeginDate 9 1 2005 表示赋值 13 复习 模块与过程的关系 创建方法VBA常用数据类型日期型 Date 布尔型 Boolean 整型 Integer 长整型 Long 单精度型 Single 字符串 String 常量文本型 abc 日期型 4 1 2010 Const常量名 常量值 14 5 2 2数据类型 常量 变量与表达式 4 变量变量 程序运行期间值可以改变的量变量在使用前应该用Dim语句进行声明DimAs As DimStudentNameAsStringDimGradeAsInteger AvgGradeAsSingleDimPassedAsBoolean ExamDateAsDate 15 5 2 2数据类型 常量 变量与表达式 4 变量默认情况下 变量可以不经声明即可使用 该变量被自动声明为Variant类型 变体型 Variant类型变量可以接纳各种类型的数据 在变量使用前最好根据实际类型进行声明 16 5 2 2数据类型 常量 变量与表达式 强制实现变量先定义后使用 在代码窗口中执行 工具 选项 命令 此后新创建的模块中 窗口顶端自动出现 OptionExplicit 编辑器 要求声明变量 17 5 2 2数据类型 常量 变量与表达式 5 运算符算术运算符 幂 取负 整除 Mod 取余 注意优先级先后顺序 可通过 改变运算顺序 18 5 2 2数据类型 常量 变量与表达式 5 运算符关系运算符 其值为一个布尔量 True或False 不等于 逻辑运算符 连接关系表达式或布尔值Not And Or连接运算符 用于连接字符串 可将几个不同类型的值连接成一个字符串 19 5 2 2数据类型 常量 变量与表达式 例5 3 输出当天日期及距2012年元旦的天数在 模块入门 模块中添加如下Today 过程 运行结果 SubToday MsgBox 今天的日期是 Date 距2012年1月1日还有 1 1 2012 Date 天 EndSub 20 5 2 2数据类型 常量 变量与表达式 6 表达式表达式 用运算符将常量 变量 函数等连接起来的式子 书写在一行上 如 表达式可分为 算术表达式 如Count Count 1关系表达式 如C20逻辑表达式 如Age 60 b Sqr b 2 4 a c 2 a 21 5 2 3VBA的常用内部函数 例5 4 求8x2 10 x 75 0的两个实根 运行结果 P132 22 5 2 3VBA的常用内部函数 内部函数 标准函数 的调用格式 函数名 参数 例如 year now 根据函数返回值的类型 可以将函数分为 数值型函数 教材P130表5 2 字符串函数 教材P130表5 3 日期 时间函数 教材P131表5 4 类型转换函数 教材P131表5 5 23 5 2 4数据的输入与输出 1 InputBox 函数InputBox Prompt Title Default Xpos Ypos 说明 Prompt参数必不可少 用于显示输入提示文本 Title参数用于指定对话框标题 缺省标题为 MicrosoftofficeAccess Default参数为对话框提供一个默认值 Xpos Ypos参数决定对话框出现在屏幕上的位置 缺省时出现在屏幕中央 返回值为用户输入的值 24 5 2 4数据的输入与输出 例5 5 输入一个年龄值 默认为18岁 然后用MsgBox 输出 SubAge DimNAsByteN InputBox 请输入你的年龄值 输入年龄 18 MsgBox 该生年龄为 N 岁 EndSub 输入提示文本 对话框标题 默认18岁 25 5 2 4数据的输入与输出 InputBox 函数返回值的类型由接受返回值变量的类型决定 例如 D InputBox 测试 1 D为整型变量时 D输出的是默认数值1 D为日期型变量时 D输出的是默认日期1899 12 31 D为Boolean变量时 D输出的默认值为True 26 5 2 4数据的输入与输出 2 MsgBox 函数MsgBox Prompt Buttons Title 说明 Prompt参数必不可少 用于输出结果或提示性文本 Buttons是一个或一组按钮 缺省为一个 确定 按钮 Title参数用于指定消息对话框标题 缺省为 MicrosoftofficeAcces Buttons参数设置方法如P134表5 7所示 函数的返回值如P134表5 6所示 27 5 2 4数据的输入与输出 例5 6 让管理人员用消息对话框决定李卫星是否为马腾跃的研究生 SubIsGraduate DimAnswerAsIntegerAnswer MsgBox 李卫星是马腾跃的研究生吗 vbYesNo vbQuestion IfAnswer vbYesThenMsgBox 李卫星是马腾跃的研究生 IfAnswer vbNoThenMsgBox 李卫星不是马腾跃的研究生 EndSub 28 5 2 4数据的输入与输出 3 Debug窗口在VBA代码窗口的 视图 菜单中称为 立即窗口 对于数据量较大的运行结果 可以用Debug窗口的Print方法输出 Print方法使用 或者 连接输出项 也可以使用 使各个输出项之间空开一定距离 29 5 2 4数据的输入与输出 例5 7 用随机函数产生两个100以内的整数并相加 结果在立即窗口中输出 SubAdd DimXAsInteger YAsIntegerRandomizeTimerX Rnd 99 Y Rnd 99Debug PrintX Y X YEndSub 运行4次 设置随机数种子 使产生的随机数尽可能不一致 30 5 2 4数据的输入与输出 例5 8 输出1 3 5及其对应的平方根 保留3位小数 SubSqr Root Debug PrintTab 5 1 Tab 12 3 Tab 19 5Debug PrintTab 5 Round Sqr 1 3 Tab 12 Round Sqr 3 3 Debug PrintTab 19 Round Sqr 5 3 EndSub 运行结果 Tab n 函数 控制输出项的列位置 31 总结复习 变量DimStudentNameAsString运算符算术 关系 连接 逻辑表达式算数 关系 逻辑常用内部函数数值 字符串 时期 时间 类型转换数据的输入与输出InputBox Prompt Title Default Xpos Ypos MsgBox Prompt Buttons Title Debug窗口 32 5 3选择语句 5 3 1If Then 语句5 3 2If Then Else 语句5 3 3块状选择语句5 3 4选择语句嵌套5 3 5SelectCase语句 33 5 3 1If Then 语句 格式 IfThen关系表达式或逻辑表达式成立时执行Then后的语句 否则直接执行If的下一条语句 可以一条语句 也可以是若干条用冒号 隔开的VBA语句组 34 5 3 1If Then 语句 例5 9 随机出一道两位数加法题让小学生回答 35 5 3 1If Then 语句 例5 9 随机出一道两位数加法题让小学生回答 Subtest DimAAsInteger BAsInteger SumAsIntegerRandomizeTimerA 10 Rnd 89 B 10 Rnd 89Sum InputBox A B 两位数加法 IfSum A BThenMsgBox 答案正确 IfSumA BThenMsgBox 答错了 正确答案是 A BEndSub 36 5 3 2If Then Else 语句 格式 IfThenElseIf后的表达式成立时执行Then后的语句 不成立时执行Else后的语句 然后程序继续执行If后的其他语句 IfSum A BThenMsgBox 答案正确 IfSumA BThenMsgBox 答错了 正确答案是 A B IfSum A BThenMsgBox 答案正确 ElseMsgBox 答错了 正确答案是 A B 等价 37 5 3 2If Then Else 语句 例5 10 编写过程实现 通过键盘输入一门课程的考试成绩 用消息对话框显示是否合格 本例的If语句也可改写成 IfGrade 60ThenMsgBox 不合格 ElseMsgBox 合格 SubPassed DimGradeAsIntegerGrade InputBox 请输入考试分数 IfGrade 60ThenMsgBox 合格 ElseMsgBox 不合格 EndSub 38 行式IF选择语句的格式要求 If Then If Then Else 要求必须写在一行中 当语句组较多时 程序的可读性降低 解决方案 采用块状选择语句 39 5 3 3块状选择语句 格式 IfThenEndIf或IfThenElseEndIf IfGrade 60ThenMsgBox 合格 ElseMsgBox 不合格 EndIf 40 5 3 3块状选择语句 注意 Then后面不能有其他语句 单引号引导的注释语句除外 一旦有语句 VBA就认为是行式IF语句 从而断定EndIf是多余的 程序运行出错 41 5 3 4选择语句嵌套 IfThenElseIfThen ElseifThen Else EndIf 适用条件 当条件不成立时 在Else后再用If语句作进一步的判断 ElseIf之间没有空格 42 例5 11 编写过程实现 通过键盘输入一个成绩值 判断它是优秀 90分及90以上 合格还是不合格 Subgrade DimgradeAsInteger evaluAsStringgrade InputBox 请输入成绩 Ifgrade 90Thenevalu 优秀 ElseIfgrade 60Thenevalu 合格 Elseevalu 不合格 EndIfmsgboxgrade 分的等级为 evaluEndSub 43 5 3 4选择语句嵌套 SubGrade DimGradeAsInteger EvaluAsStringGrade InputBox 请输入考试分数 IfGrade 60ThenEvalu 不合格 ElseIfGrade 90ThenEvalu 合格 ElseEvalu 优秀 EndIfMsgBoxGrade 分的等级为 EvaluEndSub P138 44 5 3 4选择语句嵌套 指出下面条件语句中隐含的错误 IfGrade 60ThenEvalu 不合格 IfGrade 90ThenEvalu 合格 ElseEvalu 优秀 EndIf 45 思考与练习下面的程序中能运行的是 A ifx0theny x 3B ifx10andx 29elsey xy y 2endifendif答案 B 46 5 3 5SelectCase语句 SelectCase语句是多分支选择语句 格式 当测试表达式的值满足某个表达式时 程序就执行该语句 如果没有一个表达式的值能满足测试表达式 则执行CaseElse后的语句 SelectCaseCaseCase CaseElse EndSelect 47 例5 12 将百分制成绩转换成文字描述的等级分 SubGrade1 DimGradeAsInteger EvaluAsStringGrade InputBox 请输入考试分数 SelectCaseGradeCase100 Evalu 满分 Case90To99 Evalu 优秀 Case80To89 Evalu 良好 Case70To79 Evalu 中 Case60To69 Evalu 合格 CaseIs 60 Evalu 不合格 CaseElse Evalu 数据错误 EndSelectMsgBoxGrade 分的等级为 EvaluEndSub 48 5 3 5SelectCase语句 说明 测试表达式不一定是关系表达式或逻辑表达式 可以是任意类型 但Case子句中的表达式类型必须与之相一致 如果Case子句中的表达式是一个常量 则该常量直接写在Case之后 如Case100 如果Case子句后的表达式是一个范围 可用To从小到大指定 如Case90To99 Case A To Z 或者使用Is如 CaseIs 3 49 思考与练习 利用Weekday 和Date函数 编写程序判断某天或者今天是星期几 50 输入 输出界面如下 51 Subday1 DimdAsDate weekAsStringd InputBox 请输入日期 Date SelectCaseWeekday d Case1 week 日 Case2 week 一 Case3 week 二 Case4 week 三 Case5 week 四 Case6 week 五 Case7 week 六 EndSelectMsgBox 今天是星期 weekEndSub 52 P156实验 2 编写程序 要求 产生两个10以内随机正整数 用输入对话框显示并要求输入它们的和 如果答案正确用消息对话框显示 正确 如果答案不正确则显示正确结果 3 设有一种商品 售价50元 千克 如果购买10千克以上 则超出10千克的部分可享受9折优惠 超出20千克的部分可享受8折优惠 编写程序 任意输入一个质量值 显示应付的货款 例5 9 53 复习 选择语句行式 If Then If Then Else 块状 If ThenIf Then EndIfElse EndIf选择语句的嵌套SelectCase语句 54 5 4循环语句 5 4 1For Next循环5 4 2DoWhile Loop循环5 4 3双重循环和多重循环 55 5 4 1For Next循环 For Next循环一般用于循环次数已知的过程语法格式 For 初值To终值 Step 循环体 Next 循环变量 步长值为1时可省略Step子句 56 执行流程 循环变量在初值与终值之间 FOR 循环变量 初值 执行循环体 循环变量 循环变量 步长 Next之后的语句 57 5 4 1For Next循环 例 计算S 1 2 100Subsum DimsAsInteger iAsIntegerFori 1To100step1s s iNextImsgbox 1 100的和为 sEndSub 100以内的奇数和 偶数和 58 5 4 1For Next循环 例 编程计算p 1 3 5 25Submutiply DimpAsDouble iAsIntegerp 1Fori 1To25Step2p p iNextiDebug PrintpEndSub 59 Subeven DimiAsInteger sAsStringFori 10To20Step2s s iNextiMsgBoxs 10至20之间的偶数 EndSub 5 4 1For Next循环 例5 13 编写Even 过程 输出10 20的所有偶数 思考 退出循环时 i的值是多少 为什么 60 Subaverage DimscoreAsInteger IAsInteger sumAsintegersum 0 累加和清零ForI 1To10 循环10次score 300 int Rnd 100 sum sum scoreDebug Printscore NextIDebug Print 换行Debug Print 入学平均分 sum 10EndSub 例5 14 用随机数模拟10位研究生的入学分数 分值为300 399之间的整数 要求在立即窗口输出他们的成绩和平均分 思考 可否将循环修改为 ForI 10To1step 1 61 61 5 4 1For Next循环 例5 15 通过键盘输入一个自然数X 判断它是否为质数质数 除1以外 只能被1和自己所整除的自然数 62 5 4 2DoWhile Loop循环 DoWhile Loop通常用于循环次数未知的过程语法格式 DoWhile 循环体 Loop循环体中必须有 破坏 循环条件成立的语句 以免 死循环 强制终止循环的语句是ExitDo 跳出循环后执行Loop后的语句 63 执行流程 条件表达式 循环体 循环体中要有使得条件表达式最终为假的语句或通过ExitDo强制退出 Loop后面的语句 64 5 4 2DoWhile Loop循环 例 计算S 1 2 100Subsum2 DimsAsInteger iAsIntegeri 1DoWhilei 100s s ii i 1LoopDebug Print 1 100的和为 sEndSub 100以内的奇数和 偶数和 65 SubAverage2 DimxAsInteger sumAsInteger IAsIntegerx InputBox 输入第 1 位研究生的入学分数 DoWhilex 1sum sum x 入学分相加I I 1 人数增1x InputBox 输入第 I 1 位研究生的入学分数 LoopIfI 0ThenMsgBox 无有效入学分数 ElseMsgBox 入学平均分 Round sum I 1 EndIfEndSub 例5 16 通过键盘输入若干个研究生的入学分数 以 1为结束标志 求出这些学生的入学平均分 1为结束输入的标志 66 例5 16 也可使用For Next循环语句 将循环终值设为一个足够大的数 一旦输入 1 通过ExitFor强制退出循环 SubAverage3 DimxAsInteger sumAsInteger IAsIntegerForI 1To10000 x InputBox 输入第 I 位研究生的入学分数 Ifx 1ThenExitForsum sum x 入学分相加NextII I 1IfI0ThenMsgBox 入学平均分 Round sum I 1 ElseMsgBox 无有效入学分数 EndIfEndSub 67 思考与练习下面的程序运行结果s与其他3个不一样的是 A s 0C i 1fori 0to5s 0s s idowhiles 15nextis s ii i 1B s 0loopfori 5to10step5D i 1s s idonextis s ii i 1loopuntils 15 答案 C 其他结果均为15 68 例题分析 A S 0 0 1 2 3 4 5 15B i 5s 0 5 5i 10s 5 10 15i 15退出循环C i 1 s 0 s 0 1 1 i 2 s 1 2 3 i 3 s 3 3 6 i 4 s 6 4 10 i 5 s 10 5 15 i 6 s 15 6 21 i 7 退出循环D s 15i 6退出循环 69 69 1 下面这段程序结束以后 i的值是 s 1Fori 1to20step2s s 1i i 4Nexti 第1次循环 i 1 s s 1 2 i i 4 4i加步长 步长为2 i 4 2 620退出循环 此时i 26 s 3 复习For Next循环 70 70 2 程序的功能是计算100以内所有奇数的平方和 即 12 32 992填空使程序完整 SubAdd2 i 1s 0DOWHILEi 100s LOOPMsgBox s EndSub s s i 2i i 2 复习DOwhile Loop循环 71 5 4 3双重循环和多重循环 双重循环 循环语句的循环体内包含了另外一个循环多重循环指三重循环或更多层次嵌套的循环对于一个外层循环有m次 内层循环有n次的双重循环 其核心循环体将重复执行m n次 72 循环的执行次数 Subxunhuan DimiAsInteger jAsIntegerFori 1To3Forj 1To4Debug Printi jNextjNextiEndSub 73 例1 在立即窗口输出如下图所示的图形 Substar DimiAsInteger jAsIntegerFori 1To5Forj 1To5Debug Print NextjDebug PrintNextiEndSub i 1 i 5 j 1 j 5 74 5 4 3双重循环和多重循环 例 在立即窗口中打印输出如下图形 Substar Fori 1To5Forj 1ToiDebug Print NextjDebug PrintNextiEndSub 75 75 p 1FORj 1toip p jNEXTj s 0FORi 1TO25s s iNEXTi 求累加和 求阶乘 补充例题 编程计算s 1 2 3 25 76 76 补充例题4 编程计算s 1 2 3 25 Subadd3 s 0p 1FORi 1TO25FORj 1toip p jNEXTjs s pNEXTiMsgBox s Endsub 思考题 编程计算s 1 3 5 25 77 5 5数组 5 5 1数组概念5 5 2一维数组5 5 3二维数组 78 5 5 1数组概念 数组是一种数据存储结构 它用一个标识符保存若干个数据 用不同的下标予以区分 Array 0 17Array 1 19 数组中的每个数据称为元素每个元素类型相同 占用同样大小的存储空间通过下标可访问数组中的每个元素 数组分为一维数组 二维数组和多维数组 79 5 5 2一维数组 一维数组中的元素呈直线状排列 每个下标对应一个元素 数组在使用前必须先行定义 语法格式是 Dim To上界 As数据类型若省略下标下界 则数组的最小下标为0 例如 DimA 10 AsDoubleA数组共有11个元素 下标的起止范围是0 10 80 5 5 2一维数组 说明 定义数组时 下标的下界值和上界值必须是常量值或符号常量 不能使用变量 引用数组元素时 下标不得超出所定义的下界和上界 否则程序的执行将被中断 同时系统报错 使用数组时 用LBound 和UBound 函数可得到该数组下标的下界和上界值 81 实验 5 用随机函数生成20个两位数在立即窗口中输出 并找出其中的最小数 指出是第几个数 分析 1 先通过循环取得20个数 放在一个数组中2 定义一个变量m 或者使用数组的第一个下标为0的元素 来存储最小的数 另外定义一个变量来存储最小数的位置k3 将第一个数赋值给最小值m 并保存第一个数的位置k 14 利用循环对第2到20个数依次与最小值进行比较 一旦某个数比m小 就将其赋给m 并记录其位置n5 循环结束得到最小值及其位置 82 83 5 5 3二维数组 二维数组中数据排列呈平面状 可保存一个二维表的信息 数组元素使用行下标和列下标定位 定义格式 Dim To 上界 To 上界 As数据类型如果省略下标的下界值 则下界值默认为0例如 DimA 3 4 AsInteger声明的A数组有4 5 20个元素 84 5 6过程 5 6 1Sub过程5 6 2Function过程5 6 3过程调用中的参数传递方式 85 5 6 1Sub过程 VBA模块的过程可分为Sub过程和Function过程两大类 区别在于前者没有返回值而后者有 1 Sub过程的语法格式Sub 参数表 语句EndSub 被另一个过程调用时 参数表用于接纳所需的数据 如果没有参数可传递 被调用过程就是无参过程 86 5 6 1Sub过程 2 过程的调用过程在执行中可以调用另外一个过程 同时将参数传递过去 调用完毕再回到本过程继续执行 过程的调用方法 Call 参数表 或参数表 87 5 6 1Sub过程 例5 24 用过程Data Plus输入4个数据排列成矩形 分别求出它们横向 纵向的和及总和 要求 输出结果中有3条由15个 组成的横线 这些线使用一个过程Line1生成 88 5 6 1Sub过程 SubLine1 绘制由15个 组成的横线DimIAsIntegerForI 1To15Debug Print NextIDebug Print 取消最后的 作用EndSub 89 5 6 1Sub过程 SubData Plus DimAAsInteger BAsIntegerDimCAsInteger DAsIntegerA 23 B 12 C 31 D 19 4个原始数据CallLine1 调用过程绘制第1条横线Debug PrintA Tab 6 B Tab 12 A BDebug PrintC Tab 6 D Tab 12 C DCallLine1 调用过程绘制第2条横线Debug PrintA C Tab 6 B D Tab 12 A B C DCallLine1 调用过程绘制第3条横线EndSub 90 5 6 1Sub过程 主调过程可以向被调过程传递参数 对于主调过程传递过来的参数 被调过程必须使用相等数量 相同类型的变量接受参数值 主调过程的参数称为实际参数 简称实参 被调过程的参数称为形式参数 简称形参 91 调用DataPlus过程时 X Y是实参 A B是形参 调用DataSub过程时 形参与实参的名称一样 都是X和Y 例5 25 用过程InputData输入两个数据 并分别调用DataPlus过程和DataSub过程 完成两个数的加法和减法运算并输出 92 实验 7 修改5 24 使Line1过程绘制的直线长度能由Data Plus过程决定 如果Data Plus过程要求绘制的直线长度少于15个 或多于25个 Line1过程将按15个绘制 如果多于15个 少于25个 按实际个数绘制 93 5 6 2Function过程 Function过程是用户自定义函数 语法格式 Function 参数表 As类型 语句EndFunctionFunction过程亦称函数过程 与Sub过程的区别在于具有返回值 Function过程的返回值通过过程名带回 94 例 编程计算s 1 3 5 25 要求 将阶乘运算用Function过程Factorial实现 用双重循环实现 Subjiechenghe DimiAsInteger jAsIntegerDimsAsSingle pAsSingleFori 1To25Step2p 1Forj 1Toip p jNextjs s pNextiDebug PrintsEndSub Subjiechenghe1 DimiAsIntegerDimsAsSingleFori 1To25Step2s s factorial i NextiDebug PrintsEndSubFunctionfactorial xAsInteger AsSingleDimiAsInteger pAsSi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论