当前位置: 代码迷 >> 综合 >> [pascal]第四次pascal试验课上机时写的小程序
  详细解决方案

[pascal]第四次pascal试验课上机时写的小程序

热度:38   发布时间:2024-01-09 20:52:28.0

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函数返回值为负数*)

 

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
  相关解决方案