1、题目1:从键盘输入三角形的边长,输入边长满足两边之和不小于 第三边,且为正值。计算并输出三角形的面积S;若不满足以上条件,显示输出"不能组成三角形"。 * 其中面积公式请参看(图1)。 Area=根号下s*(s-a)*(s-b)*(s-c) S=(a+b+c)/2 * 将面积值存入变量AREA中。 * 请按照题目要求,在下面编写程序代码。 SET TALK OFF SET LOGERRORS ON INPUT TO A INPUT TO B INPUT TO C ? "三角形面积为",FUN(A,B,C) YZJ() SET TALK
2、 ON RETURN FUNCTION FUN(a,b,c) AREA=-1 **********Program********** if a+b>c and a+c>b and b+c>a and a>0 and b>0 and c>0 s=(a+b+c)/2 area=sqrt(s*(s-a)*(s-b)*(s-c)) ? "三角形面积为",s else ? "不能组成三角形" endif ********** End ********** RETURN AREA FUNCTION YZJ() USE IN LOC
3、AT FOR TIHAO=1 IF FOUND() A=N1 B=N2 C=N3 O=FUN(A,B,C) DO YZJ1 WITH O ELSE ?"试题输入文献已损坏,请重新配备考试环境" ENDIF USE RETURN *题目2:已知变量x为正整数,编程求变量x的位数。 * (请用do case...case...endcase语句完成。) * 将成果存入变量OUT中。 * 请按照题目要求,在下面编写程序代码。 SET TALK ON SET LOGERRORS ON x=4764 OUT=-1
4、 **********Program********** do case case x>9999 place=5 case x>999 place=4 case x>99 place=3 case x>9 place=2 othe place=1 endcase OUT=place ? OUT ********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF *题目3:编一程序打印一个数列,前两个数是0、1第三个数是前两个数之和,以后的每个数都
5、是其前两个数之和。编程 * 求出此数列第20个数,将成果存入变量OUT中。 * 请按照题目要求,在下面编写程序代码。 SET LOGERRORS ON OUT=-1 **********Program********** a=0 b=1 i=3 do while i<=20 c=a+b a=b b=c i=i+1 enddo OUT=c ?OUT ********** End ********** DO YZJ28 WITH OUT RETURN *题目4:编程求P=1-1/(2×2)+1/(3×3)-1/(4×4)+1/(5×
6、5)。 * 将成果存入变量OUT中,要求用Do While语句实现。 SET TALK ON SET LOGERRORS ON OUT=-1 **********Program********** P=0 M=1 DO WHILE M<=5 P=P+((-1)^(M+1))/(M*M) M=M+1 ENDDO ?"P=",P OUT=P ********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF *题目5:编程计算并输出
7、给定整数n的所有因子之积 * (不包括1与自身)。 * 将成果存入变量OUT中。 * 请按照题目要求,在下面编写程序代码。 SET TALK ON SET LOGERRORS ON ? "输入一个整数:n=855" n=855 OUT=-1 **********Program********** store 1 to s for i=2 to n-1 if n%i=0 s=s*i endif endfor ? "s=",s out=s ******
8、 End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF *题目6:编程求一分数序列2/1,3/2,5/3,8/5,13/8, * 21/13…的前20项之和。 * 将成果存入变量OUT中。 SET TALK ON SET LOGERRORS ON OUT=-1 **********Program********** f1=1 f2=1 s=0 for i=1 to 20 f3=f1+f2 f1=f2 f2=f3
9、 s=s+f2/f1 endfor out=s ? Out ********** End ******* DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF *题目7:计算并在屏幕上显示乘法表。显示格式如下: * 1×1= 1 * 1×2= 2 2×2= 4 * 1×3= 3 2×3= 6 3×3=9 * ...... * 1×9= 9 2×9=18 ......9×9=81 * 将各部分的成
10、果相加(1+2+4+3+6+9+.....+81)存入变量Z中 SET TALK OFF SET LOGERRORS ON CLEAR Z=0 **********Program********** for i=1 to 9 for j=1 to i ?? allt(str(j))+"×"+allt(str(i))+"="+allt(str(i*j))+" " Z=Z+i*j endfor ? endfo ********** End ********** DO YZJ23 WITH Z SET TALK ON RETURN *
11、 请按照题目要求,在下面编写程序代码。 *题目8:利用循环程序输出图形: * ******* * *** *** * ** ** * * * * ******* * 并将输出第3行存入变量S中 * 请按照题目要求,在下面编写程序代码。 没存变量 SET TALK OFF SET LOGERRORS ON S="" **********Program********** FOR N=1 TO 5
12、 IF N=1 OR N=5 FOR M=1 TO 7 ?? "*" ENDFOR ELSE FOR M=1 TO 5-N ?? "*" ENDFOR ?? SPACE(2*N-3) FOR M=1 TO 5-N ?? "*" ENDFOR ENDIF ENDFOR ********** End ********** DO YZJ14 WITH S SET TALK ON *题目9:求2到20之间所有的素数。(素数是只能被1和自身整除的数) * 将所有素数
13、之和存入变量Y中 * 请按照题目要求,在下面编写程序代码。 (已修改) CLEAR SET TALK OFF SET LOGERRORS ON Y=-1 **********Program********** Y=0 for i=2 to 20 for j=2 to i if int(i/j)=i/j exit endif endfor if j=i ?i,"是素数" Y=Y+i endif endfor ?Y ********** End *********
14、 DO YZJ7 WITH Y SET TALK ON RETURN *题目10:找出一个不小于给定整数且紧随这个整数的素数。 * 将成果存入变量OUT中。 * 请按照题目要求,在下面编写程序代码。 SET TALK ON SET LOGERRORS ON ? "给定的整数为68" OUT=-1 **********Program********** i=69 do while i>=68 for k=2 to i-1 if i%k=0 exit endif endfor if i=k exit endif i=i+1 enddo out=i ********** End ********** DO YZJ WITH OUT SET LOGERRORS OFF SET TALK OFF






