《Visual FoxPro程序设计实习教程与习题集》
《实习教程》第11单元 程序设计初步 (参考答案) 1.编写一程序,计算并显示圆的周长(L)和面积(S),其中半径(R)由INPUT语句读入。 SET TALK OFF INPUT 'R: ' TO R PI=3.1416 L=2*PI*R S=PI*R^2 ? 'L=',L ? 'S=',S RETURN 2. 编写一程序,读入圆柱体的高(H)和底面半径(R),计算并显示圆柱体的体积(V)。 SET TALK OFF INPUT 'H: ' TO H INPUT 'R: ' TO R V=3.1416*R^2*H ? 'V=',V RETURN 3. 编写一程序,首先由用户输入一个职务,如:“科长”,“处长”等,然后显示数据表 ZGGZ .DBF中所有该职务的职工记录。 SET TALK OFF USE ZGGZ ACCEPT '职务:' TO ZW LIST FOR 职务=ZW RETURN
《实习教程》第12单元 分支结构的程序设计 (参考答案) 1.编写一程序,输入一个英文字母,若为大写,则显示它的小写字母,若为小写则显示它的大写字母。 set talk off accept '输入一个字符: ' to ch if upper(ch)=ch ? lower(ch) else ? upper(ch) endif return 2. 编写程序,计算分段函数: set talk off input 'x=' to x input 'y=' to y if x 《实习教程》第13单元 循环结构的程序设计 (参考答案) 1.编写一程序,计算 S=1/2+1/2^2+1/2^3+…+1/2^N,其中N由用户输入。(保留小数点后5位) 利用程序分别计算N=5,10和20时,S的值。 set talk off s=0.00000 i=1 input 'n= ' to n do while i<=n s=s+1/2^i i=i+1 enddo ? 's=',s return 2.在数据表ZGGZ.DBF中,循环查找和显示所有1970年以前出生的职工记录。 set talk off use zggz locate for year(出生日期)<1970 do while found() display continue enddo return 3.利用循环编程计算ZGGZ.DBF中男职工的平均工资。 set talk off use zggz s=0 n=0 do while not eof() if 性别='男' s=s+基本工资 n=n+1 endif skip enddo ? '男职工平均工资为: ',str(s/n,6,2) return 4.利用SCAN语句编写第2题的程序。 set talk off use zggz scan for year(出生日期)<1970 display endscan return 5.利用SCAN语句编写第3题的程序。 set talk off use zggz s=0 n=0 scan for 性别='男' s=s+基本工资 n=n+1 endscan ? '男职工平均工资为: ',str(s/n,6,2) return 6.设一个班有10名学生,循环输入每个学生的分数(百计分),统计并显示各分数段的人数。其中分数段的划分如下:90分以上,80~89分,70~79分,60~69分,60分以下。 set talk off store 0 to n1,n2,n3,n4,n5 i=1 do while i<=10 input '输入分数: ' to x do case case x>=90 n1=n1+1 case x>=80 n2=n2+1 case x>=70 n3=n3+1 case x>=60 n4=n4+1 otherwise n5=n5+1 endcase i=i+1 enddo ? '90分以上人数 :',n1 ? '80--89分人数 :',n2