Visual-Basic程序设计案例教程-4课件_第1页
Visual-Basic程序设计案例教程-4课件_第2页
Visual-Basic程序设计案例教程-4课件_第3页
Visual-Basic程序设计案例教程-4课件_第4页
Visual-Basic程序设计案例教程-4课件_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

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

文档简介

第4章--VisualBasic程序控制结构返回第4章--VisualBasic程序控制结构返回1第4章VisualBasic程序控制结构4.1—顺序结构4.2—单分支和双分支选择结构4.3—多分支选择结构4.4—指定次数的循环结构4.5—基于条件的循环结构4.6—程序调试返回第4章VisualBasic程序控制结构4.1—顺序24.1顺序结构4.1.1实例4.1——画同心圆【实例目标】掌握顺序结构程序的流程【实例内容】

用不同的颜色画3个同心圆。使相邻圆的半径相差200缇

4.1顺序结构4.1.1实例4.1——画同心圆34.1.2顺序结构程序设计顺序结构程序的语句按照从上到下的顺序依次执行设计顺序结构的程序时,要根据实际情况,认真分析完成任务的操作步骤,合理安排程序语句的先后顺序

4.1.2顺序结构程序设计顺序结构程序的语句按照从上44.2单分支和双分支选择结构4.2.1实例4.2——计算数的平方根【实例目标】理解选择结构程序的功能理解双分支选择结构程序的流程【实例内容】编写程序计算一个数的平方根。这个数在程序运行时由用户输入

4.2单分支和双分支选择结构4.2.1实例4.2——54.2.2双分支选择结构程序设计双分支选择结构提供两个程序分支,程序根据判断的结果,在两个程序分支中选择其一执行,并且只能选择其一执行。在VisualBasic中,通常使用块If语句和行If语句实现双分支选择结构的功能4.2.2双分支选择结构程序设计双分支选择结构提供两64.2.2双分支选择结构程序设计1.双分支块If语句语句基本格式:If<条件>Then<语句组1>Else<语句组2>EndIf4.2.2双分支选择结构程序设计1.双分支块If语74.2.2双分支选择结构程序设计语句功能:根据“条件”的当前值,选择执行“语句组1”或“语句组2”。满足条件时执行“语句组1”,不满足条件时执行“语句组2”4.2.2双分支选择结构程序设计语句功能:84.2.2双分支选择结构程序设计语句说明:“条件”可以是逻辑表达式、关系表达式或数值表达式。若是逻辑表达式或关系表达式,则其值为逻辑真值True时满足条件,为逻辑假值False时不满足条件。若是数值表达式,则其值不为0时满足条件,为0时不满足条件。4.2.2双分支选择结构程序设计语句说明:94.2.2双分支选择结构程序设计“语句组1”和“语句组2”由一条或多条VisualBasic语句组成。“语句组1”指定满足条件时执行的操作,“语句组2”指定不满足条件时执行的操作If表示块If语句开始,EndIf表示块If语句结束,它们必须成对使用,缺一不可。并且,EndIf中间的空格不能省略4.2.2双分支选择结构程序设计“语句组1”和“语句104.2.2双分支选择结构程序设计【例4.1】编写程序:如果用户输入一个正数,则以该数为半径画一个亮红色的圆;如果用户输入0或负数,则显示一个说明信息4.2.2双分支选择结构程序设计【例4.1】编写114.2.2双分支选择结构程序设计【例4.2】编写程序,判断学生的数学成绩是否及格,并显示相应的信息。学生成绩由用户在运行程序时输入4.2.2双分支选择结构程序设计【例4.2】编写124.2.2双分支选择结构程序设计1.双分支行If语句语句基本格式:If<条件>Then<语句1>Else<语句2>语句功能:根据“条件”的当前值,选择执行“语句1”或“语句2”。满足条件时执行“语句1”,不满足条件时执行“语句2”

4.2.2双分支选择结构程序设计1.双分支行If语134.2.2双分支选择结构程序设计语句说明:“条件”、“语句1”、“语句2”与双分支块If语句的对应选项意义相同如果某个程序分支包含多条语句,则这些语句要按多条语句写在一行的规则添加冒号4.2.2双分支选择结构程序设计语句说明:144.2.2双分支选择结构程序设计3.IIF函数函数的格式如下:IIF(条件,表达式1,表达式2)函数功能:满足“条件”时返回“表达式1”的值,不满足条件时返回“表达式2”的值参数说明:“条件”与双分支块If语句的对应选项意义相同4.2.2双分支选择结构程序设计3.IIF函数154.2.3单分支选择结构程序设计单分支选择结构只有一个程序分支,只有满足指定的条件,才能执行该程序分支的语句单分支选择结构可以看成双分支选择结构的特殊情况。在双分支块If语句与双分支行If语句的格式中省略Else及其后面的第2个程序分支,即可得到单分支块If语句和单分支行If语句4.2.3单分支选择结构程序设计单分支选择结构只有一164.2.3单分支选择结构程序设计1.单分支块If语句基本格式:If<条件>Then<语句组>EndIf语句功能:根据“条件”的当前值,选择是否执行“语句组”中的语句。如果满足“条件”,则执行“语句组”;如果不满足“条件”,则不执行“语句组”4.2.3单分支选择结构程序设计1.单分支块If语句174.2.3单分支选择结构程序设计语句说明:“条件”、“语句组”与双分支块If语句中的对应选项意义相同。

If表示单分支块If语句开始,EndIf表示块If语句结束,它们必须成对使用,缺一不可。并且,EndIf是两个单词,中间的空格不能省略4.2.3单分支选择结构程序设计语句说明:184.2.3单分支选择结构程序设计2.单分支行If语句基本格式:If<条件>Then<语句>语句功能:与单分支块If语句相同。语句说明:“条件”、“语句”与双分支行If语句中的对应选项意义相同。

