100 CLS 110 INPUT "年(1900〜2100),月 ";Y,M 120 IF Y<1900 OR Y>2100 OR M<1 OR M>12 THEN RUN 130 YY=Y:Y=(Y+4) MOD 28 140 J=Y MOD 4:D=INT(Y/4)*5+J 150 IF J>0 THEN D=D+1 160 IF YY=1900 THEN D=1 170 X=0 180 FOR I=1 TO 12 190 IF I<=M THEN D=(D+X) MOD 7 200 READ X 210 IF I=2 AND J=0 THEN X=1 220 IF (YY=1900 AND I=2) OR (YY=2100 AND I=2) THEN X=0 230 IF I=M THEN XX=X+28 240 NEXT 250 PRINT:PRINT 260 FOR I=1 TO 7 270 READ A$:PRINT " ";A$;" "; 280 NEXT 290 PRINT:PRINT:PRINT SPACE$(D*4);
(続く) 08017992014/03/14(金) 03:58:27.59ID:Dt0a1Iuk 300 FOR I=1 TO XX 310 PRINT USING" ## ";I;:D=D+1 320 IF D=7 THEN D=0:PRINT:PRINT 330 NEXT 340 PRINT 350 IF D>0 THEN PRINT:PRINT 360 END 370 DATA 3,0,3,2,3,2,3,3,2,3,2,3 380 DATA "日","月","火","水","木","金","土"
行番号は追放する方針。>>800->>801のプログラムも、最初はDATA命令の行番号を指示する "RESTORE 380"があったが、180〜240行を無駄ループにして回避。 0812799(MSXで動作可)2014/03/16(日) 17:47:43.30ID:P7mFBOx5 100 CLS 110 INPUT "Y,M ";Y,M:MM=M:D=1:U=Y MOD 4 120 IF U=0 THEN UU=1 130 IF U=0 AND (Y MOD 100)=0 AND (Y MOD 400)>0 THEN UU=0 140 IF M=1 OR M=2 THEN M=M+12:Y=Y-1 150 IF Y<0 OR Y>9999 OR MM<1 OR MM>12 THEN RUN 160 H1=(365*Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((306*(M+1))/10)+D-428) 170 HH=INT(H1/32767):H=(H1-32767*HH) MOD 7 180 FOR I=1 TO 12 190 READ X 200 IF MM=I THEN D=X+28 210 IF MM=2 AND UU=1 THEN D=29 220 NEXT 230 PRINT:PRINT 240 FOR I=1 TO 7 250 READ A$:PRINT A$;" "; 260 NEXT 270 PRINT:PRINT:PRINT SPACE$(H*4); 280 FOR I=1 TO D 290 PRINT USING " ## ";I;:H=H+1 300 IF H=7 THEN H=0:PRINT:PRINT 310 NEXT 320 PRINT 330 IF H>0 THEN PRINT:PRINT 340 END 350 DATA 3,0,3,2,3,2,3,3,2,3,2,3 360 DATA "SUN","MON","TUE","WED","THU","FRI","SAT" 0813デフォルトの名無しさん2014/03/16(日) 21:18:49.40ID:lTEgNzO7>>807 俺P2からの書き込みだけどPにならんよ 08147992014/03/17(月) 00:30:21.19ID:wkMqB80o>>813 この板ではならない。 末尾に"7"などの数字・"Q"などその他の英字がある時点で 「ここはp2・ガラケー・iPhone・PCなどその他 の判別がない」とわかるはず?
そのうち〜バスの電磁大光ブザーを真似た PLAY"S8M90O6G" とSOUND命令版も紹介するか。 これは自分で考えたもの。 PLAY"S8M90O7G" だと、通常のアナログブザーに。 …当時のMSXのクイズプログラムは、不正解の音は PLAY"O1C" などワンパターンだった。 ちなみにエミュレータのfMSXとRuMSXは、これらの音は再現できない=PSG再現に難がある。 0817799(漢字BASIC版、改行は最小限に)2014/03/17(月) 05:17:53.14ID:wkMqB80o 100 _KANJI:WIDTH 29:_CLS 110 INPUT "Y,M ";Y,M:MM=M:D=1:U=Y MOD 4:UU=0 120 IF U=0 THEN UU=1 130 IF U=0 AND (Y MOD 100)=0 AND (Y MOD 400)>0 THEN UU=0 140 IF M=1 OR M=2 THEN M=M+12:Y=Y-1 150 IF Y<0 OR Y>9999 OR MM<1 OR MM>12 THEN RUN 160 H=(Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((13*M+8)/5)+D) MOD 7 170 D=31:M=MM 180 IF M=4 OR M=6 OR M=9 OR M=11 THEN D=30 190 IF M=2 THEN D=28+UU 200 PRINT:PRINT "SUN MON TUE WED THU FRI SAT" 210 PRINT SPACE$(H*4); 220 FOR I=1 TO D 230 PRINT USING " ## ";I;:H=H+1 240 IF H=7 THEN H=0:PRINT 250 NEXT 260 PRINT 270 IF H>0 THEN PRINT 280 END 0818デフォルトの名無しさん2014/03/19(水) 12:04:38.51ID:OxhLoqdL ここもちらしの裏だし まいっか 0819デフォルトの名無しさん2014/06/04(水) 15:34:40.19ID:ZiHf6GEW 揚げろや屑やろう!