资源描述
题目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 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
LOCAT 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
**********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第三个数是前两个数之和,以后的每个数都是其前两个数之和。编程
* 求出此数列第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×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:编程计算并输出给定整数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
********** 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
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
* 将各部分的成果相加(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
* 请按照题目要求,在下面编写程序代码。
*题目8:利用循环程序输出图形:
* *******
* *** ***
* ** **
* * *
* *******
* 并将输出第3行存入变量S中
* 请按照题目要求,在下面编写程序代码。
没存变量
SET TALK OFF
SET LOGERRORS ON
S=""
**********Program**********
FOR N=1 TO 5
?
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和自身整除的数)
* 将所有素数之和存入变量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 **********
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
展开阅读全文