4.2.3单分支选择结构程序设计2.单分支行If语句194.2.3单分支选择结构程序设计3.选择结构的嵌套在选择结构中程序分支的语句的位置又出现一个选择结构的语句使用嵌套的选择结构时,内层的选择结构只能处于外层选择结构某个“语句组”的位置,内外层的选择结构不允许交叉4.2.3单分支选择结构程序设计3.选择结构的嵌套204.2.3单分支选择结构程序设计【例4.3】编写程序,计算一元二次方程

ax2+bx+c=0的根。其中,a、b、c在程序运行时由用户输入

4.2.3单分支选择结构程序设计【例4.3】编写程序214.3多分支选择结构4.3.1实例4.3——成绩转换【实例目标】

理解多分支块If语句的功能。【实例内容】编写程序将百分制的数学成绩按如下规则转化为等级输出:90分以上(包括90)为优秀,80~90分(包括80)为良好,60~80分(包括60)为及格,60分以下为不及格。数学成绩由用户在运行程序时输入

4.3多分支选择结构4.3.1实例4.3——成绩转换224.3.2多分支选择结构程序设计多分支选择结构可以提供多个程序分支,但最多执行其中一个程序分支,也可能所有程序分支都不执行

多分支块If语句和多条件分支SelectCase语句可以实现多分支选择结构的功能4.3.2多分支选择结构程序设计多分支选择结构可以提234.3.2多分支选择结构程序设计1.多分支块If语句基本格式:If<条件1>Then<语句组1>ElseIf<条件2>Then<语句组2>……ElseIf<条件n>Then<语句组n>][Else<语句组m>]EndIf4.3.2多分支选择结构程序设计1.多分支块If语句244.3.2多分支选择结构程序设计语句功能:根据“条件1”、“条件2”、…、“条件n”的当前值,选择是否执行相关联的“语句组”4.3.2多分支选择结构程序设计语句功能:254.3.2多分支选择结构程序设计语句说明:格式中的“条件”和“语句组”与双分支块If语句格式中的相同选项意义相同。

Else及其对应的“语句组m”选项通常放在所有“条件”行的下面,它们用于指定前面所有“条件”都不满足时执行的操作。

ElseIf是一个单词,中间没有空格,而EndIf是两个单词,中间有空格。4.3.2多分支选择结构程序设计语句说明:264.3.2多分支选择结构程序设计程序流程:当程序执行到多分支块If语句时,先判断是否满足“条件1”。如果满足,就先执行“语句组1”,再执行EndIf下面的语句。如果不满足,则判断是否满足“条件2”。如果满足,就先执行“语句组2”,再执行EndIf下面的语句;如果不满足,又继续判断是否满足“条件3”。如此进行下去,如果满足某个“条件”,则先执行相关的“语句组”,再执行EndIf下面的语句,如果所有“条件”都不满足,有Else选项时就执行相关的“语句组m”,没有Else选项时就直接执行EndIf下面的语句4.3.2多分支选择结构程序设计程序流程:274.3.2多分支选择结构程序设计2.多条件分支语句基本格式:SelectCase<测试表达式>Case<表达式表1><语句组1>[Case<表达式表2><语句组2>……Case<表达式表n><语句组n>][CaseElse<语句组m>]EndSelect4.3.2多分支选择结构程序设计2.多条件分支语句284.3.2多分支选择结构程序设计语句功能:根据“测试表达式”和“表达式表1”、“表达式表2”、…、“表达式表n”的当前值,选择是否执行对应的“语句组”4.3.2多分支选择结构程序设计语句功能:294.3.2多分支选择结构程序设计语句说明:“测试表达式”可以为数值型表达式或字符型表达式,用于Case后面“表达式表”进行比较的基值“表达式表1”、“表达式表2”、…、“表达式表n”各个表达式的类型与“测试表达式”的类型相同。并且,表达式可以是一个或多个。如果是多个表达式,每两个表达式之间用逗号分隔。4.3.2多分支选择结构程序设计语句说明:304.3.2多分支选择结构程序设计格式中的“语句组”与块If语句格式中的相同选项意义相同。

CaseElse及其对应的“语句组m”选项通常放在所有Case的“表达式表”的下面,它们用于指定“测试表达式”的值与所有“表达式”的值比较都不满足条件时执行的操作。

Select和EndSelect分别表示SelectCase语句开始和结束,它们必须成对使用,缺一不可4.3.2多分支选择结构程序设计格式中的“语句组”与314.3.2多分支选择结构程序设计程序流程:程序执行到SelectCase语句时,首先计算“测试表达式”的值,再依次比较“测试表达式”的值与每个Case后面“表达式表”的值是否满足条件。若与某个“表达式表”的值比较满足条件,则先执行对应的“语句组”,再执行EndSelect下面的语句。若与所有“表达式”的值比较都不满足条件,则有CaseElse选项时就执行对应的“语句组m”,没有Else选项时就直接执行EndSelect下面的语句

4.3.2多分支选择结构程序设计程序流程:324.3.2多分支选择结构程序设计表达式表的说明语句格式中的“表达式表”,既可以是一般的表达式,也可以用“表达式1To表达式2”、“Is关系运算符表达式”等形式表示如果“表达式表”由一个或多个表达式组成,则只要“测试表达式”的值与其中某个表达式的值相同,就满足条件4.3.2多分支选择结构程序设计表达式表的说明334.3.2多分支选择结构程序设计如果“表达式表”由“表达式1TO表达式2”组成,则只要“测试表达式”的值属于“表达式1到表达式2”的范围,就满足条件如果“表达式表”由“Is关系运算符表达式”组成,这里的IS代表“测试表达式”。则只要“测试表达式”的值使关系表达式“Is关系运算符表达式”成立,就满足条件4.3.2多分支选择结构程序设计如果“表达式表”由“344.3.2多分支选择结构程序设计在一个Case的后面,可以同时使用以上三种方式组成“表达式表”

4.3.2多分支选择结构程序设计在一个Case的后面354.3.2多分支选择结构程序设计【例4.4】使用多条件分支SelectCase语句改写实例4.3程序中的多分支块If语句

4.3.2多分支选择结构程序设计【例4.4】使用多条364.4指定次数的循环结构4.4.1实例4.4——画同心圆和圆环【实例目标】

