計算機数学レポート問題

参考プログラム 

A 文字の読み込み

   character*1 a(80)
   integer*1 b(80)
   equivalence (a,b)
10  read(*,'(80a1)',end=99) a
   write(*,*) (b(i),i=1,80)
   go to 10
99  continue
   end

C トランプの生成

   integer card(52)
   call shuffle(card)
   do 10 i=1,52
   write(*,*) card(i),mod(card(i),13),card(i)/13
10  continue
   end
   subroutine shuffle(card)
   integer card(52),c(52)
   do 10 i=1,52
   c(i)=0
10  continue
   do 20 j=1,52
30  k=52*rand()
   write(*,*) j
   if (c(k+1).eq.0) then
    card(j)=k
    c(k+1)=1
   else
    goto 30
   endif
20  continue
   end

   real function rand()
   parameter(im=134456,ia=8121,ic=28441)
   data jran/200/
   save jran
   jran=mod(jran*ia+ic,im)
   rand=real(jran)/real(im)
   end