ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:108.44KB ,
资源ID:7297976      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7297976.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VF程序设计复习资料.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VF程序设计复习资料.docx

1、VF程序设计复习资料第二部分 结构化程序设计语句和算法一、 程序的概念程序:是计算机能够分析执行的命令序列的集合。程序设计:是计算机用户将解决某一实际问题所用的命令按一定的逻辑顺序编制成程序,并以文件的形式存放于磁盘的过程。执行程序时,计算机按顺序自动执行程序文件中的命令。例 编程求 1+2+3+100clears=0for i=1 to 100 s=s+iendfor? “s=”,sreturn 二、 VF语言基础1 数据类型1) 数值型:由数字0-9以及正负号(+和-)和小数点(.)组成。例如:123,34.56,-1002) 字符型:英文、汉字、数字、空格和标点符等组成的一串字符。例如:

2、”hello”,”good morning”。 注意:其表示方法用 将字符串括起来。 3) 逻辑型:表示的值为真和假两种状态, .T.或.t.表示真,.F.或.f.表示假。2 常量1) 数值型常量:例如:123,34.56,-1002) 字符型常量:”hello”,”good morning”。 3) 逻辑型常量: .T.表示真,.F.表示假。3 变量1)概念:变量是指在程序运行期间其值可以变化的量,一个变量可以存放一个数据。 2)变量名:每个变量应有一个名字,称为变量名。(尽量用一个字母作为一个变量名)如:x,y,z,i,j等。注意:VF中变量不需要定义就可以直接使用。4 运算符及表达式 运

3、算符:用来进行运算的符号; 表达式:是指用运算符将变量、数组元素、常量、函数连接组合得到的一组有物理意义的式子。表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式4类。表达式和常量一样,是具有数据类型的数据(求值之后),因此一个表达式中的各项必须具有相同类型。1) 算术运算符:( ) % *、/ +、- 算术表达式:10+3*4-15 23 x3/y+a%52)字符运算符: 完全连接“+”: “I have a ” +“Book”= “I have a Book”包含运算“$” :“abc”$“abcdef”=.t.“ABC”$“abcdef”=.f. 3) 关系运算符: = = = 关

4、系表达式: 关系表达式相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。1244.33=12 结果:.t.10=20 结果:.f.”A” ”ABD” 结果:.f.4) 逻辑运算符: !, NOT 或 .NOT. OR 或 .OR. AND 或 .AND.逻辑表达式: 逻辑表达式也相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。 x5 OR y10 .T.或者.F.,取决于x,y的值推导判断闰年的表达式:闰年:能被4整除,但是不能被100整除;或者能被400整除。(y%4=0 and y%1000) or y%400=05

5、 常用函数1) 取绝对值函数:abs(数值表达式)2) 取整函数:int(数值表达式)功能:取数值表达式的整数部分。int(12.3)=12int(56.78)=563) 求平方根函数:sqrt(数值表达式)4) 求字符串长度函数:len(字符串表达式)len(hello)=5len(你好)=4说明:一个汉字占两个字符的宽度。5) 取子串函数: Left(字符串表达式,长度) Right(字符串表达式,长度) substr(字符串表达式,起始位置,长度)功能: 从指定表达式值的指始位置取指定长度的字符串作为函数值。Substr(“hello”,2,3) 结果:ell 6) 计算字串出现次数函数

6、:Occurs(字符串表达式1,字符串表达式2)功能:返回第一个字符串在第二个字符串中出现的次数。Occurs(“a”,”abcaa”) 结果:37) 大小写转换函数Lower(字符串表达式):Upper(字符串表达式):8) 生成空格字符函数:space(数值表达式)功能:生成若干个空格,空格的个数由数值表达式确定。Space(5) 其作用是产生5个空格9) 数值转换成字符串函数:str(数值表达式,长度,小数位数)功能:将数值表达式的值转换为字符串,转换时根据需要自动四舍五入。转换后的理想长度应该是数值表达式值的整数部分位数加上小数位数值,再加上一位小数点。Str(“123.567”,7,

7、3) 结果:123.567Str(“123.567”,6,2) 结果:123.5710) 随机函数: rand() 功能:系统随机产生一个0到1之间的纯小数产生某个范围的随机整数:Int(rand()*(终值-初值+1)+初值)例如:随机产生两位随机整数。Int(rand()*(99-10+1)+10)三 程序设计基本语句:1. 变量的赋值:=格式:变量=表达式功能:将“=”(赋值号)右边表达式的值赋予左边的变量。2. 输入命令1)input命令格式:input “提示信息”to 变量功能:在屏幕上显示“提示信息”,并等待用户从键盘上输入表达式,再把表达式的值赋给指定的变量。2)Accept命

8、令格式:accept “提示信息” to 变量功能:在屏幕上显示,等待用户从键盘上输入,再把输入内容作为字符串常量赋值给指定的变量。3. 输出命令?|?格式:?表达式1,功能:将表达式的结果在当前光标的下一行输出;格式:? 表达式1,功能:将表达式的结果在当前光标位置输出;四、VF程序基本结构4.1 顺序结构顺序结构:就是计算机要按照程序中语句出现的先后次序依次执行各条语句的结构。顺序结构是程序设计中最常见、使用最多的结构。 顺序结构程序主要由赋值语句、输入语句和输出语句构成。程序:1 求园的面积clearinput “r=” to rs=3.14*r2?sreturn2 交换任意两个变量的值