理解循环结构程序的流程。理解For…Next语句的功能。【实例内容】用不同的颜色画10个同心圆和10个同心圆环。使相邻圆的半径相差200缇。如图4-10所示

4.4指定次数的循环结构4.4.1实例4.4——画同374.4.2指定次数的循环结构程序设计1.语句格式和基本功能语句的一般格式:For<循环控制变量>=<初值>To<终值>[Step步长]<循环体>Next[循环控制变量]语句功能:按照“初值”、“终值”和“步长”指定的循环次数进行循环

4.4.2指定次数的循环结构程序设计1.语句格式和基本384.4.2指定次数的循环结构程序设计语句说明:“循环控制变量”是一个数值型变量,“初值”指定“循环控制变量”的第一个数值。“终值”指定循环结束的标志值,“步长”指定每一次对“循环控制变量”增值的数量。“初值”、“终值”和“步长”可以是数值表达式,并且可以省略“Step步长”选项。若省略“Step步长”,则步长的默认值为1。注意:“步长”可以是正数或负数,但不能是0。如果步长为0,则形成无限循环。4.4.2指定次数的循环结构程序设计语句说明:394.4.2指定次数的循环结构程序设计语句说明:

For和Next分别表示循环语句的开始和结束,它们必须成对使用,缺一不可。“循环体”由一条或多条VisualBasic的语句组成。它指定循环语句进行的操作。

Next后面的“循环控制变量”用于指明和哪—个For语句相匹配。它可以省略。如果没有省略,必须与For后面的“循环控制变量”一致

4.4.2指定次数的循环结构程序设计语句说明:404.4.2指定次数的循环结构程序设计程序流程:当程序执行到For…Next循环语句时,先把“初值”赋给“循环控制变量”,再判断是否满足如下循环条件:①“循环控制变量”小于等于“终值”,且“步长”大于0;②“循环控制变量”大于等于“终值”,且“步长”小于0。如果两个条件都不满足,则结束循环,直接执行Next下面的语句。如果满足其中某个条件,则执行“循环体”的语句后,“循环控制变量”按“步长”增值,并再次判断是否满足循环条件。如此继续下去,直到不满足循环条件,终止循环为止

4.4.2指定次数的循环结构程序设计程序流程:414.4.2指定次数的循环结构程序设计循环次数的计算公式:

循环次数=[(终值-初值)/步长]+1其中,方括号[]表示不超过其值的最大整数4.4.2指定次数的循环结构程序设计循环次数的计算公式:424.4.2指定次数的循环结构程序设计【例4.5】编写程序,计算1+2+3+…+100的和

4.4.2指定次数的循环结构程序设计【例4.5】编写程序434.4.2指定次数的循环结构程序设计2.终止For…Next循环语句语句的一般格式:ExitFor语句功能:终止For…Next循环,执行循环语句下面的语句语句说明:此语句只能在For…Next循环语句的循环体中使用。通常将该语句放置在选择结构中,实现满足某个条件就终止循环4.4.2指定次数的循环结构程序设计2.终止For…N444.4.2指定次数的循环结构程序设计【例4.6】某校某年级有多个班,每班人数不等,但最多不超过70人。请编写程序,分别计算各班某次考试的平均分

4.4.2指定次数的循环结构程序设计【例4.6】454.5基于条件的循环结构4.5.1实例4.5——计算累加和【实例目标】

掌握DO…Loop循环语句的基本用法。理解基于条件的循环结构的程序流程。【实例内容】计算前N个自然数的累加和。其中,数N由用户在程序运行时输入,程序设计界面如图4-15所示4.5基于条件的循环结构4.5.1实例4.5——计算464.5.2基于条件的循环结构程序设计1.循环语句DoWhile…Loop语句的基本格式:DoWhile<条件><循环体>Loop语句功能:当“条件”满足时,执行“循环体”中的语句。直到“条件”不满足时,才终止循环4.5.2基于条件的循环结构程序设计1.循环语句Do474.5.2基于条件的循环结构程序设计语句说明:“条件”可以是逻辑表达式、关系表达式或数值表达式,它用于指定循环满足的条件。如果“条件”表达式是逻辑表达式或关系表达式,则表达式的值为True时满足循环条件,表达式的值为False时不满足循环条件。如果“条件”表达式是数值表达式,则表达式的值为非0时满足循环条件,表达式的值为0时不满足循环条件4.5.2基于条件的循环结构程序设计语句说明:484.5.2基于条件的循环结构程序设计“循环体”由一条或多条VisualBasic的语句组成。它指定循环结构需要进行的操作。

DoWhile表示DoWhile…Loop循环语句开始,Loop表示循环语句结束,它们必须成对出现,缺一不可

4.5.2基于条件的循环结构程序设计“循环体”由一条494.5.2基于条件的循环结构程序设计程序流程:当程序执行到DoWhile…Loop循环语句时,首先判断是否满足循环“条件”。如果不满足条件,则结束循环,不执行“循环体”中的语句,直接执行Loop下面的语句。如果满足条件,则执行“循环体”中的语句后,再次判断是否满足循环“条件”。如此进行下去,直到不满足循环条件,结束循环为止4.5.2基于条件的循环结构程序设计程序流程:504.5.2基于条件的循环结构程序设计【例4.7】在银行中存款1000元,一年到期时连本带利继续存入银行,如果按年利率2.5%计算,多少年后会连本带利翻一番4.5.2基于条件的循环结构程序设计【例4.7】在514.5.2基于条件的循环结构程序设计2.循环语句While…Wend语句的基本格式:While<条件><循环体>Wend语句功能:当“条件”满足时,执行“循环体”中的语句。直到“条件”不满足时,才终止循环4.5.2基于条件的循环结构程序设计2.循环语句Whi524.5.2基于条件的循环结构程序设计语句说明:“条件”、“循环体”的意义与DoWhile…Loop循环语句同名选项意义相同。

