プログラミン練習問題-解答


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

[1]
(a)
PRINT 3+5
END

(b)
INPUT A
INPUT B
INPUT C
PRINT (A+B+C)/3
END

(c)
S=0
FOR I=1 TO 40
   LET S=S+2*I
NEXT I
PRINT S
END

(d)
INPUT N
LET F=1
FOR I=1 TO N
   LET F=F*I
NEXT I
END

[2]このプログラムはよく使うので覚えておきましょう。
例としてM=3,N=4が入っている状態にしておきます。
LET TEMP=M
LET M=N
LET N=TEMP

[3]
(1)xに非常に小さな数(0.00001など)を入れると考えます。
PRINT PRINT (1+0.00001)^(1/0.00001)
END

(2)
LET E=0
FOR I=0 TO 100000
   LET F=1
   FOR J=1 TO I
      LET F=F/J
   NEXT J
   LET E=E+F
NEXT I
PRINT E
END

(3)省略

(4)
LET E=1
LET A=1
FOR I=0 TO 100000
   LET A=A/(I+1)
   LET E=E+A
NEXT I
PRINT E
END
実行してみればわかりますが、(2)と(4)ではものすごく実行時間に差が出ます。FOR文の繰り返し回数をNとすれば、これのオーダが
(2):O(N^2)、(4):O(N)となることからも明らかではあります。