!偶数か奇数かを判別するプログラム ( その1 ): 10 INPUT PROMPT "偶数か奇数かを判別します。自然数を入力してください。 ":n
20 PRINT "" 30 LET C=MOD(n,2) 40 IF C=0 THEN GOTO 60 50 IF C=1 THEN GOTO 80 60 PRINT n;" は偶数です。" 70 GOTO 90 80 PRINT n;" は奇数です。" 90 PRINT "" 100 END !偶数か奇数かを判別するプログラム ( その2 ): 10 INPUT PROMPT "偶数か奇数かを判別します。自然数を入力してください。 ":n 20 PRINT "" 30 IF INT(n/2)*2=n THEN GOTO 40 ELSE GOTO 60 40 PRINT n;" は偶数です。" 50 GOTO 70 60 PRINT n;" は奇数です。" 70 PRINT 80 END !四捨五入のプログラム: 10 INPUT PROMPT "小数点第4以下を四捨五入します。小数を入力してください。 ":n 20 PRINT "" 30 LET C=INT(1000*n+0.5)/1000 40 PRINT n 50 PRINT " ↓" 60 PRINT C 70 PRINT "" 80 END !素因数分解するプログラム: 10 INPUT PROMPT "素因数分解したい数を入力してください。":n 20 LET m = INT(SQR(n)) 30 FOR I = 2 TO m 40 IF MOD(n,I) = 0 THEN 50 PRINT I;"×"; 60 LET n = n/I 70 GOTO 20 80 END IF 90 NEXT I 100 PRINT n 110 END !商と余りを求めるプログラム ( その1 ): 10 INPUT PROMPT "割られる方の自然数は? ":n 20 INPUT PROMPT "割る方の自然数は? ":m 30 LET a=INT(n/m) 40 LET b=MOD(n,m) 50 PRINT 60 PRINT n;"÷";m;"= ";a;" あまり ";b 70 END !10進数を2進数に変換するプログラム: 10 OPTION BASE 0 20 INPUT PROMPT "2進数に変換したい数は?(255以下の自然数) ":n 30 PRINT "" 40 LET C=n 50 DIM B(15) 60 FOR I=0 TO 7 70 LET B(I)=MOD(C,2) 80 LET C=INT(C/2) 90 NEXT I 100 FOR I=7 TO 0 STEP -1 110 PRINT B(I); 120 NEXT I 130 END !素数かどうか判別するプログラム: 1 !N を 2以上 Nの正の平方根以下 の自然数で割ったとき、 2 !どの数でも割り切れなければ、Nは素数である。 3 GOTO 1000 10 INPUT PROMPT "素数かどうか判別します。2以上の自然数を入力してください。":N 20 PRINT 30 FOR I=2 TO SQR(N) 40 IF MOD(N,I)=0 THEN 100 50 NEXT I 60 PRINT N;" は素数です。" 70 GOTO 1260 100 PRINT N;" は素数ではありません。";I;" が一番小さな約数です。" 200 PRINT N;" を ";I;" で割ると ";N/I;" です。" 300 GOTO 1260 1000 PRINT "1000以下の素数( エラトステネスのふるい を用いて求めたもの )" 1010 LET MAX=1000 1020 DIM F(MAX) 1030 FOR N=2 TO MAX 1040 LET F(N)=-1 1050 NEXT N 1060 FOR N=2 TO SQR(MAX) 1070 IF F(N)=-1 THEN 1080 FOR M= N^2 TO MAX STEP N 1090 LET F(M)=0 1100 NEXT M 1110 END IF 1120 NEXT N 1130 LET K=0 1140 FOR N=2 TO MAX 1150 IF F(N)=-1 THEN 1160 PRINT USING " ###" : N; 1170 LET K=K+1 1180 IF MOD(K,10)=0 THEN PRINT 1190 END IF 1200 NEXT N 1210 PRINT 1220 PRINT 1230 PRINT "1000以下の自然数の中には素数が ";K;" 個あります。" 1240 PRINT 1250 GOTO 10 1260 PRINT 1270 PRINT "このプログラムは終了しました。" 1280 END !秒を 時:分:秒に 変換するプログラム: 10 INPUT PROMPT " 秒 を 時:分:秒 に直します。 何秒? ":s 20 LET a=INT(s/(60*60)) 30 LET b=MOD(s,60*60) 40 LET c=INT(b/60) 50 LET d=MOD(b,60) 60 PRINT a;" 時: ";c;" 分: ";d;" 秒" 70 END !金額 を 貨幣 や 硬貨 で束ねるプログラム: INPUT PROMPT "金額は? ( 1円 から 10万円 の範囲で )":a DATA 10000,5000,1000,500,100,50,10,5,1 DO READ IF MISSING THEN EXIT DO: x PRINT x;" 円が ";INT(a/x);" 枚" LET a=MOD(a,x) LOOP END