While…Wend语句与DoWhile…Loop语句都是按指定条件进行循环。它们的主要区别在于DoWhile…Loop语句可以使用ExitDo语句终止循环,而While…Wend语句不能使用ExitDo语句终止循环4.5.2基于条件的循环结构程序设计语句说明:534.5.2基于条件的循环结构程序设计3.循环语句Do…LoopWhile语句的一般格式:Do<循环体>LoopWhile<条件>语句功能:先执行一遍“循环体”中的语句,再测试“条件”表达式的值。当“条件”满足时,执行“循环体”中的语句。直到“条件”不满足时,才终止循环4.5.2基于条件的循环结构程序设计3.循环语句Do…544.5.2基于条件的循环结构程序设计语句说明:“条件”、“循环体”的意义与DoWhile…Loop循环语句同名选项意义相同。Do…LoopWhile语句与DoWhile…Loop语句都是按指定条件进行循环。但DoWhile…Loop语句先测试循环条件,后进行循环。而Do…LoopWhile语句则是先执行一遍循环体的语句,再测试循环条件是否成立。这是它们的主要区别4.5.2基于条件的循环结构程序设计语句说明:554.5.2基于条件的循环结构程序设计4.循环语句DoUntil…Loop语句的一般格式:DoUntil<条件><循环体>Loop语句功能:当“条件”不满足时,执行“循环体”中的语句。直到“条件”满足时,才终止循环4.5.2基于条件的循环结构程序设计4.循环语句Do564.5.2基于条件的循环结构程序设计语句说明:“条件”、“循环体”的意义与DoWhile…Loop语句同名选项意义相同。

DoUntil…Loop语句与DoWhile…Loop语句的主要区别在于:DoWhile…Loop语句在“条件”满足时执行“循环体”中的语句,而DoUntil…Loop语句则是在“条件”不满足时执行“循环体”中的语句4.5.2基于条件的循环结构程序设计语句说明:574.5.2基于条件的循环结构程序设计5.循环语句Do…LoopUntil语句的一般格式:Do<循环体>LoopUntil<条件>语句功能:先执行一遍“循环体”中的语句,再检查“条件”表达式的值。当“条件”不满足时,执行“循环体”中的语句。直到“条件”满足时,才终止循环

4.5.2基于条件的循环结构程序设计5.循环语句Do…584.5.2基于条件的循环结构程序设计语句说明:“条件”、“循环体”的意义与DoUntil…Loop循环语句同名选项意义相同。

Do…LoopUntil语句与DoUntil…Loop语句都是不满足“条件”时进行循环。它们的主要区别是:DoUntil…Loop语句先测试“条件”,再进行循环。Do…LoopUntil语句是先执行一遍循环的语句,再测试“条件”4.5.2基于条件的循环结构程序设计语句说明:594.5.2基于条件的循环结构程序设计6.终止Do循环语句语句的一般格式:ExitDo语句功能:终止Do循环,执行循环语句下面的语句4.5.2基于条件的循环结构程序设计6.终止Do循环语604.5.2基于条件的循环结构程序设计语句说明:此语句只能在Do循环语句的循环体(语句组)中使用。这里的Do循环语句包括DoWhile…Loop语句、Do…LoopWhile语句、DoUntil…Loop语句和Do…LoopUntil语句

ExitDo语句不能用于While…Wend循环语句4.5.2基于条件的循环结构程序设计语句说明:614.5.2基于条件的循环结构程序设计【例4.8】计算用户输入的实数的和

4.5.2基于条件的循环结构程序设计【例4.8】计算用户624.5.2基于条件的循环结构程序设计7.基于条件循环语句的比较基于条件的循环语句都能根据循环条件的当前值,确定是否执行循环体中的语句DoWhile…Loop语句、While…Wend语句和DoUntil…Loop语句是先测试循环条件,再进行循环。Do…LoopWhile语句和Do…LoopUntil语句则是先执行一遍循环体中的语句,再测试循环条件4.5.2基于条件的循环结构程序设计7.基于条件循环语634.5.2基于条件的循环结构程序设计DoWhile…Loop语句、While…Wend语句和Do…LoopWhile语句当条件满足时,执行循环体中的语句;DoUntil…Loop语句和Do…LoopUntil语句则是当条件不满足时,执行循环体中的语句DoWhile…Loop语句、Do…LoopWhile语句、DoUntil…Loop语句和Do…LoopUntil语句,可以在其循环体内部使用ExitDo语句终止循环。但While…Wend语句不能使用ExitDo语句终止循环

4.5.2基于条件的循环结构程序设计DoWhile644.5.2基于条件的循环结构程序设计【例4.9】用各种循环语句编写程序,计算用户输入的实数的和。输入0表示数据输入完毕

4.5.2基于条件的循环结构程序设计【例4.9】654.5.2基于条件的循环结构程序设计8.循环结构的嵌套当循环语句出现在选择结构中某个程序分支的语句位置时,就形成选择结构嵌套循环结构,当循环结构的循环体中出现选择结构的语句或循环语句时,就形成了循环结构嵌套选择结构或循环结构不管是哪种嵌套,内层的循环语句和选择语句必须完全处于外层的循环语句和选择语句内部,它们不能互相交叉

4.5.2基于条件的循环结构程序设计8.循环结构的嵌套664.5.2基于条件的循环结构程序设计【例4.10】百元买百鸡问题。假设小鸡每只五角,公鸡每只二元,母鸡每只三元,现在要用100元买100只鸡,编写程序求出所有的购买方案

4.5.2基于条件的循环结构程序设计【例4.10674.5.2基于条件的循环结构程序设计【例4.11】输入5个数,输出其中的最大数4.5.2基于条件的循环结构程序设计【例4.11】输入5684.5.2基于条件的循环结构程序设计【例4.12】输入5个数,按从大到小的顺序输出

4.5.2基于条件的循环结构程序设计【例4.12694.5.2基于条件的循环结构程序设计【例4.13】编写程序打印如图4-25所示的九九乘法表

