Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 1517
次のページ(過去)
返信[9]
親投稿
bigslope bigslope
この時点で、「さっきは2で割り切れる数だったんだから、今度は3で割り切れる数?」って思った人は鋭い。ただ、それでも不安だと思う人の為に、もう少し数を増やしてみようと思う。 K=6の場合…6/3=2 K=7の場合…7/3=2.333… K=8の場合…8/3=2.666… K=9の場合…9/3=3 K=10の場合…10/3=3.333… これだけデータが揃えば、3の倍数であるという事はほぼ間違いないだろう。上と同様に、『Kが3の倍数の時は何の処理もしない』、言い換えれば『Kが3の倍数でない時は何らかの処理を行う』という事が推測できる。
0そうだね
プレイ済み
返信[8]
親投稿
bigslope bigslope
K/3の方も、同じようにシミュレートしてみよう。 K=1の場合…1/3=0.333… K=2の場合…2/3=0.666… K=3の場合…3/3=1 K=4の場合…4/3=1.333… K=5の場合…5/3=1.666… これも、同じ計算結果をFLOOR関数でくくったものと比較しているので、Kが3の場合だけ条件が合致するという事は分かると思う。
0そうだね
プレイ済み
返信[7]
親投稿
bigslope bigslope
これを最初のK/2の結果と比べてみると…。 K=1の場合…0=0.5…× K=2の場合…1=1…○ K=3の場合…1=1.5…× K=4の場合…2=2…○ K=5の場合…2=2.5…× Kが2の時と4の時だけ、小数点以下の数字が出ない(2で割って余りが出ない)為、条件が合致している。2で割って余りが出ないという事は、この数字が奇数か偶数かどうかの判定を行っている事になる。 Kが偶数の時は190行に飛ぶという処理を行っており、その飛び先には『NEXT K』…つまり、ループの末端があり、Kの値を1つ増やした上で、再びループの先頭に戻る。 この事から、『Kが偶数の時は何の処理もしない』、言い換えれば『Kが奇数の時は何らかの処理を行う』という事が推測できる。
0そうだね
プレイ済み
返信[6]
親投稿
bigslope bigslope
140行と150行では、このK の値を使って何か判定を行っているっぽいが、まずは変数Nの中に、5みたいな少ない数を入れて、結果を紙か何かに書き出してシミュレートしてみよう。 K/2は、Kを2で割った値なので、Kに1から5までの数字が入った場合というのを考えてみる。 K=1の場合…1/2=0.5 K=2の場合…2/2=1 K=3の場合…3/2=1.5 K=4の場合…4/2=2 K=5の場合…5/2=2.5 このK/2をFLOOR関数でくくると、小数点以下の数が切り捨てられる。 K=1の場合…FLOOR(1/2=0.5)=0 K=2の場合…FLOOR(2/2=1)=1 K=3の場合…FLOOR(3/2=1.5)=1 K=4の場合…FLOOR(4/2=2)=2 K=5の場合…FLOOR(5/2=2.5)=2
0そうだね
プレイ済み
返信[5]
親投稿
bigslope bigslope
「命令がいくつも並んでいて、どこから手を付ければ良いか分からない」という人もいると思うけど、この場合、「ここからここまで」と言うような、命令を実行する『くくり』を見つけていくのがポイント。 FOR~NEXTを見つけられたならば、そこがループという形の、1つのくくりとして考える事が出来る。 これは一般的なループの使い方で、120行のINPUT命令で、5を入れれば5回、10を入れれば10回繰り返す事になる。 1回目のループで、変数Kの中には自動的に1が、2回目には2が入るので、ループの中でKの値を調べれば、今何回目のループなのかが分かる。
0そうだね
プレイ済み
返信[4]
親投稿
bigslope bigslope
大体推敲が終わったので、解説行きまーす。 ものすごく細かく分解して説明したつもりなので、やたら長くなってしまいましたが、かえって中途半端な説明になってしまったかも知れず。
0そうだね
プレイ済み
返信[3]
親投稿
bigslope bigslope
とりあえず解答だけ。 [ア]1 [イ]5 [ウ]3 [エ]1 [オ]3 [カキ]13 [ク]5 [ケ]3 [コ]9 [サシ]49 解説がものすごく長くなってしまったんで、一旦推敲してから投稿します。 投稿しようと思ったら、文字数オーバーとかしょっちゅうだからなあ…。
0そうだね
プレイ済み
返信[6]
親投稿
bigslope bigslope
恐らく、SDカード内のプチコンの本体プログラムが破損したものと思われます。 SDカード内のデータは、時間が経つと段々劣化していくようで、いつの間にかデータが読めなくなってしまう事もあります。 ダメージを受けたのがプチコン本体ならば、修復更新で復活出来ますが、それが保存したデータ(自分で作ったプログラム等)だった場合は、ほぼ不可能と考えた方が良いです。
0そうだね
プレイ済み
返信[3]
親投稿
bigslope bigslope
X68000は、エミュレータで動かす為のIPL-ROMやシステムソフトウェアが無償公開されていますが、フォントデータ(16ドット及び24ドット明朝体)は公開されておらず、これを利用する為には、実機から転送してくる必要があります。 シャープ側に著作権があるとは思うのですが、公開出来なかったという事は、思った以上に権利関係が複雑なのかも知れません。
3そうだね
プレイ済み
返信[2]
親投稿
bigslope bigslope
(1)[イ]~[エ]に当てはまるものを、次の0~5のうちから一つずつ選び、プログラムを完成させよ。 0 N 1 K 2 S 3 T 4 S+1 5 S+K (2)このプログラムを実行して、N として10を入力すると、a(1)からa([オ])までとS=[カキ]が表示される。このとき、150行は[ク]回実行され、そのうち[ケ]回は160行の実行に進んだ。 (3)最初のプログラムで140行を IF FLOOR(K/2)<K/2 THEN GOTO @160 と変更したのち、Nとして10を入力するとa (1)からa([コ])までとS=[サシ]が表示される。 (解説は明日辺り投稿します)
0そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
上のプログラムは、自然数Nを入力して、[ア]を小さい順にa(1)=、a(2)=、…と表示し、さらにそれらの和をS=と表示するものである。ただし、このプログラムにおいて、FLOOR(A)はAを超えない最大の整数を表す。[ア]に当てはまるものを、次の0~3のうちから一つ選べ。 0 N以下の正の奇数で3の倍数であるもの 1 N以下の正の奇数で3の倍数でないもの 2 N以下の正の偶数で3の倍数であるもの 3 N以下の正の偶数で3の倍数でないもの
0そうだね
プレイ済み
投稿
bigslope bigslope
昨日まで大学入試センター試験を受けていた方、お疲れ様でした。かつてのセンター試験では、数学の試験でプログラミングの問題が出題されていた時期があり、そこでBASICが使われていたのは知る人ぞ知る話。プログラミングを知っている人だったら「余裕!」って人も多かっただろうが、現在は無くなってしまったようでちと残念。かつての『マイコンBASICマガジン』にも、試験問題の解説があったので、その中から1つ出題。
10そうだね
プレイ済み
返信[21]
親投稿
bigslope bigslope
スミマセン、LOCATEをコメントする(しない)の所の説明が逆になってました。 コメントにしないと、OKが変な所に出てきて、コメントにするとタイトル表示の下に出てくる、が正しいです。
1そうだね
プレイ済み
投稿
bigslope bigslope
セール中だったので、KORG DSN-12とM01Dを両方買ってしまった。これで佐野電磁氏にソフト3本分の金を貢いでしまった事になるのか(プチコンにもスタッフロールに佐野氏の名前あり)。そう言えば、以前のアスキーのM01のインタビューの中で、「ゲームは2週間しか持たないけど、DS-10はみんな長くやってくれる。SNSだと思っている。」というのがあり、何か納得してしまった。プチコンもそうなんだよなあ。
12そうだね
プレイ済み
返信[2]
親投稿
bigslope bigslope
…ああ、この感じ、この感じ…タイトル画面のセンスとか、キャラグラ+アイデア一発勝負なあたり、かつてベーマガで見かけたプログラムだ…。
0そうだね
プレイ済み
返信[10]
親投稿
bigslope bigslope
以前、自分もGCOPYで別ページにあるデータを重ね合わせて多重スクロールやってみた事があるのですが、60fpsが保てるのは1枚分だけで、2枚とか3枚とかになると、目に見えて処理速度が落ちてしまうという状況だったので、こういった用途にはキツイと思います。
0そうだね
プレイ済み
返信[18]
親投稿
bigslope bigslope
このように、途中で様々な問題にぶち当たった時は、「これが原因なのではないか?」という仮定を立て、それが原因である事をはっきりさせて、その対策を行う…という感じで、問題を解決していく訳です。 最も、初心者がこんなに簡単に仮定を立てられるのか(試行錯誤が出来るのか)と言われると自信がありませんが、プログラムを作るのが得意な人というのは、言わば、そのようなひらめきが得意な人でもあるという事です。 センスの問題…と言ってしまうと萎縮してしまう人もいるかも知れませんが、このようなひらめきは、一度思いつけば、みんなで共有する事が出来ます。
3そうだね
プレイ済み
返信[16]
親投稿
bigslope bigslope
・LOCATEをコメントにする…OKの文字が変な所(画面の真ん中辺り)に出てくる ・LOCATEをコメントにしない…OKの文字はタイトル文字の下に出てくる 「別にOKって文字をここに出してって指定したつもりじゃないのになあ…待てよ?LOCATEを使った時だけ、こんな変な所に出てくるという事は、ここに移動しているからなんじゃないか?ならば、LOCATEの直後にPRINTを実行させるようにすれば…。」 CLS LOCATE 23,15 PRINT "TITLE" すると、自分が最初に考えた通りの処理結果になりました。 ここに潜んでいる暗黙の了解は、次の通りです。 ・CLSを実行した直後は、カーソルは一番左上の座標に移動する(LOCATE 0,0と同じ効果) ・LOCATEを実行してからそのままプログラムを終了すると、そこにカーソルが残る
2そうだね
プレイ済み
返信[15]
親投稿
bigslope bigslope
CLS PRINT "TITLE" LOCATE 23,15 今度は、ちゃんと画面が消去された上に、タイトル文字が表示されましたが、画面の真ん中辺りではなく、何故か左上の方に表示されています。 「おかしいなあ、ちゃんとLOCATE文で画面の真ん中って指定したはずなのに…?」 今度は、LOCATE文の所をコメントにしてみます。 CLS PRINT "TITLE" 'LOCATE 23,15 左上にタイトル文字が表示されるのは同じですが、よく見ると、処理が終了した後の動作が微妙に違います。
2そうだね
プレイ済み
返信[14]
親投稿
bigslope bigslope
ここで大事なのは、手探りの状態でも、この原因を自分自身で解明できる力というのをつけていくという事です。 「画面が消えてしまう…というかそう命令したのは自分だけど、じゃあ、試しに画面を消さないようにするとどうなるだろう?」 PRINT "TITLE" LOCATE 23,15 'CLS CLSの所を'CLSという風にコメントにして、一時的にCLSを実行しないようにしてみます。これもプログラムの間違いを見つけるテクニックの一つです。 すると、画面が消えなくなったものの、タイトル文字が出てきました。 この段階で、「一度文字が表示されたものの、直後に画面が消去されて、せっかく表示したタイトル文字まで消されてしまったのか。だったら、CLSはPRINTの前に置くべきだな。」と気付く事が出来れば、それは暗黙の了解を1つ克服した事になります。
2そうだね
プレイ済み