《2014广东中职二年级计算机专业程序设计visualbasic课件项目9vb程序面面观》由会员分享,可在线阅读,更多相关《2014广东中职二年级计算机专业程序设计visualbasic课件项目9vb程序面面观(33页珍藏版)》请在金锄头文库上搜索。
1、项目九 VB程序面面观,教学目标,掌握自定义函数的方法; 掌握If语句的多种使用形式; 初步掌握Select Case语句的使用方法; Select Case语句的应用; If-Then-ElseIf语句的应用; 掌握Do循环和For循环的语法格式和功能; 掌握自定义过程的概念及应用; 掌握自定义函数与过程的调用中参数传递的方式。,任务 比一比谁大,本任务是通过判断两个文本框中输入的年龄,判断谁的年纪大。 解决这个问题要用到If语句。,IF语句,格式1:if 条件表达式then语句块end if 功能:当条件表达式的值为true时,则执行语句块,然后到该语句的end if 下面一条语句顺序往下
2、执行。否则语句块不被执行,程序直接到该语句的end if下边一条语句顺序往下执行。,IF语句,格式2:if 条件表达式 then语句块1else语句块2end if 功能:当条件表达式的值为true时,则执行语句块1,否则执行语句块2,然后该语句end if下面一条语句顺序往下执行。,多分支的If语句,双分支语句只能实现单个条件的判定,当实际处理问题有多个条件时,就要用到多分支结构语句。 格式:if 条件表达式1then语句块1elseif条件表达式2then语句块2elseif条件表达式nthen语句块nelse语句块n+1end if,多分支的If语句,功能:格式中各个语句块的意义与前述的
3、相同。程序执行到多分支语句时,首先对条件表达式1进行判断,若成立,则执行相应的分支语句块1。若不成立,则顺序判断条件表达式2是否成立,若成立,则执行语句块2。否则继续向下,如此反复。若前面的n个条件表达式没有一个成立,则程序执行else后的语句块n+1。在n+1个语句块中,只要有一个语句块被执行。则执行后程序到该多分支语句的end if下边一条语句继续往下执行。,任务 随机投票系统,本任务是使用If-Then-ElseIf多分支语句实现对两位候选人的随机投票。,任务 进制转换器,本任务是实现常用进制之间的转换。单击相应的按钮,即实现进制之间的转换。 注意:各种进制之间转换的算法 。,Selec
4、t case 语句,Select case语句能够实现多路分支,其基本格式为: select case测试表达式 case表达式表列1 语句块1 case 表达式表列2 语句块2 case else 语句块n end select,Select case 语句,功能:在程序执行到该语句时,首先计算测试表达式的值,然后按照case分支出现的先后顺序以及case分支中的表达式列表的表项出现的先后顺序进行检测。只要测试表达式的值与某case的某表项的值匹配,则执行该case分支与下一个case 分支之间的语句块,然后到end select后边的语句继续往下执行。若没有找到匹配的case分支,则执行c
5、ase else后边的语句块,然后到end select后边的语句继续往下执行。,Select case 语句,说明: 语句块由一条或任意多条vb任何语句组成。 测试表达式可以是数值表达式或字符串表达式,也可以是一个常量或一个变量。 100 表达式列表的数据类型要与测试表达式的类型一致。,Select case 语句,所谓匹配是指:当测试表达式的值与表达式列表的某常量相等时;当测试表达式的值处于表达式列表的区间范围内时;当测试表达式的值使表达式列表表示的关系成立时。都表示检测有效,程序会到相应的分支去执行;当测试表达式的值同时可以与多个case分支匹配时,第一个被检测的case分支的语句块被执
6、行。,过程,子程序:在VB中,将公用的、能完成某一特定功能的程序设计成可供其它程序调用的、独立的程序段,这种程序段就称为子程序(也称为过程)。 其中子程序(Sub)过程也称为过程。 函数(Function)过程也称为函数。 调用其它过程的过程称为主过程。 被调用的过程称为子过程。,Function函数过程,VB函数分为内部函数和外部函数。 外部函数时用户根据需要用Function关键字定义的函数过程,并且函数过程将返回一个值。 外部函数的 定义: private | public | static Function 函数名( 局部变量或常数定义 语句块 函数名=返回值 exit Functio
7、n 语句块 函数名=返回值 end Function,Function函数过程,说明: 函数名:命名规则与变量名规则相同,但不能与系统的内部函数或其他通用子过程同名,也不能与已定义的全局变量和本模块中的模块级变量同名。 在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句实现的,在函数过程这至少要对函数名赋值一次。 AS类型:是指函数返回值的类型。 Exit Function:表示退出函数过程。,任务 老师好帮手,本任务可以实现输入学生姓名、性别、班级,选择学生考试的科目并输入考试成绩,对学生的成绩进行评定等功能。,任务 学生期末操行测评系统,本任务是利用Select Ca
8、se语句将学生的期末行为规范部分转换成操行等第。 注意:多窗体的创建,启动窗体的设置。,DO循环控制结构,格式:DO循环用于实现次数未知的循环,分为当型循环和直到型循环。,DO循环控制结构,功能:当型循环是当循环条件的值为false时循环结束,否则继续循环;直到型循环是当循环条件表达式的值为true时循环结束,否则继续循环。,任务模拟贴图效果,本任务通过在窗体的一个图片框,利用Do循环制作模拟的贴图效果。,任务 DO循环两种类型对比,Do循环有两种不同的使用方式,一种是Do While-Loop方式,另一种是Do-Loop While方式,这两种方式的不同之处在于第一次执行循环时是否先判断循环
9、的条件。 本任务的作用就是演示这两种方式的不同之处。,FOR循环,格式: for 循环变量=初值表达式 to 终值表达式step步长表达式 循环体 exit for next 循环变量,FOR循环,该语句的执行过程: 计算初值表达式、终值表达式、步长表达式的值。 将初值表达式的值赋值给循环变量。 判断循环变量的值是否超过终值。超过的含义是:当步长大于0时,循环变量的当前值大于终值为超过;当步长小于0时,循环变量的当前值小于终值为超过。若循环变量的值超过了终值,则循环结束,程序到next语句的下边一条往下执行。否则去第4步。 执行一次循环体,将循环变量的值增加一个步长,去第3步。,FOR循环,说
10、明: 当步长为1时,step 可以被缺省; 可以使用exit for语句,从循环体中跳出而终止循环。该语句一般与if语句结合起来,用在for语句中,控制在一定条件下结束循环。 在循环体中一般不要对循环变量进行赋值操作,否则可能导致循环提早结束或成为死循环。 循环体可以是vb中任何合法的语句或语句块,包括嵌套的各种形式的循环语句。,任务流水灯制作,本任务是利用For循环实现20颗星星的颜色的变换,模拟流水灯的效果。,任务图形打印,本任务是使用For循环语句和Print方法,实现在窗体上输出由*号组成的平面图案。 思考: 一个图案是由几行组成的? 每行从什么位置开始输出? 每行输出几列*号?,任务
11、求1!+3!+5!+N!,本任务是计算数学上常见的一个问题,求自然数的阶乘和。 在这个问题中,需要多次计算阶乘N!,只是每次计算时N的值不同。可以自定义一个计算阶乘的函数Factorial,然后调用这个函数来解决问题。,自定义事件过程,除了自定义函数外,在VB中用户还可以自定义事件过程,可以反复被其它程序调用。 格式: private | public | static sub 过程名 (byval | byref形参1as 类型1,byval | byref形参2as类型2) 语句体 exit sub end sub,自定义事件过程,public为可选项。表示应用程序的所有模块的所有其它过程
12、都可调用这个 sub 过程。 private为可选项。表示只在该过程所属的模块中的其它过程可以调用该 sub 过程。如果没有使用 public、private 显式指定,sub 过程按缺省情况就是公用的(public)。 static可选项。表示该过程中使用的所有局部变量为static类型,在过程调用结束后,这些变量的值不被刷新。,自定义事件过程,过程名必选项。取vb合法的用户标识符。它是过程调用的标识。 过程名后的一对括号中是形参说明表列,用于说明在在调用过程时,用于进行数据传递的一组形式参数。定义一个过程时,既可以无参数,也可以定义一个或一个以上的参数。byval、byref关键字是可选项
13、,前者表示该参数按值传递,后者表示该参数按地址传递。byref 是 visual basic 的缺省选项。 sub 过程可以是递归的,也就是说,该过程可以调用自己来完成某个特定的任务。通常 static 关键字和递归的 sub 过程不在一起使用。,自定义事件过程,exit sub 语句是过程中一条可选项,它立即终止sub 过程调用。程序接着从调用该 sub 过程的语句下一条语句执行。在 sub 过程的任何位置都可以有 exit sub 语句,一般与if语句结合使用。 自定义过程无返回值,但可以通过按址传递的参数,将数据处理结果记录在实际参数中。 过程不能嵌套定义,即在自定义过程的内部,不允许再定义过程。,小结,自定义函数 各种常用内部函数 各种数制转换的方法 If语句 Select Case语句 多分支If语句。 Do循环 For循环 自定义函数和自定义过程调用时参数传递的问题,