4.5.2基于条件的循环结构程序设计【例4.13704.5.3简单动画设计简单的动画效果产生于视觉误差要得到物体运动的效果,可用如下方法实现:①物体运动,背景不动②背景运动,物体不动4.5.3简单动画设计简单的动画效果产生于视觉误差714.5.3简单动画设计1.物体运动,背景不动如果背景是某种单一的颜色,一般使用物体运动,背景不动的方法得到物体运动的效果

4.5.3简单动画设计1.物体运动,背景不动724.5.3简单动画设计【例4.14】简单动画演示程序

4.5.3简单动画设计【例4.14】简单动画演示程序734.5.3简单动画设计在屏幕上显出动画效果的操作步骤:①在屏幕上画一个图形。②延迟一个较短的时间。③清除图形。④改变图形的位置。⑤返回①重复上述过程4.5.3简单动画设计在屏幕上显出动画效果的操作步骤744.5.3简单动画设计2.背景运动,物体不动如果背景是一幅绚丽多姿的图画,则既可以使用物体运动,背景不动的方法得到物体运动的效果,也可以使用背景运动,物体不动得到物体运动的效果4.5.3简单动画设计2.背景运动,物体不动754.5.3简单动画设计【例4.15】飞机巡航演示程序,程序界面如图4-28所示

4.5.3简单动画设计【例4.15】飞机巡航演示程764.5.3简单动画设计3.定时器控件定时器控件的常用属性和事件Name属性。用于设置在程序中访问控件的名称Interval属性。用于设置两个定时器事件之间的时间间隔,其值以毫秒为单位(1秒等于1000毫秒)定时器控件只响应一个Timer事件。程序运行时,当间隔一个Interval属性设定的时间,定时器控件就触发一个Timer事件4.5.3简单动画设计3.定时器控件774.6程序调试4.6.1实例4.6——改正程序中的错误【实例目标】理解常用程序调试工具的功能。掌握常用的程序调试工具的使用方法。【实例内容】运行计算学生成绩总分的程序时,输入大写的Y可以继续计算,输入小写的y却不能继续计算。调试程序,改正这个逻辑错误4.6程序调试4.6.1实例4.6——改正程序中的错784.6.2程序模式1.设计模式启动VisualBasic时系统默认进入设计模式设计模式用于设计程序在设计模式下可以在代码窗口中设置断点,创建监视表达式,但不能使用调试工具4.6.2程序模式1.设计模式794.6.2程序模式2.运行模式单击“标准”工具栏上的“启动”按钮或者选择“运行”→“启动”命令,都可以进入运行模式运行模式用于运行程序在运行模式中,用户可以同应用程序交换信息,但不能修改程序4.6.2程序模式2.运行模式804.6.2程序模式3.中断模式(1)进入中断模式的方法使用逐语句或逐过程调试工具进入中断模式先在程序中设置断点或添加Stop语句,当程序运行到断点或Stop语句时进入中断模式。运行程序时选择“运行”→“中断”命令,或单击“标准”工具栏或“调试”工具栏上的“中断”按钮,或按Ctrl+Break键,都可以进入中断模式。程序运行时发生了错误而进入中断模式4.6.2程序模式3.中断模式814.6.2程序模式(2)中断模式的功能中断模式用于调试程序在中断模式下,由于变量和对象的属性值被保留下来,因此,能够分析程序代码的执行过程和变量的变化情况,并且可以使用VisualBasic的调试工具调试程序在中断模式中找到了错误的原因后,先单击“标准”工具栏上的“结束”按钮,从中断模式退到设计模式,再修改代码4.6.2程序模式(2)中断模式的功能824.6.3程序错误类型1.语法错误语法错误通常是由于不正确书写代码而产生的在代码编辑器窗口编写代码时,VisualBasic默认进行自动语法检查。如果VisualBasic没有进行自动语法检查,请选择“工具”→“选项”命令,并在“编辑器”选项卡中选择“自动语法检查”复选框设置此项功能

4.6.3程序错误类型1.语法错误834.6.3程序错误类型2.运行时错误运行时错误发生在应用程序运行时如果程序代码中包含无效的操作,当程序执行到该无效操作语句行时,就会产生一个运行时错误4.6.3程序错误类型2.运行时错误844.6.3程序错误类型【例4.13】改正运行时错误的演示

4.6.3程序错误类型【例4.13】改正运行时错误的演示854.6.3程序错误类型3.逻辑错误逻辑错误实际上是算法上的错误,VisualBasic在编译和运行程序时是无法发现这种错误,但程序运行结果却是错误的或并非预期的VisualBasic能检查语法错误和运行时错误,但不能检查逻辑错误。逻辑错误只能由程序设计人员自己检查

4.6.3程序错误类型3.逻辑错误864.6.3程序错误类型【例4.14】改正逻辑错误的演示

4.6.3程序错误类型【例4.14】改正逻辑错误的演示874.6.4程序调试基本方法1.“调试”工具栏“调试”工具栏提供了常用的调试工具,它是调试程序的有力工具选择“视图”→“工具栏”→“调试”命令,可以打开“调试”工具栏

4.6.4程序调试基本方法1.“调试”工具栏884.6.4程序调试基本方法2.跟踪程序运行(1)逐语句逐语句调试工具可以按照一次执行一条语句的方式逐条执行程序语句。对于程序中调用过程的语句,VisualBasic将进入被调用的过程单步执行程序语句按F8键,或选择“调试”→“逐语句”命令,或单击“调试”工具栏上的“逐语句”按钮,都可以启动逐语句调试工具

4.6.4程序调试基本方法2.跟踪程序运行894.6.4程序调试基本方法(2)逐过程逐过程调试工具也按照一次执行一条语句的方式逐条执行程序中的语句。但对于程序中调用过程的语句,逐过程工具将过程作为一个整体一次执行,并不进入过程单步执行程序语句按Shift+F8键,或选择“调试”→“逐过程”命令,或单击“调试”工具栏上的“逐过程”按钮,都可以启动逐过程调试工具

