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

「プログラミン練習問題-解答」の編集履歴(バックアップ)一覧はこちら

プログラミン練習問題-解答」(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)となることからも明らかではあります。

表示オプション

横に並べて表示:
変化行の前後のみ表示: