资源描述:
《VFP讲稿第11周参考讲义》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VFP第十一周电子讲义[复习上节课内容]1.总结:DO-WIIILE循坏一般含有三要素:循坏变量赋初值、循坏条件和循坏增值语句。累加、累乘算法一般含有两条语句:累加(乘)变暈赋初值语句(循环Z前)和累加(乘)语句(循环体内)。2.水仙花数拆分各个位数BW=INT(N/100)SW=INT((N-BW*100)/10)GW=N%103.从键盘输入一个大于3的整数,判断是否素数。素数:除被1和自身整除外,不能被任何数整除。思路:穷举法。令n被2-n-lZ间的任何一个整数去除,若n能被其屮任何一个整除,则非素数,若都不能整除则是素数。法一:步骤:(1)输入N(2)
2、设一标志变量F=0(3)FOR1=2TON-lENDFOR循环(4)循环体:判断N能否被I整除,若能,F=l、EXITo(5)出循环后,判断F的值,若F=0,输出N是素数;否则,输出N不是素数。F=0&&标志量,假定其值为0时N是素数。INPUTTONFOR1=2TON-lIFN%I=0&&或INT(N/I)=N/I或MOD(N,I)=0F二1EXITENDIFENDFORIFF=0?N,'是素数'ELSE?N,'不是素数’ENDIF法二:不用标志量。判断是否正常出循环,是,则输出'是素数',否则,输出'不是素数(IFI二N,表示正常出循环,一直未执行过EX
3、IT命令。)CLEARINPUT“INPUTN”TON1=2DOWHILEIm?〃是素数〃else?〃不是素数〃endifcancel紗例5:三层循环解水仙花数问题FORB二1TO9FORS=0TO9FORG二0TO9N二B*100+S*10+GIFN二K2+S"2+G"2?
4、?NENDIFENDFORENDFORENDEOR例6:打印九九表(三角形)CLEARX二1DOWIITLEX<=9Y=1DOWHILEY<=XS=X*Y??STR(Y,1)+〃*〃+STR(X,1)+〃二〃+STR(S,2)+〃Y二Y+lENDDO9•X=X+1ENDDORETURN例7:求200以内的所有素数SETTALKOFFCLEARN=3J二0DOWHILEN<=2001=2DOWHILEI5、+1ENDDOSETTALKONRETURN五、数组与数组元素数组是一组有序内存变量的集合。它是由同一个名字组织起来的简单内存变量的集合,其中每一个内存变量都是这个数组的一个元素,而且每一个数组元素在内存中独占一个内存单元。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的。在同一个数组中,每个元素的值可以是不同的数据类型。数组在使用前必须要通过DIMENSION或DECLARE定义。定义后,它的初始值是逻辑值.F.,在使用数组吋,一定要注意数组的初始化。数组是用一个名字表示一组变量,每个变量用下标区分,如S(10)包含10个下标变量:S(l
6、),S(2),S(3),S(4),・・・,S(10)o1.数组的定义格式:DIMENSION
7、declare<数组名〉(下标1[,下标2])DIMEA(3),B(2,3)数组A包含A(l),A(2),A(3)数组B包含B(l,1),B(l,2),B(1,3),B(2,1),B(2,2),B(2,3)功能:定义一维数组或二维数组注:(1)下标决定数组元素的个数,每个数组元素都是一个内存变量(2)数组元素的顺序:按下标从小到大(二维先按行,后按列)(3)同一个数组的数组元素可以有不同的数据类型,初始值都为逻辑・F.2.数组的赋值(与内存变量赋值相同)STORE〈
8、表达式〉TO〈数组名表/数组元素〉〈数组名/数组元素冶〈表达式〉例如:DIMEA(2,3),B(2,3),S(10)A⑴=1A⑵二'ABC,STOR0TOSSTOR.T.TOB(l,2),B(2,1)1.数组的使用(使用数组元素同内存变量)(1)直接使用数组元素(2)直接使用数组名一一使用数组名默认为第一个数组元素A⑴二3A(2)=”X”B二AvAB二A(l)(3)一维数组和二维数组可以相互使用,不需要重新定义例:数组B⑹与B(2,3)B(l,1),B(l,2),B(1,3),B(2,1),B(2,2),B(2,3)B(l)B(2)B(3)B(4)B(5)B
9、(6)2.例1:由键盘输入10名学生成绩,打印其中最