|
|
|
过程与函数练习 |
|
一、看程序写结果
PRGORAM CHU7_4;
VAR N,K,I:INTEGER;
A:ARRAY[1..40]OF INTEGER;
PROCEDURE FIND(X:INTEGER);
VAR S,I1,J1:INTEGER;
P:BOOLEAN;
BEGIN
I1:=0;P:=TRUE;
WHILE P DO
BEGIN
I1:=I1+1;S:=0;
FOR J1:=1 TO N DO
IF A[J1]>A[I1]THEN S:=S+1;
IF(S=X-1)THEN
BEGIN
WRITELN(A[I1]);P:=FALSE
END;
END
END;
BEGIN
READLN(N,K);
FOR I:=1 TO N DO READ(A[I]);
FIND(K); FIND(N-K);
END.
输入:10 4
12 34 5 65 67 87 7 90 120 13
输出:
PROGRAM CHU7_1;
FUNCTION FUN(X:INTEGER):INTEGER;
BEGIN
IF(X=0)OR(X=1)THEN FUN:=3
ELSE FUN:=X-FUN(X-2)
END;
BEGIN
WRITELN(FUN(9));
READLN;
END.
输出:
二、编写程序
1.编写一个程序,它将输入到一维数组中的任意10个数按升序排列,再从终端读入一个待查找的数x,用二分法查找x在数组中的位置。 要求排序由过程实现, 查找由函数实现。
2.综合练习 (ppro8.pas)
前提知识:计算任意三角形(三条边的长度分别为a、b、c)的面积S可以用海伦公式:
S=sqrt((x-a)(x-b)(x-c))
其中:x=(a+b+c)/2
题目描述:从键盘输入三个数,判断以这三个数为边能否组成一个三角形,若不能,则给出适当信息;若能,则输出是否为等边、等腰或直角三角形,并输出其面积。
编程要求:
(1). 将从键盘输入三个数设计成一个过程,过程名为input,带三个变量参数a,b,c;
(2). 将判断三个数能否组成三角形(包括是什么三角形)设计成一个函数,函数为ang,参数为在input中接收到的三个数,返回的值表明了能否组成三角形或三角形的类型;
(3). 将计算三角形面积设计成一个函数,函数名area,带三个值参数,返回的值为三角形的面积;
(4). 要求使程序的主程序的结构明快些,并要求在程序中的适当的说明。
|
|