4.6.4程序调试基本方法(2)逐过程904.6.4程序调试基本方法(3)运行到光标处先将光标定位于可能产生错误的代码行附近,然后选择“调试”→“运行到光标处”命令或按Ctrl+F8键,程序就从第一条语句开始运行到光标所在的代码行,再进入中断模式4.6.4程序调试基本方法(3)运行到光标处914.6.4程序调试基本方法(4)跳出当使用逐语句工具和逐过程工具调试程序时,如果发现过程中的语句没有问题,就没有必要再一条语句一条语句的跟踪执行,可以选择“调试”→“跳出”命令,或单击“调试”工具栏的“跳出”按钮,从当前过程中跳出

4.6.4程序调试基本方法(4)跳出924.6.4程序调试基本方法3.使用断点调试程序(1)断点断点是暂停程序执行的标记。运行程序时,遇到断点程序就暂停执行,并自动进入中断模式,从而可以观察程序的运行状态和变量变化情况断点通常设置在程序代码可能产生错误的区域或能反映程序执行状态的区域可以在中断模式或设计模式下设置断点4.6.4程序调试基本方法3.使用断点调试程序934.6.4程序调试基本方法(2)设置断点的方法在要添加断点的代码行左边的边界标识条上单击先单击需要添加断点的代码行,再按F9键先单击需要添加断点的代码行,再选择“调试”→“切换断点”命令先单击需要添加断点的代码行,再选择“调试”工

具栏上的“切换断点”按钮4.6.4程序调试基本方法(2)设置断点的方法944.6.4程序调试基本方法(3)清除断点设置断点后,再做相同的操作,可以取消断点选择“调试”→“清除所有断点”命令,可以清除所有断点

4.6.4程序调试基本方法(3)清除断点954.6.4程序调试基本方法4.跟踪变量和表达式(1)使用立即窗口调试程序立即窗口是一个交互窗口,用于在调试时执行代码或查询某个表达式的值进入中断模式时默认显示立即窗口。如果立即窗口没有自动打开,可以选择“视图”→“立即窗口”命令,或单击“调试”工具栏上的“立即窗口”按钮,打开立即窗口

4.6.4程序调试基本方法4.跟踪变量和表达式964.6.4程序调试基本方法(2)使用本地窗口跟踪变量的变化选择“视图”→“本地窗口”命令或“调试”工具栏上的“本地窗口”按钮,可以打开本地窗口。本地窗口显示当前过程中所有变量的值和类型,当变量的值随着程序运行而改变时,本地窗口显示的内容自动更新。我们可以通过本地窗口观察、分析变量值的变化,查找逻辑错误的原因

4.6.4程序调试基本方法(2)使用本地窗口跟踪变量的974.6.4程序调试基本方法(3)使用监视窗口跟踪表达式的变化监视窗口主要用来查看指定表达式的值。查看表达式的值,可以按如下步骤进行操作:①按F8键,单步执行程序②选择“视图”→“监视窗口”命令或“调试”工具栏的“监视窗口”按钮,打开监视窗口4.6.4程序调试基本方法(3)使用监视窗口跟踪表达式984.6.4程序调试基本方法③先在代码编辑器窗口中选择需要查看的表达式,再选择“调试”→“添加监视”命令,打开“添加监

视”对话框,选定的表达式自动填入“表达式”文本框中④先选择一种监视类型,再选择“确定”按钮,将需要监视的表达式添加到监视窗口。就可以从

监视窗口中查看该表达式的值

4.6.4程序调试基本方法③先在代码编辑器窗口中选择需99上机实习4

上机实习4.1选择结构程序设计上机实习4.2循环结构程序设计1上机实习4.3循环结构程序设计2上机实习4上机实习4.1选择结构程序设计100TheEnd退出第4章结束TheEnd退出第4章结束101第4章--VisualBasic程序控制结构返回第4章--VisualBasic程序控制结构返回102第4章VisualBasic程序控制结构4.1—顺序结构4.2—单分支和双分支选择结构4.3—多分支选择结构4.4—指定次数的循环结构4.5—基于条件的循环结构4.6—程序调试返回第4章VisualBasic程序控制结构4.1—顺序1034.1顺序结构4.1.1实例4.1——画同心圆【实例目标】掌握顺序结构程序的流程【实例内容】

用不同的颜色画3个同心圆。使相邻圆的半径相差200缇

4.1顺序结构4.1.1实例4.1——画同心圆1044.1.2顺序结构程序设计顺序结构程序的语句按照从上到下的顺序依次执行设计顺序结构的程序时,要根据实际情况,认真分析完成任务的操作步骤,合理安排程序语句的先后顺序

4.1.2顺序结构程序设计顺序结构程序的语句按照从上1054.2单分支和双分支选择结构4.2.1实例4.2——计算数的平方根【实例目标】理解选择结构程序的功能理解双分支选择结构程序的流程【实例内容】编写程序计算一个数的平方根。这个数在程序运行时由用户输入

4.2单分支和双分支选择结构4.2.1实例4.2——1064.2.2双分支选择结构程序设计双分支选择结构提供两个程序分支,程序根据判断的结果,在两个程序分支中选择其一执行,并且只能选择其一执行。在VisualBasic中,通常使用块If语句和行If语句实现双分支选择结构的功能4.2.2双分支选择结构程序设计双分支选择结构提供两1074.2.2双分支选择结构程序设计1.双分支块If语句语句基本格式:If<条件>Then<语句组1>Else<语句组2>EndIf4.2.2双分支选择结构程序设计1.双分支块If语1084.2.2双分支选择结构程序设计语句功能:根据“条件”的当前值,选择执行“语句组1”或“语句组2”。满足条件时执行“语句组1”,不满足条件时执行“语句组2”4.2.2双分支选择结构程序设计语句功能:1094.2.2双分支选择结构程序设计语句说明:“条件”可以是逻辑表达式、关系表达式或数值表达式。若是逻辑表达式或关系表达式,则其值为逻辑真值True时满足条件,为逻辑假值False时不满足条件。若是数值表达式,则其值不为0时满足条件,为0时不满足条件。4.2.2双分支选择结构程序设计语句说明:1104.2.2双分支选择结构程序设计“语句组1”和“语句组2”由一条或多条VisualBasic语句组成。“语句组1”指定满足条件时执行的操作,“语句组2”指定不满足条件时执行的操作If表示块If语句开始,EndIf表示块If语句结束,它们必须成对使用,缺一不可。并且,EndIf中间的空格不能省略4.2.2双分支选择结构程序设计“语句组1”和“语句1114.2.2双分支选择结构程序设计【例4.1】编写程序:如果用户输入一个正数,则以该数为半径画一个亮红色的圆;如果用户输入0或负数,则显示一个说明信息4.2.2双分支选择结构程序设计【例4.1】编写1124.2.2双分支选择结构程序设计【例4.2】编写程序,判断学生的数学成绩是否及格,并显示相应的信息。学生成绩由用户在运行程序时输入4.2.2双分支选择结构程序设计【例4.2】编写1134.2.2双分支选择结构程序设计1.双分支行If语句语句基本格式:If<条件>Then<语句1>Else<语句2>语句功能:根据“条件”的当前值,选择执行“语句1”或“语句2”。满足条件时执行“语句1”,不满足条件时执行“语句2”

