院校资料b期末考试复习.pptx
实例1已知运输公司的运费计算公式为:F=P*W*S*(1 d)其中:F为总运费,P为每吨货每公里的基本运费,W为货物重,S为路程距离,d为折扣。折扣d的计算标准如下:第1页/共31页If 语句行结构If Then Else 块结构If Then Else End If第2页/共31页ElseIf 语句If ThenElseIf Then ElseIf Then Else End If第3页/共31页Select Case 语句Select Case Case Case Case ElseEnd Select:下列格式中的一个或多个(,)精确表示:,,如:1,3,5,7,9范围表示:To,如:A To Z关系表示:Is ,如:Is=60第4页/共31页实例2用下列公式求的近似值,要求直到最后一项的小于10-6为止根据下列公式求 e 的近似值,要求直到直到最后一项的小于10-6为止第5页/共31页ForNext 语句功能:以指定的次数重复执行循环体格式:For 变量=初值 To 终值 Step 步长 语句块 Exit For 语句块 Next 变量步长为循环控制变量的每次改变增量,缺省为1 Exit For为强制退出循环语句循环体第6页/共31页DoLoop 语句格式:Do While|Until 语句块Exit Do语句块Loop While|Until 循环体第7页/共31页WhileWend 语句用条件来控制循环体的重复执行格式:While Wend与Do WhileLoop结构相当第8页/共31页多项式求和1.寻找循环变量 i 的通项表达式:For i=注意初终值和步长(Step)T=关键在于写出通项S=S+TNext i2.寻找迭代式(前后两项的关系):For i=T=T 关键在于写出迭代式S=S+TNext i第9页/共31页实例3单击窗体后,在窗体上显示如下数字字符金字塔:第10页/共31页规则图形输出模板:For i=1 To n n行 Print Spc(x);每行起始x空格 For j=1 To m 每行m个 Print“A”;图案字符 Next j Print 换行Next i第11页/共31页实例4单击窗体时,从键盘上输入两个年份m和n,然后求出m和n之间的所有闰年第12页/共31页穷举法穷举法又称蛮力法,它的思路是列举出所有可能的情况,逐个判断哪些符合问题所设的条件,从而得到问题的解如:素数、水仙花数、桃花数、同构数最大公约数、最小公倍数百鸡问题、韩信点兵第13页/共31页实例5单击窗体时,先随机产生10个两位整数,然后将它们按从大到小的顺序输出在窗体上第14页/共31页数组数组是数组变量的简称,是一批具有相同名字但具有不同下标的变量(又称下标变量)。通常利用数组来保存多个具有相同类型的数据第15页/共31页第16页/共31页实例6单击Command1,判断文本框Text1中的内容是否回文;单击Command2,用InputBox输入一文本内容,然后统计它在文本框Text1中出现的次数第17页/共31页字符函数Len(s)取出字符串s的长度(字符个数),如:L=Len(s)Mid(s,i,n)从字符串s的第i个字符取出n个字符取出第i个字符:x=Mid(s,i,1)取出倒数第i个字符:y=Mid(s,L i+1,1)InStr(s1,s2)判断字符串s2在s1中的位置,如果不在则返回0,否则返回具体的位置第18页/共31页练习在文本框Text1中输入任意字符串,单击命令按钮Command1时,将此字符串按ASCII码从大到小的顺序输出在标签Label1上第19页/共31页实例7下列程序运行时,设文本框Text1.Text为空,在Text1获得输入焦点后,依次按下列按键:“1”、“2”、“+”、“3”、“4”、“-”、“5”、“6”、回车键。分别写出文本框中和窗体上的输出结果 Private Sub Text1_KeyPress(k As Integer)If k Asc(9)Then k=0 Print Text1.Text End IfEnd Sub 第20页/共31页实例8已知文本框Text1初始为空,阅读以下程序,在相应的选项中选择正确的答案来回答问题(31)、(32)和(33)Private Sub Text1_Change()Dim s As Integer s=s+Val(Text1.Text)Print sEnd Sub第21页/共31页第22页/共31页变量作用域和生存期过程级变量(局部变量)变量在事件过程中声明有两种声明方法:Dim和Static用Dim语句声明的变量,在过程结束后,系统将释放变量占用的内存空间,即变量不存在了用Static语句声明的变量,在过程结束后,系统依然保留变量占用的内存空间,通常把Static声明的变量称为静态变量第23页/共31页变量作用域和生存期模块级变量在通用|声明中用Dim语句或Private语句声明的变量模块级变量能在此模块的所有事件过程中被调用模块级变量只有在本模块被卸载时占用的内存空间才会被释放第24页/共31页变量作用域和生存期应用程序级变量(全局变量)在通用|声明中用Public语句声明的变量应用程序级变量在工程中的所有模块的所有事件过程中均可调用,但在调用时必须指明调用的变量是在哪个模块中声明的应用程序级变量只有在程序结束运行时占用的内存空间才会被释放第25页/共31页实例10编写自定义函数过程Sum(n As Integer),用于计算1到n所有数的和。单击Command1时,用InputBox从键盘输入一个整数n,然后调用Sum函数,求出下式的值:s=1+(1+2)+(1+2+3)+(1+2+3+4+n)第26页/共31页实例11编写一个Sub过程Sub PrntPrime(x()As Integer),用于判断某数组中是否有素数,若有则将其显示在窗体上。单击命令按钮Command1生成20个两位的随机整数,然后调用该过程,将此20个数中是素数的数显示在窗体上?第27页/共31页 实例12写出下列程序运行时,单击命令按钮Command1后窗体上的显示结果?Function f2(ByVal n1 As Integer,n2 As Integer)As Integer Dim i As Integer Do While n2=n1 f2=f2+n2:n2=n2-1 LoopEnd FunctionPrivate Sub Command1_Click()Dim a As Integer,b As Integer a=5:b=8 Print f2(a,b)Print f2(b,a)End Suba=5b=4f2=26a=3b=4f2=9第28页/共31页参数传递规则按地址传递ByRef形式参数与实际参数共享同一内存空间,两个变量名都指向相同的地址调用时实参形参,而后形参的任何改变都同时影响实参按值传递ByVal形式参数与实际参数指向各自的内存空间调用时实参形参,是单向传递,形参的改变不影响实参第29页/共31页参数传递规则形参没有用声明时,默认为ByRef实参为表达式时,均视为ByVal注意:调用过程时,实参个数必须与形参的个数一致,且数据类型也须一致第30页/共31页感谢您的观看!第31页/共31页