9、clearinput “x=” to xinput “y=” to yt=xx=yy=t? “x=”,x?”y=”, yreturn3 鸡兔同笼问题。已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只?clearinput h= to hinput f= to fx=(4*h-f)/2y=(f-2*h)/2?”鸡的个数:”,x?”兔的个数:”,yreturn三、 选择结构1) IF语句格式:IF 条件表达式 语句序列1ELSE语句序列2ENDIF功能:执行该语句时,如果条件表达式的值为.t.,则执行语句序列1,否则执行语句序列2,然后再执行endif之后的语句。其中else可以省略,即如果语句

10、序列2为空,则没有ELSE以及语句序列1。程序1. 判断闰年。从键盘任意输入一年份,判断其是否是闰年,是则输出“是“,不是则输出“否”。ClearInput “y=” to yIf (y%4=0 and y%1000) or y%400=0 ?”是”Else ?”否”endifreturn2. 输出3个数中最大值clearinput x= to xinput y= to yinput z= to zif x=y m=xelse m=yendifif m=90 and n=80 ? “良好” CASE n=70 ? “中等” CASE n=60 ? “及格” OTHERWISE ? “不及格”E

11、NDCASEreturn四、 循环结构1)do while循环Do while 条件 循环体Enddo提示:级数求和问题从累加求和到最难的求和一鼓作气学完。算法:1. 求1-100的累加和:s=1+2+3+100Cleari=1s=0Do while i=100 s=s+i i=i+1Enddo? sreturn2. 求1-100奇数的和。Cleari=1s=0Do while i=100 s=s+i i=i+2Enddo? sreturn3. 求1-100偶数的和。Cleari=2s=0Do while i=100 s=s+i i=i+2Enddo? sreturn2)For循环For 循环

12、变量=初值 TO 终值 STEP 步长 循环体 Endfor 其中步长为1时,STEP 1 可以省略。4. 将1-3题用for语句实现1) 1-100所有整数的和Clears=0 For i=1 to 100 s=s+iendfor? sReturn2)1-100所有奇数的和Clears=0 For i=1 to 100 step 2 s=s+iendfor? sReturn3)1-100所有偶数的和Clears=0 For i=2 to 100 step 2 s=s+iendfor? sReturn强调:当循环次数确定的时候尽量用for循环实现。5. 求s=1+1/2+1/3+1/4+.+1

13、/100clears=0for i=1 to 100 s=s+1/iendfor?s=,sReturn6. 求s=1-1/2+1/3-1/4+.+1/100clears=0for i=1 to 100 s=s+ 1/i*(-1) (i+1)endfor?sReturn7. 求s=1-1/2+1/3-1/4+.+1/n,n由键盘输入clearinput “n=” to ns=0for i=1 to n s=s+ 1/i*(-1) (i+1)endfor?sReturn8. 求N!=1234N,其中N由键盘输入。ClearInput “n=” to nt=1 For i=1 to n t=t*ie

14、ndfor?treturn9. 求s=1!+2!+n!,n由键盘输入。(即求阶乘之和)clearinput n= to ns=0t=1for i=1 to n t=t*i s=s+tendfor? sReturn10. s=1+(1*2)+(1*2*3)+.+(1*2*3*10)此题相当于求:s=1!+2!+10!cleart=0s=0for i=1 to 10 t=t+i s=s+tendfor ?sReturn11. s=1+(1+2)+(1+2+3)+.+(1+2+3+4+5+6+7+8+9+10)cleart=0s=0for i=1 to 10 t=t+i s=s+tendfor ?s

