2007年4月6日 第四次pascal试验课 上机内容是函数及过程结构程序设计
以下是我课上写的几段代码,文件名就是课本上题目的位置,例如P14_1_2.PAS即为第14页的习题1.2。
P122_5_2.PAS
PROGRAM find(input,output);
{输入一个数n,返回其右数第k位数字}
VAR
n,k:integer;
{函数digit的说明}
FUNCTION digit(n,k:integer):integer;
VAR
residue,divisor:integer;
BEGIN
{取得右数第k位数字}
residue: = n MOD trunc(exp(k * ln( 10 )));
divisor: = trunc(exp((k - 1 ) * ln( 10 )));
{向函数返回这位数字}
digit: = residue DIV divisor
END;
{主程序}
BEGIN
writeln( ' input a number and tell me the location from the right side... ' );
readln(n,k);
writeln( ' The NO. ' ,k: 1 , ' bit from the right is ''' ,digit(n,k), ''' ')
END.
(*经测试发现在TurboPascal环境中k最多只能输入5位整数否则会造成溢出,其表现为digit函数返回值为负数*)
{输入一个数n,返回其右数第k位数字}
VAR
n,k:integer;
{函数digit的说明}
FUNCTION digit(n,k:integer):integer;
VAR
residue,divisor:integer;
BEGIN
{取得右数第k位数字}
residue: = n MOD trunc(exp(k * ln( 10 )));
divisor: = trunc(exp((k - 1 ) * ln( 10 )));
{向函数返回这位数字}
digit: = residue DIV divisor
END;
{主程序}
BEGIN
writeln( ' input a number and tell me the location from the right side... ' );
readln(n,k);
writeln( ' The NO. ' ,k: 1 , ' bit from the right is ''' ,digit(n,k), ''' ')
END.
(*经测试发现在TurboPascal环境中k最多只能输入5位整数否则会造成溢出,其表现为digit函数返回值为负数*)
P122_5_4.PAS
PROGRAM exam(input,output);
{用随机数函数产生2位数加减乘法算式并判断答案是否正确}
VAR
num1,num2,answer,temp,score:integer;
seed:real;
continue :char;
{函数rand的说明}
FUNCTION rand(VAR seed:real):real;
{函数rand是根据一固定数学模型编写的}
CONST
num1 = 93.0 ;
num2 = 8192.0 ;
num3 = 1.0
{用随机数函数产生2位数加减乘法算式并判断答案是否正确}
VAR
num1,num2,answer,temp,score:integer;
seed:real;
continue :char;
{函数rand的说明}
FUNCTION rand(VAR seed:real):real;
{函数rand是根据一固定数学模型编写的}
CONST
num1 = 93.0 ;
num2 = 8192.0 ;
num3 = 1.0