Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
129 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
次のページ(過去)
返信[19]
親投稿
うーん・・・それだと面白くないんですよね。 個人的な考えとして「他のプログラムや自作、他の言語でも臨機応変に対応できるレベルの『基礎』」を教えるのが問題を出す側の役目だと思ってます。 3号でのみ使えるテクニック「だけ」で縮めたり結果を先読みしてデータ化というのは理想とは思えないんですよ。とどのつまりRND命令で適当に読みだす様になってしまいますので。 今回はそういう回答も正解にしてますが、それを当たり前とされるとちょっと問題として失敗だったかなと思うようになってしまいます・・・
0そうだね
プレイ済み
返信[1]
親投稿
そんな時は「紙に書く」。これ基本であり最強。 プチコン用開発シートと称して「5mm方眼紙」を用意するといいですね。100均でも売ってます。 それに線を引いてレイアウトを試作して位置を決めておくと便利ですよ。 まとめwikiに有志が作成したpdfもあったかと。
1そうだね
プレイ済み
返信[2]
親投稿
誤動作防止の為にちゃんとWHILEとWEND、FORとNEXTなどは完結させた方がいいかと。 洗面所の蛇口の水を止めないまま出て行ってしまう気分です。
1そうだね
プレイ済み
返信[1]
親投稿
コスパとしては稼働時間を見れば最高ですからね。 mkIIの頃は200時間弱動かしてました(他人に見せてもらった中には1000時間オーバーの方もいたくらいです)。某MH4より長くなってます。
1そうだね
プレイ済み
返信[17]
親投稿
>LAMPさん 問題の意図としてはそっちを抜いて欲しかったですね。極限に縮めるなら*16でも問題無いのですが。
0そうだね
プレイ済み
返信[16]
親投稿
あと今更ですが「FOR~NEXTを2重にしてるのを外してる回答が多いですが、外せないように組んでしまえばよかったかな」と考えてます。 例えば FOR I=0 TO 15 FOR J=0 TO 15 X=4:Y=4 COLOR 15 L$=MID$("0123456789ABCDEF",FLOOR((I*16+J)/17),1) LOCATE X+J,Y+I:PRINT L$; NEXT NEXT こんな感じで。これならJを省略出来なくなるかと。
0そうだね
プレイ済み
返信[14]
親投稿
>LAMPさん 惜しい・・・それだと「そうだね」はおあずけになります。 FORとNEXTの間にどれだけの処理が挟まれているか、また「あれ?よく見たら同じ事の繰り返しじゃね?」と思える部分がないかよく考えて下さい。
0そうだね
プレイ済み
返信[5]
親投稿
私も最初ヘルプに書いてあったのはXX.YY.ZZZZなので30,00,200(7桁なので2000にはなりません)と読んでましたが区切る所が違うの?と思ってたり。 あとHEX$は数値じゃなくて文字列で返すのだと今気付きました。そこは申し訳ないです。
0そうだね
プレイ済み
返信[12]
親投稿
>おちゃめさん 解析ありがとうございます。今回初心者というより「プチコン以外でもそのまま活用出来る」ように考えてましたのでA$="●"*16とかは採点しない方向で考えてましたので。 >ゆうたんさん そして全ての回答を総まとめした結果って感じですね。お疲れさまです。
0そうだね
プレイ済み
返信[12]
親投稿
>あんどさん DATAでもよろしいですが生のデータを扱う方が個人的にはでかしたと思ってます。色々試せば活路は見いだせるかと。 >おちゃめさん ええ。私もそこが面倒だと思い英数字と一部の記号のみという考えに至りました。 >とめ3さん LOAD"GRP0:*****"のGRP0をGRPFにするだけ、ですね。Fは16進数で15を指します。 情報源はツイッターのやり取りとかで見たとか色々と。アンテナを張り巡らせることが大事ですよ。 あと時計どうもです。仕組みさえ分かれば充分理解できると思いますので頑張って下さい。
0そうだね
プレイ済み
返信[3]
親投稿
よく見るとMID$の書き方がおかしいですね・・・ MID$は前から基となる文、(抜きだしたい文字の)左からの文字数、何文字抜きたいかの数値ですから MID$(V$,0,1)+"."+MID$(V$,1,2)+"."+MID$(V$,3,4)でないと正しく出ないと思われます。 私のBASIC歴は過去MSXやファミリーベーシックも触ってきましたのでブランク込みで30年以上ですかね。
0そうだね
プレイ済み
返信[9]
親投稿
>€(ò∀ó€)Ξ sさん 大正解!PRINTと?の速度差は計った事が無いのでいいのかどうか分かりませんが、BASIC脱初心者向けですのでPRINTで統一する事にしています。
0そうだね
プレイ済み
返信[7]
親投稿
>pinfuさん 大正解!そういう事です。 まぁ"●"*16はあってもなくてもいいですが上の文が当たってますので。 ポイントは「何周しても同じならループから外させる」事です。
1そうだね
プレイ済み
返信[1]
親投稿
バージョン情報が格納されてるシステム変数はVERSIONです。 PRINT VERSIONと打つとバージョンが・・・50332160と出るんですよね。 どういう事かと言いますと、これは16進数で表示してるという事なのです(つまりVERSIONには16進数で格納されている)。 そこで PRINT HEX$(VERSION)と打つと、3000200と出ます。 分解すると3,00,0200となり(これはVERSIONのヘルプに書いてありました)、バージョン3.0.2という事が判明します。 ただこの数字は数値として格納されてますので、プログラムで文字列として扱う(そうでないと分解出来ない)にはまたちょっとした方法が必要ですが、ヒントはここまでです(MID$・・・いや何でもない)。
1そうだね
プレイ済み
返信[5]
親投稿
>TMさん 大正解!詳しくは解説で書きますが「何周しても同じ結果ならループから出す」のがシェイプアップのポイントです。
1そうだね
プレイ済み
返信[3]
親投稿
>TMさん もう一つ移動できるポイントがありますよ。これだけだと及第点レベルですがギリギリ正解で。
0そうだね
プレイ済み
返信[1]
親投稿
ちなみに、過去の問題については私の活動でご確認下さい。解説付き
0そうだね
プレイ済み
投稿
プチコン3号でBASICが少し分かってきた方を対象に軽い問題を出します。今回で6問目。今回は「応用編」です。 問題。次のプログラムを実行しましたが、些細というか微細レベルですが「処理が重く感じました」。どうすれば処理を早くすることが出来るのか、答えなさい。 CLS FOR I=0 TO 15 FOR J=0 TO 15 X=4:Y=4 COLOR 15 LOCATE X+J,Y+I:PRINT "●"; NEXT NEXT 答えが分かった方は「ネタバレ」で答えを書いて頂きたいです。正解した方にはそうだねで返します(私が見て無い時でも誰か分かる方がそうだねを押して頂けると助かります)。 ※今回は今までのエラー探しとは違い高速化、シェイプアップの方法についての問題です。全員満点を目指しましょう
6そうだね
プレイ済み
返信[2]
親投稿
分からないのならまずはサンプルを遊ぶかここで出ている公開キーを入力してプレイしてみて「こんな事が出来る」ってのを覚えた方がいいかと。千里の道も一歩より、ですよ。
0そうだね
プレイ済み
返信[5]
親投稿
お疲れさまです。以前のバージョンで見つけたバグ?が改善されてるかどうか分からないですが ・スマイルツール起動後、プログラムに戻って実行した時に「下画面のグラフィックページが見えない」(VISIBLE 1,1,1,1を入れてると問題無く動きます) ってのがありました。今のバージョンではまだ未確認ですので。
7そうだね
プレイ済み