15、Return12. s=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+4+5+6+7+8+9+10)cleart=0s=0for i=1 to 10 t=t+i s=s+1/tendfor ?sreturn13. 计算 s=1!+1/2!+1/3!+1/n!,n由键盘输入(即求阶乘倒数之和)clearinput n= to ns=0t=1for i=1 to n t=t*i s=s+1/tendfor? sReturn14. 计算 s=1!+1/2!+1/3!+1/n!(要求1/n!=10(-6) s=s+1/t i=i+1t=t*iendfor?s=,sreturn 15.

16、计算 s=1!-1/2!+1/3!-1/4!1/n!(要求1/n!=10(-6) s=s+1/t*(-1)(i+1)i=i+1t=t*iendfor?s=,sreturn 16. 计算 s=x/1!+x2/2!+x3/3!+xn/n!,x由键盘输入。( 要求xn/n!=10(-6) s=s+(xi/t) i=i+1t=t*iendfor?s=,sreturn17. 计算 s=x/1!-x2/2!+x3/3!xn/n!( 要求xn/n!=10(-6) s=s+(xi/t)*(-1)*(i+1) i=i+1t=t*iendfor?s=,sreturn18. ex=1+x+x2/2!+x3/3!+x

17、n/n!( 要求xn/n!=10(-6) s=s+xi/ti=i+1t=t*iendfor?s=,sreturn19. 求s=2!+4!+6!+8!+10!S=0T=1For i=2 to 10 step 2 T=t*(i-1)*i S=s+tEndfor?sreturn20. 求s=1/2!+1/4!+1/6!+1/8!+1/10!S=0T=1For i=2 to 10 step 2 T=t*(i-1)*i S=s+1/tEndfor?sreturn21. 求s=1/2!-1/4!+1/6!-1/8!+1/10!S=0T=1d=1For i=2 to 10 step 2 T=t*(i-1)*

18、i S=s+1/t*d d=-dEndfor?sreturn22. 求s=1!+3!+5!+7!+9! 可以看成 s=1+3!+5!+7!+9!,令s=1,只需求出3!+5!+7!+9!即可S=1T=1For i=3 to 9 step 2 T=t*(i-1)*i S=s+tEndfor?sreturn23. 求s=1/1!-1/3!+1/5!-1/7!+1/9! S=1T=1D=1For i=3 to 9 step 2 T=t*(i-1)*i S=s+1/t*dEndfor?sreturn24. 25. cos(x)= 1-x2/2!+x4/4!-x6/6!xn/n!( 精度为10(-8)C

19、learInput “x=” to xs=1t=2i=2d=-1do while xi/t=10(-8) s=s+xi/t*di=i+1t=t*id=-dendfor?s=,sreturn26. 输出所有的水仙花数。提示:先判断某个数是否是水仙花数。clearfor n=100 to 999 x=int(n/100) y=int(n%100)/10) z=n%10 if x3+y3+z3=n then ?n endifendforreturn27. 从键盘任意输入一个整数,判断其是否是素数。除了1和它本身之外不能被任何一个整数所整除的自然数叫质数,又称为素数。例如3,5,17是素数,而 4,6

20、,8,9 就不是素数。特殊:1既不是质数也不是合数,2是最小的质数。clearinput n= to nfor i=2 to n-1 if n%i=0 exit endifendforif i=m ?是else ?否endifreturnexit作用:退出循环。28. 以5个为一组输出1-100的整数。ClearC=0for i=1 to 100 ?iif i%5=0 ? Endifendforreturn29. 以5个为一组输出1-100能被3整除的数。ClearC=0for i=1 to 100 if i%3=0?ic=c+1 if c%5=0 ? Endif endifendforret

21、urn30. 以5个为一组输出100-1000以内的所有素数,并计算这些素数之和。(两重循环的应用)分析:1)先找出所有素数 2)以5个数据为一组显示 3)计算所有素数的和clearc=0s=0for m=100 to 1000 for i=2 to m-1 if m%i=0 exit endif endfor if i=m ? m c=c+1 if c%5=0 ? endif s=s+m endif endfor?“素数的和:”,sreturn 31. 百钱买百鸡问题。公鸡5元一只,母鸡3元一只,小鸡3只一块钱,假设用100元买了100只鸡,问公鸡、母鸡、小鸡各有多少只?穷举法:所谓穷举法就

22、是将各种组合的可能性全部一一测试一遍,对每一组合检查它是否符合给定的条件,将符合条件的解全部输出即可。clearfor x=1 to 19 for y=1 to 33 z=100-x-y if z%3=0 and 5*x+3*y+z/3=100 ?x,y,z endif endforendforreturn32. 请显示如下图所示的九九乘法表。clearfor i=1 to 9 for j=1 to 9 ?str(i,1) + * + str(j,1) + = + str(i*j,2) + space(3) endfor ?endforreturn33. 要求显示如下乘法表。clears=0f

23、or i=1 to 4 for j=i to 4 ?str(i,1) + * + str(j,1) + = + str(i*j,2),space(3) endfor ?endforreturn34. 请显示如下图所示的九九乘法表。clearfor i=1 to 9 for j=i to 9 ?str(i,1) + * + str(j,1) + = + str(i*j,2) + space(3) endfor ?space(i*9)endforreturn35. 设计1个程序,要求是: (1)在键盘上输入1个不小于3的自然数N(例输入10),求出其不到第N个自然数中奇数之和,并输出结果(2)输出

24、1到第N自然数中所有质数的个数clearinput n= to nif nn),得余数r;如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;依次类推,直到r0为止,此时的n就是最大公约数。例如:30和20的最大公约数为10采用辗转相除法(要求mn):1) m除以n,得余数r;2) 如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;3) 依次类推,直到r0为止,此时的n就是最大公约数。Clear Input m= to mInput n= to nr=m%ndo while r0 m=n n=r r=m%nenddo? nReturn37. 求两个数的最小公倍数。M和n的乘积除以最大公约数就是最小公倍数例如:30和20的最小公倍数为60Clear input m= to minput n= to nx=my=nr=mod(m,n)do while r0 m=n n=r r=mod(m,n)enddo?x*y/nReturn38. 猴子摘桃问题。已知猴子第一天摘了2个桃子,第二天摘的桃子是第一天的2倍多一个;以此类推,第n天摘了多少个桃子?(递推法)clearinput n= t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1