4.2.2双分支选择结构程序设计1.双分支行If语1144.2.2双分支选择结构程序设计语句说明:“条件”、“语句1”、“语句2”与双分支块If语句的对应选项意义相同如果某个程序分支包含多条语句,则这些语句要按多条语句写在一行的规则添加冒号4.2.2双分支选择结构程序设计语句说明:1154.2.2双分支选择结构程序设计3.IIF函数函数的格式如下:IIF(条件,表达式1,表达式2)函数功能:满足“条件”时返回“表达式1”的值,不满足条件时返回“表达式2”的值参数说明:“条件”与双分支块If语句的对应选项意义相同4.2.2双分支选择结构程序设计3.IIF函数1164.2.3单分支选择结构程序设计单分支选择结构只有一个程序分支,只有满足指定的条件,才能执行该程序分支的语句单分支选择结构可以看成双分支选择结构的特殊情况。在双分支块If语句与双分支行If语句的格式中省略Else及其后面的第2个程序分支,即可得到单分支块If语句和单分支行If语句4.2.3单分支选择结构程序设计单分支选择结构只有一1174.2.3单分支选择结构程序设计1.单分支块If语句基本格式:If<条件>Then<语句组>EndIf语句功能:根据“条件”的当前值,选择是否执行“语句组”中的语句。如果满足“条件”,则执行“语句组”;如果不满足“条件”,则不执行“语句组”4.2.3单分支选择结构程序设计1.单分支块If语句1184.2.3单分支选择结构程序设计语句说明:“条件”、“语句组”与双分支块If语句中的对应选项意义相同。

If表示单分支块If语句开始,EndIf表示块If语句结束,它们必须成对使用,缺一不可。并且,EndIf是两个单词,中间的空格不能省略4.2.3单分支选择结构程序设计语句说明:1194.2.3单分支选择结构程序设计2.单分支行If语句基本格式:If<条件>Then<语句>语句功能:与单分支块If语句相同。语句说明:“条件”、“语句”与双分支行If语句中的对应选项意义相同。

4.2.3单分支选择结构程序设计2.单分支行If语句1204.2.3单分支选择结构程序设计3.选择结构的嵌套在选择结构中程序分支的语句的位置又出现一个选择结构的语句使用嵌套的选择结构时,内层的选择结构只能处于外层选择结构某个“语句组”的位置,内外层的选择结构不允许交叉4.2.3单分支选择结构程序设计3.选择结构的嵌套1214.2.3单分支选择结构程序设计【例4.3】编写程序,计算一元二次方程

ax2+bx+c=0的根。其中,a、b、c在程序运行时由用户输入

4.2.3单分支选择结构程序设计【例4.3】编写程序1224.3多分支选择结构4.3.1实例4.3——成绩转换【实例目标】

理解多分支块If语句的功能。【实例内容】编写程序将百分制的数学成绩按如下规则转化为等级输出:90分以上(包括90)为优秀,80~90分(包括80)为良好,60~80分(包括60)为及格,60分以下为不及格。数学成绩由用户在运行程序时输入

4.3多分支选择结构4.3.1实例4.3——成绩转换1234.3.2多分支选择结构程序设计多分支选择结构可以提供多个程序分支,但最多执行其中一个程序分支,也可能所有程序分支都不执行

多分支块If语句和多条件分支SelectCase语句可以实现多分支选择结构的功能4.3.2多分支选择结构程序设计多分支选择结构可以提1244.3.2多分支选择结构程序设计1.多分支块If语句基本格式:If<条件1>Then<语句组1>ElseIf<条件2>Then<语句组2>……ElseIf<条件n>Then<语句组n>][Else<语句组m>]EndIf4.3.2多分支选择结构程序设计1.多分支块If语句1254.3.2多分支选择结构程序设计语句功能:根据“条件1”、“条件2”、…、“条件n”的当前值,选择是否执行相关联的“语句组”4.3.2多分支选择结构程序设计语句功能:1264.3.2多分支选择结构程序设计语句说明:格式中的“条件”和“语句组”与双分支块If语句格式中的相同选项意义相同。

Else及其对应的“语句组m”选项通常放在所有“条件”行的下面,它们用于指定前面所有“条件”都不满足时执行的操作。

