home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol078 / benchmk.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1984-04-29  |  2.2 KB  |  169 lines

  1. PASCAL BENCHMARK LISTINGS BM1 to 9 
  2.  
  3. LISTINGS OF BM1 to BM8 FROM COMPUTING EUROPE JULY 27 1978
  4.  
  5. NOTE: The branch out of a nested "FOR" 
  6. loop is not legal in Pascal/Z or in MT+
  7.  
  8.  
  9. program bm1;
  10. VAR k:integer;
  11.  
  12. BEGIN
  13.     write('Start bm1');
  14.     for k:=1 to 1000 do;
  15.     write('e');
  16. END.
  17.                              
  18. ----------------------
  19.  
  20. program bm2;
  21. VAR k:integer;
  22.  
  23. BEGIN         
  24.     write('Start bm2');
  25.     k:=0;
  26.     REPEAT
  27.         k:=k+1;
  28.     UNTIL k=1000;
  29.     write('e');
  30. END.
  31.                               
  32. ----------------------
  33.  
  34. program bm3;
  35. VAR k,a:integer;
  36.  
  37. BEGIN
  38.     write('Start bm3);
  39.     k:=0;
  40.     REPEAT
  41.         k:=k+1;
  42.         a:=k div k*k+k-k;
  43.     UNTIL k=1000;
  44.     write('e');
  45. END.
  46.                               
  47. ----------------------
  48.  
  49. program bm4;
  50. VAR k,a:integer;
  51.  
  52. BEGIN
  53.     write('Start bm4');
  54.     k:=0;
  55.     REPEAT
  56.         k:=k+1;
  57.         a:=k div 2*3+4-5;
  58.     UNTIL k=1000;
  59.     write('e');
  60. END.
  61.      
  62. ----------------------
  63.  
  64. program bm5;
  65. VAR k,a:integer;
  66.                         
  67. procedure gosub;
  68. BEGIN
  69. END;
  70.  
  71. BEGIN
  72.     write('Start bm5');
  73.     k:=0;
  74.     REPEAT
  75.         k:=k+1;
  76.         a:=k div 2*3+4-5;
  77.         gosub;
  78.     UNTIL k=1000;
  79.     write('e');
  80. END.
  81.  
  82. ----------------------
  83.                             
  84. program bm6;
  85. VAR l,k,a:integer;
  86. m:array[1..5] of integer;
  87.  
  88. procedure gosub;
  89. BEGIN
  90. END;
  91.  
  92. BEGIN
  93.     write('Start bm6');
  94.     k:=0;
  95.     REPEAT
  96.         k:=k+1;
  97.         a:=k div 2*3+4-5;
  98.         gosub;
  99.         for l:=1 to 5 do
  100.     UNTIL k:=1000;
  101.     write('e');
  102. END.
  103.  
  104. ----------------------
  105.  
  106. program bm7;
  107. VAR l,k,a:integer;
  108. m:array{1..5] of integer;
  109.  
  110. procedure gosub;
  111. BEGIN
  112. END;
  113.  
  114. BEGIN
  115.     write('Start bm7');
  116.     k:=0;
  117.     REPEAT
  118.         k:=k+1;
  119.         a:=k div 2*3+4-5;
  120.         gosub;
  121.         for l:=1 to 5 do m[l]:=a;
  122.     UNTIL k=1000;
  123.     write('e');
  124. END.
  125.  
  126. ----------------------
  127.  
  128. program bm8;
  129. VAR k:integer;
  130. a,b,c:real;
  131.  
  132. BEGIN
  133.     write('Start bm8');
  134.     k:=0;
  135.     REPEAT
  136.         k:=k+1;
  137.         a:=sqr(k);
  138.         b:=ln(k);
  139.         c:=sin(k);
  140.     UNTIL k=100;
  141.     write('e');
  142. END.
  143.  
  144. ----------------------
  145.  
  146. program bm9;
  147. LABEL 1,2,3;
  148. VAR k,l,m,n:integer;
  149.  
  150. BEGIN
  151.     writeln('Start bm9');
  152.     for n:=1 to 1000 do
  153.     BEGIN
  154.         for k:=2 to 500 do
  155.         BEGIN
  156.             m:=n mod k;
  157.             l:=n div k;
  158.             if l=0 then goto 2;
  159.             if l=1 then goto 1;
  160.             if m>0 then goto 1;
  161.             if m=0 then goto 3;
  162.         1:END;
  163.         2:writeln(n);
  164.     3:END;
  165.     write('e');
  166. END.
  167.  
  168. ----------------------
  169.