「プログラミン練習問題-解答」の編集履歴(バックアップ)一覧はこちら
「プログラミン練習問題-解答」(2011/08/06 (土) 10:48:22) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
[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
[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)となることからも明らかではあります。