投稿
けい kei0baisoku
みけらんジェロさんの企画に賛同し、少し慣れてきた人向けに問題を出してみます(でもちょっと毛色が違うかも…)。ルールは同じです。回答はネタバレ設定、分かる方は回答が正解なら共感ボタンを。一日後をメドに詳細な解説をネタバレ無しで載せます。 【問題】 この画面の3つのエラーについてそれぞれ、どのようなミスが考えられるか答えてください。他の方の回答以外なら、何を見ても構いません。
8そうだね
プレイ済み
返信[1]
親投稿
けい kei0baisoku
プログラムはこれです。 なお、正しい直し方は答えなくて構いません。(余裕のある人は挑戦してみても良いですけど)
0そうだね
プレイ済み
返信[2]
親投稿
けい kei0baisoku
予想はしてましたが、ちょうど良くて役にも立つ問題考えるのって難しいです……… 難しすぎたり簡単すぎたりしたらゴメンナサイ(´ω`)
0そうだね
プレイ済み
返信[3]
親投稿
くろちく FoliageLamp
エラー自体は、電子説明書に載ってるので 余裕はないけれど、まる写しもなんなので…考えも。 Syntax error おかしな文法が含まれている 5行目 MSG→MSG$ 文字列変数の$マークが抜けている。 Subscript out of range 配列の添字が想定外である 11行目 これ苦手です…0~9の10個にわけられているので 10番は含まれていない?とかなのかな…わかりませぬ。 Out of range 数値が有効範囲を超えた 16行目 円を描く指令の半径の部分が設定限界を超えたのか 表示限界を超えた…かな。STEPが、まだわかってないです。
1そうだね
プレイ済み
返信[4]
親投稿
けい kei0baisoku
ぐぬぬ…スミマセン。リアルに一箇所間違えました(><) プログラムを上げ直します。エラーは変わりません。 MSGの後に$はちゃんと付きます。
0そうだね
プレイ済み
返信[5]
親投稿
けい kei0baisoku
>LAMPさん 問題の回答自体は三つとも正解です(^O^) あれ………もしかして簡単すぎたかな(^O^;) ちなみに修正点は1つ目と3つ目は違いますが、そこは実際に問題が起きたら場所と原因を絞ってからさらに調べる所ですので、次のステップで構いません。 あと、MSGの$抜けは私のマジなミスです。スミマセン(^^; なのですが、$が抜けていてもそのエラーにはならないです。
0そうだね
プレイ済み
返信[6]
親投稿
くろちく FoliageLamp
自分の考えで挑戦すると、結構難しいなと。 まだ挑戦するレベルになってないなと、感じますね。 今回の自分の回答では、評価は△くらい。 そして、プログラム打ち込んでみたのですが 1番はエラーしないで普通に表示されました…。 …プチコンがプチコソ?は、さすがにないですよね。 見て打ってるから、何かミスをしてるのだろうか。 ついで試しました、エラーでもType mismatchだったんですね。 2番は説明調べても理解できない状況… 説明のサイトを、何度か読んでるんでいるのですが。 3番はまだ基本がわかってない領域、回答待ちします…(笑
0そうだね
プレイ済み
返信[7]
親投稿
pinfu ANNAININ
うーん。 CEIL PI VAR GCIRCLE 使った事がない・・・・ しかし、これをきっかけに! 数値の切り上げ、円周率、DIMと同じ、円を書く。なるほど・・・ その2は、Xが10に成る事が原因。 VAR[10]では0から9で10。 10個あるけど、10は含んでいない。 その3は、Xの数値が0の時、アウト。 FOR TO の開始を変えればいい、のかな? そして、その1。 +でなく;を使うべき、と思ったけど、 +で試したら出来た・・・。??
2そうだね
プレイ済み
返信[8]
親投稿
KU kerorinU
2つ目のエラーは配列の添字が範囲外になったときでますね。π二乗は重力定数(9.80665)とだいたい同じで、それを天井関数で切り上げたので10になったのでしょう。 3つ目は半径0を指定したためなので、初期値を1にすると改善されます。
1そうだね
プレイ済み
返信[9]
親投稿
KU kerorinU
1つ目がわからない、、、 ダブルクオーテーションに記号の方を使ってる? でも紫になっているし、、、
0そうだね
プレイ済み
返信[10]
親投稿
けい kei0baisoku
>LAMPさん 1つ目のそれ、よく気が付きましたね!(°Д°) 「文字列の中はどんなにおかしくてもエラーにならないよ」的な意図でわざとそう打ってみたんですが、まさか気が付く人がいるとは。スゴいです。 $がない場合のエラーはその通りです。実際に試してみるっていいですね(^^) 3つとも最後にちゃんと詳しく解説します。特に1は、スミマセン、見てピンポイントで分かるのは難しすぎますので、今は回答の内容でOKです(^^;
1そうだね
プレイ済み
返信[11]
親投稿
けい kei0baisoku
>pinfuさん わざわざ命令全部調べられたんですね!(°O°) すごいです。一応、メジャーな命令にしておいて良かった………(´ω`) 意図的に、プログラムだけ見ても間違いが分かりづらいようにしたのですが、2と3について原因まで完璧です(^^) 文字列の「+」演算は便利で、他の命令で代用もできないので覚えておくと役に立つと思います(^O^) 単純に二つの文字列をくっつけられ、結果をそのままプリントすることや、文字列変数に保存することもできます。
1そうだね
プレイ済み
返信[12]
親投稿
けい kei0baisoku
>KUさん わっ、ベテランの方からの回答(°O°) 恐縮です。 2と3はもうその通りです。 πの2乗≒重力定数は初めて知りました。面白いですね(^O^) 1は………スミマセン、最後にちゃんと解説しますが、プログラムだけ見ても分かりづらいように工夫したので………考えてくださって恐縮です(-ω-)
1そうだね
プレイ済み
返信[13]
親投稿
スー thanks_0u0
なんだか1がよくわからなかったので、頑張ってみました。変な感じだったのですが、一応シンタックスエラーが出たのでこういうことなんじゃないかな、って思います! 1は" "の外に空白に見える記号(指マークの逆の端)が入っていて、文法ミスだと怒られた 2は3.14???×3.14???=9.???以上、をCEILで切り上げたので10以上になってしまい、0〜9まで用意した配列の外を指定して、範囲外だと怒られた 3は、GCIRCLEの半径に指定できる範囲が1〜なのに、最初のx=0のときに、半径0の円を指定して、範囲外だと怒られた みたいな感じだと予想(´=ω=`) GCIRCLEは半径0のときにGPSET扱いにしてくれたら良いな、って思ったり…
1そうだね
プレイ済み
返信[14]
親投稿
pinfu ANNAININ
今は、いろんな命令を覚える事が最優先なので、こういった問題は本当に有難いです!! ある程度は、理解しはじめた感じなのですが、やはり一人でゼロからは難しい・・・。何かを作ろうにも、どうしても、自分が使えるやり方だけで、解決しようとしてしまう・・・。 もっと、出来る範囲を広げたいと、試行錯誤中です。 問題作成、感謝です!!
2そうだね
プレイ済み
返信[15]
親投稿
けい kei0baisoku
>スーさん 1、2、3全部、原因含めて正解です。 すごい、よく分かりましたね(°ω°) 問題自体は「エラーメッセージを正しく読み取れるか」という点なので、具体的な原因自体はおまけくらいのつもりでした。
0そうだね
プレイ済み
返信[16]
親投稿
けい kei0baisoku
>pinfuさん ありがとうございます(^^) 少し覚えてくると、他の人が書いたプログラムをみるのは色々発見も多く参考になりますよね。 今回の問題は命令の使い方が焦点ではなかったので、使い方は問題作成用に意味不明なものも多く申し訳ないです……… もしまた問題を考えることがあったら、なるべく実用的な内容にしたいですね。
1そうだね
プレイ済み
返信[17]
親投稿
けい kei0baisoku
>でんぺんさん コメントありがとうございます。 むうぅ、スミマセン。問題の趣旨が原因を突き止める事ではなく、まず「エラーメッセージを活用すること」を伝えたかったので、もともとプログラムも載せないぐらいのつもりだったんです(´ω`) ただ、エラーだけだとさすがにイメージしづらいかなと思いまして。 原因の部分もこんなにたくさんの方が考えてくださるとは思いませんでした。見てよく考えれば分かる内容にするか、逆に完全にカットしておいた方が良かったかなと思います(-ω-) あ、1の原因は合っています。ただ、おっしゃる通り見ても断定できない内容なので、本当の意味では実際にソースを使って検証しないと特定できないですね。
0そうだね
プレイ済み
返信[18]
親投稿
ごめんなさい。やっぱり不要な発言かなと思って消してしまいました…。そしたら返信が…(^^; 一応行末に怪しいスペースがあって、僕は一番始めにそれが気になったので、ヒントとしてはあるのかなと思って発言取り消しましたー。 ただ僕はけいさんレベルの人が行末のスペースを不用意に残すはずがないという勘で異様な印象を受けたので、ただ忘れていただけだとしたら深読みしすぎになりますが−。まあでもとくに2回目のアップロードでも消してなかったので余計に怪しかったです (^^;
0そうだね
プレイ済み
返信[19]
親投稿
けい kei0baisoku
>でんぺんさん あっ、ほんとだ。消えちゃってるw(^O^) いやでもご指摘はごもっともだと思います。 PRINTの直後のスペースにしなかったのはヒントっちゃ一応ヒントですが、具体的な原因はソースを触らないと特定できない、というのには変わりありません。 しかし、見破り方が玄人過ぎます(-ω-) 意図的に目立たせてる所まで図星ですよ。
0そうだね
プレイ済み
返信[20]
親投稿
KU kerorinU
ベテランのLOAD&RUNNERですww π二乗≒重力定数は何かと便利なので覚えていました。まさかこんなところで役立つとは。
1そうだね
プレイ済み
返信[21]
親投稿
問題作成お疲れさまです。私なりの回答+解説ですが、 1はまず命令として正しく、「ン」が「ソ」になってる中身としての間違いかと思われます。 2はPRINT Xと出すと10と返ってきましたので、DIM HAI[X]だと0から9までの配列に対して10を指定してるのでエラー。 分からない場合は変数を見て「何故通らなかったのか」考えると分かりますよ。 3ですが、半径に0は指定出来ませんのでFOR X=0 をX=1にすると治ります。 こんなところでしょうか。
0そうだね
プレイ済み
返信[22]
親投稿
けい kei0baisoku
>みけらんジェロさん 本家の方からのコメント、ありがとうございます(´ω`)\キョウシュクデス 2と3につきましてはその通りで、2は原因を突き止める時の方法もほぼ同じように考えています。 1は………すみません、実際の原因は改めて解説しますが、「ソ」はエラーの原因ではありません。 「文字列内が日本語としてどんなに間違っていても、プチコンはエラーとして知らせてはくれないよ」という意図が半分と、半分お遊びです。 しかし、LAMPさんといいみけらんジェロさんといい、よく気がつかれましたね(°ω°) 解説でちょこっと触れようと思っていたのですが。
0そうだね
プレイ済み
返信[23]
親投稿
けい kei0baisoku
回答、コメントくださった皆さん、ありがとうございました。ここから、私なりの解説です。(すみません多分長いです) まず今回の問題は「エラー画面の3つのエラーについてそれぞれ、どのようなミスが考えられるか」でした。 出題のテーマとして「エラーメッセージを活用して、問題の解決に近付くこと」を考えてました。PCで何かエラーが出ても内容をよく読む人は少ないと思いますが、プチコンでエラーが出たら99%自分の出したバグなので、自分で解決する必要があります。その時にエラーメッセージは強い味方になります。
0そうだね
プレイ済み
返信[24]
親投稿
けい kei0baisoku
英語なので見た瞬間スルーされる方も多いと思いますが、プログラム関係で出てくる単語はそう多彩ではないので、知らない単語もその都度調べて覚えていけばそう苦労せずにだいたい分かるようになります。学生時代に英語の実力テストは開始3分で選択肢だけ埋めて残り57分熟睡していた私が保証します(-ω-) 学生の皆さんは熟睡は真似しないでください(-ω-) ですので、具体的なプログラムの間違い探し自体はおまけ程度だったのですが、真剣に探してくださる方が思いの外いらっしゃいましてスミマセン……… プログラムを見て原因が分かると主旨から外れるので、あえて分かりづらいバグにしました。全部当てられた猛者の方もいらっしゃいましたが、初心者の方は見ただけでは全部分からなくて当たり前ですので安心してください。 ただ「分からなくてもまずエラーメッセージが強い味方になる」事だけ覚えてほしいです。
0そうだね
プレイ済み
返信[25]
親投稿
けい kei0baisoku
で、前置きが長くなり過ぎましたが本題の解答です。 まず、いずれのエラーも「スロット数:行数」で具体的なエラー場所を示してくれています。これが一番重要な情報です。 (1)Syntax error 「Syntax」は「文法」という意味です。文法がエラー。つまりプログラム自体の書き方がおかしい。一番よく見るエラーですね。 ほとんどの場合は単純ミスが考えられます。スペースがなかったり、ゼロとオーを間違えてたり、命令の名前を間違えていたり。たいていは、命令の文法を確認した上でよく見直せば分かりますね。
0そうだね
プレイ済み
返信[26]
親投稿
けい kei0baisoku
(2)Subscript out of range 「Subscript」は配列の「添字」という意味だそうです。つまり「配列の添字が範囲外」。2番目くらいによくみるエラーではないでしょうか。 原因としては、添字に使っている変数が思ったのと違う値になっている事が考えられます。または、うっかり間違えて全然違う変数を使ってしまっているか。 (3)Out of range in 0:16(GCIRCLE) GCIRCLEの何かが範囲外、と言ってますね。何が範囲外かはこれだけだとそれ以上分かりませんが、引数で与えたどれかの数値がおかしかったことが考えられます。 まず、元々の問題に対する解答は以上です。ここから、今回の具体的な原因についての解説です。 伝えたい事として「結果的に分かったバグの原因の知識そのものよりも、原因を探す力の方が大事」というのがありますので、探し方に重点を置いて解説したいです。
0そうだね
プレイ済み
返信[27]
親投稿
けい kei0baisoku
0そうだね
プレイ済み
返信[28]
親投稿
けい kei0baisoku
まず1つめのプリント文。 これ、実際に最近このコミュの投稿であったエラーです。 文法エラーは普通、見れば分かりますが、この行はいくら見てもおかしいところがないですね………。でも、プチコンがエラーだと言っているからには必ずどこかに原因があります。 こういう時は問題の行を少しずつ削っていって、どこを削ったらエラーがなくなるか、犯人を絞り込む方法が効果的です。 例えばこんな感じです。 (1)PRINTから+までだけ消してみる。 (2)+より後だけ消してみる。 ちなみにこれをやると結果は、1はエラー、2は通ります。 つまり、エラーの犯人は+より後にあることが分かります。
0そうだね
プレイ済み
返信[29]
親投稿
けい kei0baisoku
ここからさらに絞ってみます。 (3)+より前を消した状態で、さらに""で囲まれた中身も消してみる。 これをやると残るのは PRINT "" だけになりますが、これもエラーになります。 意味不明ですが、プチコンがエラーを出している以上、必ずこの中に犯人はいます。実際にプログラムを打って確認していたらこの時点ではっきり気付くと思いますが、行の最後に余計なスペースが付いています。 で、そのスペースを消すと通ります。 ちなみに、命令の前後に余計なスペースがあるのは、文法エラーではありません。つまり、行の最後に付いていたスペースは、普通のスペースではない文法エラーになる何かだった、ということが分かります。
0そうだね
プレイ済み
返信[30]
親投稿
けい kei0baisoku
今回、私が載せたプログラムの行末に付けていたのは、記号のページにある空白っぽいヤツです。 これは初心者、経験者関係無く、同じエラーを経験した人しか、見ても分からないと思います。でも多分、プログラムを長くやってる人の方が自力で、早く正解に辿り着ける確率は高いです。それは知識もあると思いますが「探し方」も上手いからじゃないかと思います。
0そうだね
プレイ済み
返信[31]
親投稿
けい kei0baisoku
二つ目、配列の範囲外。 まずはソースを見て、どこか自分が間違えてないかを探してみるのが普通ですね。それでもし見ても分からなければ、迷わずその添字に使っている変数をPRINTしましょう。10の名推理よりも1行のPRINTです。その数値が予想外でも予想通りでも、必ず一歩前に進みます。で、たいてい数回もPRINTすれば問題は解決します。 さて、今回の場合、添字に使っているπ×πは、プリントすると約9.87と出てきます。さらにそれをCEIL()という関数に渡してますが、これは小数を切り上げる命令、つまり、切り上げて「10」になります。 VAR X[10]はサイズ10個の配列。添字に使えるのは「0~9」なので、10は確かに範囲外です。
0そうだね
プレイ済み
返信[32]
親投稿
けい kei0baisoku
三つ目、GCIRCLEのエラー。 用意された命令なので、まずヘルプを見るのが良いでしょう。この場合、見ると半径は「1~」とあります。このプログラムでは初っぱなに0を渡してますので、これがまずいと分かります。ちなみに、アホみたいに大きい10000の方は、エラーにはなりません(-ω-) もしもっと複雑な命令でヘルプを見ても分からなかったら、PRINTの時と同じく「段々範囲を狭めて犯人を追い詰める作戦」です。例えば座標指定を大丈夫と分かっている固定の値にしてみたり、色の指定をやめたり、半径も大丈夫な固定値にしてみたり。全部を大丈夫な値にするまでのどこかで、エラーが出なくなるはずです。 ちなみに今回の FOT X=0 TO 10000 STEP 10 の構文は「Xを10刻みで10000まで増やす」という意味です。 0,10,20,30,...,10000 ですね。
0そうだね
プレイ済み
返信[33]
親投稿
けい kei0baisoku
以上です! 覚悟していた2、3倍の量になりました………(-ω-) 万一全部読んでくださった方いましたら、誠にありがとうございます。そしてすみません。 もし次またやることがあったら、絶対に短く済む内容にする………!(><)
0そうだね
プレイ済み
返信[34]
親投稿
くろちく FoliageLamp
頭に入ってこないから斜め読みになってしまう… 追いこみが終わったらじっくり読みます! たぶん1度に3問くらいの扱いだったので…お疲れ様です。 空白は、何故だろう?とは思ってたのですが 普通にスペース入れても、エラーにならなかったので ?関係ないのかなって思ってました。
0そうだね
プレイ済み
返信[35]
親投稿
けい kei0baisoku
スイマセン!(><) 分からないところは遠慮なく聞いてください! 長くて分かりづらくてすみませんm(__)m
0そうだね
プレイ済み
返信[36]
親投稿
くろちく FoliageLamp
あ、いや、本当にゲームのほうが追い込みで… 思考回路が停止してるだけです、びっくりさせてごめんなさい。 もうすぐ終わる予定なので、そしたらじっくり読みます! その時にわからなかったら、質問するのでお願いします。
0そうだね
プレイ済み
返信[37]
親投稿
けい kei0baisoku
ゲームの追い込み、お疲れさまです(`・ω・´)\ あ、私の方もビックリしたわけではなく、燃え尽きただけです………(´Д`)
1そうだね
プレイ済み
返信[38]
親投稿
くろちく FoliageLamp
とりあえず、一通り読みました…1は、なるほど!でした。 そして2がやっぱり、同じような説明を何度も見てるんですが さっぱり…というか、何に使えるのかがよくわからないです。 10に入れた0~9を簡単に取り出せる…というイメージなのですが。 3は、良く調べたら理解できそうです。 今回は半径が0を渡してきたからという説明はわかったのですが 1~と書いてあるのは理解したのですが、何故1からなのか…。 そしてたぶん解説してくれてる方いますよね… 後ほど読ませてもらおう。
0そうだね
プレイ済み
返信[39]
親投稿
けい kei0baisoku
あっ、もしかしてまだ「配列」自体をご存知じゃないんですね(°ω°) よく見たら確かに、作品でも1つも出てきてない! 長々と語っておいてなんですが、他の方の回答の方が分かりやすいかも………(´Д`) 一度ご覧になった方が理解が早いかも知れません。
0そうだね
プレイ済み
返信[40]
親投稿
くろちく FoliageLamp
まだ、配列を御存じじゃなかったようです… 回答してる人も説明してる人も理解してるようで 私に理解できるような、粉砕された説明はなかった…ゲフゲフ DIMとVARって同じ扱いでいいんですよね? 調べても、いまだに理解が及ばない。
0そうだね
プレイ済み
返信[41]
親投稿
KU kerorinU
1番、、、記号ダブルクオーテーションの考え方は良かったのか、、、 てかでんぺんさんの推理凄すぎです、、、
1そうだね
プレイ済み
返信[42]
親投稿
pinfu ANNAININ
解説、お疲れ様でした!! ここまで丁寧に書いてあると、 最後まで読まねば!と思い、しっかりと読みましたww この知識は、実戦で使っていきます!
0そうだね
プレイ済み
返信[43]
親投稿
まーくん MARK6502
LAMPさん DIMとVARは同じ扱いで良さそうですね。 DIMはdimension(=次元)の略のようで、配列の1次元、2次元という、多次元の変数という意味の宣言と考えられます。 一方、VARはvariable(=変数)そのものの意味と思います。 プチコン3号ではこの両方が宣言で使用できるので、配列変数はDIM、通常変数はVARで宣言するのが作法のような気がします。 ちなみに、マイクロソフトのVisualBasicでは、すべての変数宣言をDIMで行うという仕様になっています。
1そうだね
プレイ済み
返信[44]
親投稿
まーくん MARK6502
変数宣言についての続きです。 ご存じかも知れませんが、変数宣言ですが、プチコン3号では、プログラムの先頭で、「OPTION STRICT」を指定することで、宣言していない変数は実行時(厳密には実行前ですが)にエラーとなるように設定が出来ます。 BASICでは、配列以外の変数は宣言しなくても使えるという緩い仕様になっていますが、これをあえて、厳密にチェックするように指定する物です。 これを指定しておくことで、変数名の綴りの間違いによるバグを防ぐことが出来ます。 プログラムが大きくなり、使用している変数が多くなってくると、かなり効果がありますので、私は常に指定するようにしています。 また、こちらはポリシー的な話になりますが、配列変数はDIM、通常変数はVARとして宣言するようにしています。
1そうだね
プレイ済み
返信[45]
親投稿
けい kei0baisoku
>LAMPさん DIMとVARは全く同じです。私も少し謎ではありますが、同じものがわざわざ二つもあるのは、多分BASICやプチコンの歴史的な背景によるものだと思ってます。 配列は、うむぅ、簡潔に説明するのは難しそうですが、一言でいうと「たくさんの変数がワンセットになったもの」です。 例えば VAR SERIF$[5]で、5個の文字列変数が作られます。 そして、SERIF$[0]~SERIF$[4]の5個の変数を使えます。5個の変数はそれぞれ独立しており、値を変えても他には影響しません。 これだけだと「普通に1つずつ変数使えばいいやん」で終わるのですが、添字に変数を使えることを覚えると、特にFOR文などと組み合わせてベタ打ちではできない処理が書けます。 配列も質問が多いので、講座的なのがあるといいのかなぁ、と少し思ってます(´ω`)
0そうだね
プレイ済み
返信[46]
親投稿
けい kei0baisoku
>pinfuさん ありがとうございます!(^O^) 全部読んで下さっただけでもう感無量です(笑) 少しでも今後のお役に立てれば嬉しいです(´ω`)
1そうだね
プレイ済み
返信[47]
親投稿
けい kei0baisoku
>まーくんさん あっ、説明被っちゃいました(><) 名前の由来まで詳しい解説ありがとうございます。 OPTION STRICTは私も同じく必ずつけてます。まあ、ある程度経験のある人はだいたい付けてそうですが(´ω`)
0そうだね
プレイ済み
返信[48]
親投稿
まーくん MARK6502
けいさんの立てたスレッドだったのに、普通の質問スレッドの流れのつもりでコメントしてしまいました。(^◇^;)
0そうだね
プレイ済み
返信[49]
親投稿
くろちく FoliageLamp
まーくさん、説明ありがとうございます。 DIMとVARの背景というか、概念はそういう感じなのですね。 変数宣言は、全然知りませんでした。 そういうチェックができるような、命令はまだ覚えてないので 勉強になりました。 けいさんも、説明ありがとうございます。 だがしかし、これがなるほどわからんなのか… その変数の説明をCDが入る場所が5か所あるみたいな たとえ話の説明を読んでも、理解ができなかったので…。 制作も今回は、終わったのでもう一度何か見落としてないか 命令書や説明書を見返してみます。 何かそもそも、1つ前でつまづいてるような気がしてきました。
0そうだね
プレイ済み
返信[50]
親投稿
けい kei0baisoku
>まーくんさん いえいえ、全然気にしないでください。歓迎です(^O^) 私の説明だけだと結局よくわからんで終わる可能性があるので………(^O^;)
1そうだね
プレイ済み
返信[51]
親投稿
けい kei0baisoku
>LAMPさん ぐぬぬ………そうですか(><) どの部分が分からないのかが分かれば、もうちょっとアプローチできるかも知れませんが……… 説明書の類い、特に初心者講座みたいなのは、始めに一度読んだきりなら、今もう一度見直してみるのは良いかもしれませんね。 実際にいくつか自分で作品を作られたので、今見れば分かることもあるんじゃないかと思います。
0そうだね
プレイ済み
返信[52]
親投稿
くろちく FoliageLamp
…2?の初心者講座のりんごなら、3回は… 根本的に何か、理解の障壁があるような気がするのです。 そして、地味に教わってないことは調べながらやってるので いつもいろいろ調べてはいるのですが。 よくわからんので、やってなかったのですが… りんごのプログラムを1度打ちこんでみます。 これは、どこの何を読んでもわからん状態がずっと(TTxTT)
0そうだね
プレイ済み
返信[53]
親投稿
まーくん MARK6502
そうですね。複数の作品を作られているようなので、だんだん知識も深まってきているのではないかと思います。 配列変数の理解は、この先ステップアップしていく上で避けては通れない物です。 ミーバースは外部リンクを貼っちゃ行けないんでしたっけ? Googleで「Tiny Basic 配列」等のキーワードで検索すれば、入門レベルの解説ページがいくつか見つかると思いますので、それを見ていただくのも手かと思います。 なお、検索結果にVisualBasicのサイトも出てくると思いますが、言語の仕様がかなり違うので、混乱するので、今はそちらは見ない方が良いと思います。
1そうだね
プレイ済み
返信[54]
親投稿
けい kei0baisoku
>LAMPさん 変数も関数も何となく分かってきてるのに、配列だけそれだけ読んでも全く分からないようでしたら、確かに何か前提の所で思い違いとかがありそうな気がします。 実際にプログラム打ち込んだことがないなら、自分てでやってみるのは手ですね。ゲームも自分で実際にやって初めて面白さが分かったりしますし。
1そうだね
プレイ済み
返信[55]
親投稿
くろちく FoliageLamp
プログラム書いてみたら、なんかちょっとだけ 理解がきたようなきがします。 DIMを使ってないことをのぞけば、EDに使った部分に似てます? …DIMには近づいたような気がするけれど やっぱり今一つピンとこない、うーん…。 FOR文でループで数字が増えて、それでリンゴの数を DATAから読みだして、表示される…煙。 そして配列宣言って、最初のDIM A[]的な部分だったのか…な。 用語を覚えてなさすぎて、説明を聞いてもわからなかったよう。
0そうだね
プレイ済み
返信[56]
親投稿
けい kei0baisoku
>LAMPさん なるほど、しらない用語が残ってるとそこで理解が止まるので、調べられるならしつこく調べといたほうが良いかもしれませんね。 EDってクリスマスアドベンチャーのエンディングの事でしょうか?うーん、合ってるような少し違うような………(-ω-) 関数とかみたいに大がかりなものじゃなくて、配列自体は変数とちょっとしか違わないです。1個限定が変数で、ゼロ個以上いくつでも持てるのが配列。 使い方がピンと来ないのが原因ですかね(´ω`)
1そうだね
プレイ済み
返信[57]
親投稿
くろちく FoliageLamp
クリスマスアドベンチャーのEDであってます… 同じような表示をすることに、使えそう…に思う感じです。 説明的には、なんとなく流れを理解したんですが… DIM A[変数の箱の数0~]<配列宣言 Aの[箱の中の番号]=取り出せる数字 Aの[何番目の箱から];で取り出せる数字を表示…。 A[変数]=数字、変数=数字…で、似ている。 箱の数だけ変数が持てる用途と価値と意味が…もやもや。 使い方がピンとこないのは、そうかもしれないです。 わかるまでだと、果てないので、またいろいろしてみます。 説明してくださった方々、ありがとうございました!
1そうだね
プレイ済み
返信[58]
親投稿
けい kei0baisoku
>LAMPさん あ、同じような表示をすることに使えそう、て理解なら近いかも(^^) 実際には「同じこと」の内容に応じて、変数だったり配列だったり関数だったりを組み合わせて作ることになりますが。 うーん、書いてくれた内容を見る限りですと、機能の理解はバッチリのように見えます(?_?) あとは実際に使ってみるのがいいのかな。 LAMPさんから質問があったからというだけではないのですが、配列は理解で苦労する人が多いようなのでまた問題を作ってみました。よかったらどうぞ(宣伝)
1そうだね
プレイ済み