教学PPT基本控制结构.ppt_第1页
教学PPT基本控制结构.ppt_第2页
教学PPT基本控制结构.ppt_第3页
教学PPT基本控制结构.ppt_第4页
教学PPT基本控制结构.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

2019年2月27日星期三,安徽工业大学计算机学院,1,第四章 基本控制结构,一、顺序结构 二、分支结构 三、循环结构,一、顺序结构,格式: = 功能: 先计算赋值号(=)右边表达式的值,再将其值赋给左边的变量或对象的属性,赋值语句,一、顺序结构,1.1 赋值语句是vb顺序结构中常用语句,通常有以下三种形式 给变量赋值 给对象的属性赋值 给对象赋值,一、顺序结构,1.1.1.给变量赋值,dim x as integer dim y as string, z as string x =23 * sqr(9) x=x+1 y=“welcome to use visual basic” z=y,一、顺序结构,1.1.2.给对象属性赋值,基本格式: 对象名.属性名=属性值,例如: form1.caption=“第一个vb程序” command1.caption=“退出” text1.text=text2.text,一、顺序结构,1.1.3.给对象属性赋值,即把一个对象的引用赋值给另外一个同类型的对象变量,一般格式为: set 对象名=对象的引用,一、顺序结构,1.2.print方法,通常用于窗体对象与picture对象,输出字符串或图形,具体用法见第二讲窗体部分内容。,1.3.format函数,通常指定字符串或数字的输出格式。语法如下: x=format(待输出内容, 输出格式),一、顺序结构,1.3.format函数,例1.格式化日期型数据 dim mytime as date mytime=#15:03:21# form1.print format(mytime, “h:m:s”) 输出内容为 15:3:21 form1.print format(mytime,”hh:mm:ss ampm”) 输出内容为 03:03:21 pm,一、顺序结构,1.3.format函数,例2.格式化数字输出 dim mystring as string mystring=format(5459.4,”#,#0.00”)5,459.00 mystring=format(334.9,”#0.00”)334.90 mystring=format(5,”0.00%”)500.00%,一、顺序结构,1.3.format函数,常用日期格式字符串,一、顺序结构,1.3.format函数,常用数字格式字符串,1.3.format函数,利用format函数显示有关的日期和时间。 private sub form_click( ) fontsize = 12 mytime = #9:21:30 pm# mydate = #7/21/1997# print tab(2); format(mydate, “m/d/yy“) print tab(2); format(mydate, “mmmm-yy“) print tab(2); format(mytime, “h-m-s am/pm“) print tab(2); format(mytime, “hh:mm:ss a/p“) print tab(2); format(date, “dddd,mmmm,dd,yyyy“) print tab(2); format(now, “yyyy年m月dd日 hh:mm“) print formatdatetime(now) vb6.0新提供的函数 end sub,一、顺序结构,1.4 inputbox()函数,inputbox()函数显示一个能够接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:,inputbox(,标题,缺省,x 坐标,y坐标位置),一、顺序结构,1.4 inputbox()函数,实例:在窗体单击事件中添加如下代码: dim sname as string*40 sname = inputbox(“请输入你的姓名” + vbcrlf + “然后单击确定:“, “姓名输入“, “张三“) form1.print sname,一、顺序结构,1.5 msgbox()函数,消息框常用于在程序运行过程中显示一些提示性信息,或要求用户对某个问题进行选择判断。 消息框msgbox的使用方式有语句方式和函数方式两种 函数方式如下: 返回值=msgbox(,对话框类型,标题),一、顺序结构,1.5 msgbox()函数,消息框msgbox实例: 在窗体单击事件中添加如下代码: dim a as integer a=msgbox(“请你首先注册”,1+16+256+0,”msgbox例子“) print a,一、顺序结构,1.5 msgbox()函数,相关参数说明: 是必选项,不可省略。 是一个整型表达式,它决定了消息框中按钮的 数目和类型以及出现在消息框上图标类型, 具体含义见右图:,返回值=msgbox(,对话框类型,标题),一、顺序结构,1.5 msgbox()函数,相关参数说明: 是一个字符串或字符表达式,被显示在消息框的标题区,若省略之,则标题区显示运行的程序 名称。 msgbox()的返回值记录了用户在消息框中选择了哪一个按钮,具体值含义如右图示: 如果省略了某些可选项,则必须加入相应的逗号分隔符。,返回值=msgbox(,对话框类型,标题),一、顺序结构,1.5 msgbox()函数,相关参数说明: 在使用msgbox输出消息框时,有时候不需要返回值。此时可以使用msgbox语句实现,其格式如下: msgbox ,对话框类型,标题 注意:当msgbox作为语句使用时,不可以使用括号,也不能够获取用户在弹出窗口中单击的按钮。,二、分支结构,2.1 简单分支语句,语法格式: (1). if then end if (2). if then ,二、分支结构,2.1 简单分支语句,程序举例 已知两个数x和y,比较它们的大小,使得x大于y. if xy then t=x x=y y=t end if 或 if xy then t=x: x=y: y=t,二、分支结构,2.2 双分支语句,语法格式: if then else end if if then else ,二、分支结构,2.2 双分支语句,举例: 计算分段函数值:,单分支结构实现: y=cos(x)x3+3*x if x0 then y=sin(x)+sqr (x*x+1),双分支结构实现: if x0 then y=sin(x)+sqr (x*x+1) else y=cos(x)x3+3*x end if,二、分支结构,2.3 if语句嵌套,if语句的嵌套是指if或else后面的语句块中又包含if语句。形式如下: if then if then end if else end if,二、分支结构,2.3 if语句嵌套,例 已知x,y,z三个数,使得xyz 用一个if语句和一个嵌套的if语句实现,if xy then t=x: x=y: y=t if yz then t=y: y=z: z=t if xy then t=x: x=y: y=t end if end if,if语句的嵌套注意事项:书写锯齿型; if 与end if 配对。,二、分支结构,2.4 多分支结构,1、ifthenelseif语句(多分支结构) 语法形式: if then elseif then else 语句块 n+1 end if,二、分支结构,2.4 多分支结构,ifthenelseif语句示例 已知百分制成绩mark,显示对应的五级制成绩。哪些正确,哪些错误?,二、分支结构,2.4 多分支结构,2、select case语句(情况语句) 语法形式: select case 变量或表达式 case 表达式列表1 语句块1 case 表达式列表2 语句块2 case else 语句块n+1 end select,数值型或字符串表达式,:是与同类型的下面四种形式之一: 表达式 “a“ 枚举表达式(用逗号分隔) 2,4,6,8 表达式1 to 表达式2 60 to 100 is 关系运算符表达式 is 60,二、分支结构,2.4 多分支结构,变量strc中存放了一个字符,判断该字符类型。 用多分支结构实现: if strc =“0“ and strc =“a“ and ucase (strc) =“z“ then print strc + “是字母字符“ else print strc + “其他字符“ end if 用select case语句实现: select case strc case “a“ to “z“,“a“ to “z“ print strc + “是字母字符“ case “0“ to “9“ print strc + “是数字字符“ case else print strc + “其他字符“ end select,二、分支结构,2.5 条件函数,iff函数 语法形式: iif(表达式,当表达式为true时的值,当表达 式为false时的值) 例如,求x,y中大的数,放入tmax变量中,语句如下: tmax=iif(x y,x,y),二、分支结构,2.5 条件函数,2.choose函数 语法形式: choose(数字类型变量,值为1的返回值,值为2的返回值,),例如,nop是1-4的值,转换成 + 、-、运算符的语句如下: op= choose(nop,“+“,“-“,“,“) 当值为1,返回字符串“+”,然后放入op变量中,值为2,返回字符串“-”,依次类推;当nop是1-4的非整数,系统自动取nop的整数办法在判断;若nop不在14之间,函数返回null值。,二、分支结构,分支结构综合示例,由计算机来当一年级的算术老师,要求给出一系列的110的操作数和运算符,学生输入该题的答案,计算机根据学生的答案判断正确与否,当结束时给出成绩。 分析:产生110操作数,可通过int(10 * rnd + 1) 实现,设置的控件名 label1 text1 picture1,command1,三、循环结构,循环结构三要素:,1.初始化:决定循环的初始状态,2.循环体:即循环中反复执行的语句块,3.循环的条件:即决定循环何时结束,三、循环结构,3.1 foxnext循环(一般用于循环次数已知),语法格式: for 循环变量初值 to 终值 step 步长 语句块 exit for 语句块 next 循环变量,循环体,循环变量, =,终值,语句块,exit for,语句块,循环变量加步长,t,f,循环变量得初值,t,循环体,三、循环结构,foxnext循环示例,计算1100的奇数和,程序段如下: dim i %, s% s=0 for i = 1 to 100 step 2 s = s + i next i,2019年2月27日星期三,安徽工业大学计算机学院,36,0 初值终值 =0 死循环,循环次数,注意: 出了循环,循环控制变量值的问题。 例程序段: for i=2 to 13 step 3 循环执行次数 print i , 输出 i的值分别为: 2 5 8 11 next i print : print “i=“, i 出了循环输出为: i=14,步长,步长,0 初值终值 =0 死循环,步长,循环次数,注意: 出了循环,循环控制变量值的问题。 例程序段: for i=2 to 13 step 3 循环执行次数 print i , 输出 i的值分别为: 2 5 8 11 next i print : print “i=“, i 出了循环输出为: i=14,三、循环结构,foxnext循环示例1,例 改变循环控制变量对循环的影响。 private sub command1_click() j = 0 for i = 1 to 20 step 2 i = i + 3 j = j + 1 print “第“; j; “次循环i=“; i next i print “退出循环后i=“; i end sub 正常情况:i=1,3,5,7,9,11,13,15,17,19 现在:i=4,9,14,19是由于i = i + 3语句造成的.,三、循环结构,foxnext循环示例2,例 输出可打印的ascii码字符与它的编码值。,2019年2月27日星期三,安徽工业大学计算机学院,39,3.2. doloop循环语句(用于控制循环次数未知) 前测式形式: do while|until 语句块 exit do 语句块 loop,后测试形式2: do 语句块 exit do 语句块 loop while|until ,三、循环结构,doloop循环示例1,我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。 分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n 直接利用标准对数函数求得;也可利用循环求得,三、循环结构,doloop循环示例2,用辗转相除法求两自然数m,n的最大公约数和最小公倍数。,分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)mn,nr,再重复执行(2)。 例 求 m=14 ,n=6 的最大公约数.,if m 0) m=n n=r r= m mod n loop print “最大公约数=“, n,m n r 14 6 2 6 2 0,m n r 14 6 2 6 2 0,if m 0) m=n n=r r= m mod n loop print “最大公约数=“, n,m n r 14 6 2 6 2 0,三、循环结构,3.3 whileend循环,语法格式: while 语句块 exit while 语句块 wend,循环体,循环体,三、循环结构,3.4 循环的嵌套,注意事项: 内循环变量与外循环变量不能同名; 外循环必须完全包含内循环,不能交叉; 不能从循环体外转向循环体内,反之则可以。,一个循环体内又包含了一个完整的循环结

温馨提示

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

评论

0/150

提交评论