ElseIf是一个单词,中间没有空格,而EndIf是两个单词,中间有空格。4.3.2多分支选择结构程序设计语句说明:1274.3.2多分支选择结构程序设计程序流程:当程序执行到多分支块If语句时,先判断是否满足“条件1”。如果满足,就先执行“语句组1”,再执行EndIf下面的语句。如果不满足,则判断是否满足“条件2”。如果满足,就先执行“语句组2”,再执行EndIf下面的语句;如果不满足,又继续判断是否满足“条件3”。如此进行下去,如果满足某个“条件”,则先执行相关的“语句组”,再执行EndIf下面的语句,如果所有“条件”都不满足,有Else选项时就执行相关的“语句组m”,没有Else选项时就直接执行EndIf下面的语句4.3.2多分支选择结构程序设计程序流程:1284.3.2多分支选择结构程序设计2.多条件分支语句基本格式:SelectCase<测试表达式>Case<表达式表1><语句组1>[Case<表达式表2><语句组2>……Case<表达式表n><语句组n>][CaseElse<语句组m>]EndSelect4.3.2多分支选择结构程序设计2.多条件分支语句1294.3.2多分支选择结构程序设计语句功能:根据“测试表达式”和“表达式表1”、“表达式表2”、…、“表达式表n”的当前值,选择是否执行对应的“语句组”4.3.2多分支选择结构程序设计语句功能:1304.3.2多分支选择结构程序设计语句说明:“测试表达式”可以为数值型表达式或字符型表达式,用于Case后面“表达式表”进行比较的基值“表达式表1”、“表达式表2”、…、“表达式表n”各个表达式的类型与“测试表达式”的类型相同。并且,表达式可以是一个或多个。如果是多个表达式,每两个表达式之间用逗号分隔。4.3.2多分支选择结构程序设计语句说明:1314.3.2多分支选择结构程序设计格式中的“语句组”与块If语句格式中的相同选项意义相同。

CaseElse及其对应的“语句组m”选项通常放在所有Case的“表达式表”的下面,它们用于指定“测试表达式”的值与所有“表达式”的值比较都不满足条件时执行的操作。

Select和EndSelect分别表示SelectCase语句开始和结束,它们必须成对使用,缺一不可4.3.2多分支选择结构程序设计格式中的“语句组”与1324.3.2多分支选择结构程序设计程序流程:程序执行到SelectCase语句时,首先计算“测试表达式”的值,再依次比较“测试表达式”的值与每个Case后面“表达式表”的值是否满足条件。若与某个“表达式表”的值比较满足条件,则先执行对应的“语句组”,再执行EndSelect下面的语句。若与所有“表达式”的值比较都不满足条件,则有CaseElse选项时就执行对应的“语句组m”,没有Else选项时就直接执行EndSelect下面的语句

4.3.2多分支选择结构程序设计程序流程:1334.3.2多分支选择结构程序设计表达式表的说明语句格式中的“表达式表”,既可以是一般的表达式,也可以用“表达式1To表达式2”、“Is关系运算符表达式”等形式表示如果“表达式表”由一个或多个表达式组成,则只要“测试表达式”的值与其中某个表达式的值相同,就满足条件4.3.2多分支选择结构程序设计表达式表的说明1344.3.2多分支选择结构程序设计如果“表达式表”由“表达式1TO表达式2”组成,则只要“测试表达式”的值属于“表达式1到表达式2”的范围,就满足条件如果“表达式表”由“Is关系运算符表达式”组成,这里的IS代表“测试表达式”。则只要“测试表达式”的值使关系表达式“Is关系运算符表达式”成立,就满足条件4.3.2多分支选择结构程序设计如果“表达式表”由“1354.3.2多分支选择结构程序设计在一个Case的后面,可以同时使用以上三种方式组成“表达式表”

4.3.2多分支选择结构程序设计在一个Case的后面1364.3.2多分支选择结构程序设计【例4.4】使用多条件分支SelectCase语句改写实例4.3程序中的多分支块If语句

4.3.2多分支选择结构程序设计【例4.4】使用多条1374.4指定次数的循环结构4.4.1实例4.4——画同心圆和圆环【实例目标】

理解循环结构程序的流程。理解For…Next语句的功能。【实例内容】用不同的颜色画10个同心圆和10个同心圆环。使相邻圆的半径相差200缇。如图4-10所示

4.4指定次数的循环结构4.4.1实例4.4——画同1384.4.2指定次数的循环结构程序设计1.语句格式和基本功能语句的一般格式:For<循环控制变量>=<初值>To<终值>[Step步长]<循环体>Next[循环控制变量]语句功能:按照“初值”、“终值”和“步长”指定的循环次数进行循环

4.4.2指定次数的循环结构程序设计1.语句格式和基本1394.4.2指定次数的循环结构程序设计语句说明:“循环控制变量”是一个数值型变量,“初值”指定“循环控制变量”的第一个数值。“终值”指定循环结束的标志值,“步长”指定每一次对“循环控制变量”增值的数量。“初值”、“终值”和“步长”可以是数值表达式,并且可以省略“Step步长”选项。若省略“Step步长”,则步长的默认值为1。注意:“步长”可以是正数或负数,但不能是0。如果步长为0,则形成无限循环。4.4.2指定次数的循环结构程序设计语句说明:1404.4.2指定次数的循环结构程序设计语句说明:

For和Next分别表示循环语句的开始和结束,它们必须成对使用,缺一不可。“循环体”由一条或多条VisualBasic的语句组成。它指定循环语句进行的操作。

Next后面的“循环控制变量”用于指明和哪—个For语句相匹配。它可以省略。如果没有省略,必须与For后面的“循环控制变量”一致

4.4.2指定次数的循环结构程序设计语句说明:1414.4.2指定次数的循环结构程序设计程序流程:当程序执行到For…Next循环语句时,先把“初值”赋给“循环控制变量”,再判断是否满足如下循环条件:①“循环控制变量”小于等于“终值”,且“步长”大于0;②“循环控制变量”大于等于“终值”,且“步长”小于0。如果两个条件都不满足,则结束循环,直接执行Next下面的语句。如果满足其中某个条件,则执行“循环体”的语句后,“循环控制变量”按“步长”增值,并再次判断是否满足循环条件。如此继续下去,直到不满足循环条件,终止循环为止

4.4.2指定次数的循环结构程序设计程序流程:1424.4.2指定次数的循环结构程序设计循环次数的计算公式:

循环次数=[(终值-初值)/步长]+1其中,方括号[]表示不超过其值的最大整数4.4.2指定次数的循环结构程序设计循环次数的计算公式:1434.4.2指定次数的循环结构程序设计【例4.5】编写程序,计算1+2+3+…+100的

温馨提示

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

评论

0/150

提交评论