ベストアンサー
専門学校に通うか、メルカリの個人的に教えて下さる方のどちらが良いかと言えば、メルカリの個人的に教えて下さる方のほうが良いのではないでしょうか。 専門学校は、学校と同じく複数の生徒とともに授業を受けることになり、学校の授業と同じ結果(ひとり遅れてしまう)になってしまいます。 個人的に教えてくれる方であれば、お子さんのレベルに合わせてマンツーマンで教えてくれるはずです。 (かなりの長文となりますが、解決に近づくはず と考えました) 少し余計かもしれませんが、少なくとも以下の4行のプログラムを丸暗記するだけでも、一歩進んだことになります。 なぜなら、これが C 言語の基本形(出発点)で、IT 会社の偉いプログラマーの方も、趣味でプログラムやっている方も、毎回毎回、まずはここから始めているからです。 #include <stdio.h> void main( void ) { printf( "hello world!" ); } これを覚えて、学校の休み時間にでも、何も見ないでこれをプログラミングの画面で入力して、hello world! と表示されれば、「なにも見ないでできた!楽しい!」になると思うんです。 いろいろな意見があっても良いと思って言うのですが、国語と英語は私の意見としては、プログラミングとはあまり関係ないと思うんです。私と逆の意見を言っている方には少し失礼となりすみません。 私は小学生の頃の国語の文法の授業で、他の生徒は大丈夫なのに、私一人だけ大きく混乱して、それが原因で日本語の文章作成(話すときや書く時も)が、大変苦手になってしまいました。大人になった今でも四苦八苦しています。 それでも、プログラミングは大好きなんです。国語が本当に関係しているなら私は今頃、プログラミングしてないでしょう。高専の情報工学科へ入り、友人の協力もあり全国高専プログラミングコンテストにも出場できました。 英語については、小学6年生の時ですが、私自身のプログラミングの能力向上のために母に「英語の塾に通いたい」とお願いして、通わせてもらったことがあります。しかし、結果は「あまり役には立たなかったな…」というものでした。「プログラムの中に英単語が出てくるからといって、英語の力が必要ということにはならない」ということがわかったんです。 でも今の先生が、国語と英語が必要、とおっしゃるならその通りとして聞くようにしたほうが良いとも思います。 プログラムを理解するために覚える事柄には限りがあって、底なし沼ではありません。その事柄は今ここに箇条書きで書けるだけです。 ご両親だけでも知っておいてくれればお子さんは安心できると思います。 よろしかったら、ちょっと頑張って次の箇条書きを読んでいただきたいと思います。 お子さんが上記を暗記しているあいだ、ご両親は下記を知っていただくとよいと思います。もちろん必要と思い行うかどうかは質問者さんの自由です。 全部で6つ。これが「プログラム」のすべてです。おおまかにイメージをつかんでください。 難しいことなく読めるように工夫してあるので安心して読んでください。 ●プログラムの動きは、命令を順番に進める「順次」と、動きが分かれる「分岐」と、動きを繰り返す「繰り返し」の 3つ しかありません。これを私の覚え方で恐縮ですが、"良いプログラム" で覚えられます。「良い」はローマ字で「YOI」ですよね。Yは分岐、Oは繰り返し、Iは順次、それぞれの動きを似た形の英文字に当てています。よろしかったらこれで覚えてください。 ●「プログラム1つ」に名前を付けた「サブルーチン」というものがあります。全体のプログラムに対する「小プログラム」といったところです。名前を付けることができ、その名前を呼べば、その「プログラム1つ(小プログラム)」が実行されるというものです。別名で「関数」と呼ばれることもあります。C 言語では関数と呼んでいます。 たとえば、買い物に行ったときにお金が足りないことに気付いて、『ちょっと ATM へ寄って手続きしてお金を引き出して戻ってくる』、そして買い物へ… というような、必要になったらちょっと行う、決まった動きです。 ●変数というものがあります。彼、彼女、彼ら、といった日本語の代名詞みたいなものです。「彼」には、山田君とか佐藤君とか、日ごろから誰でも入れて、話すときに便利に使ってますよね。「彼はカッコイイ」という文があったとき、「山田君はカッコイイ」にもなるし、「佐藤君はカッコイイ」にもなる。このように、「彼」に誰を入れるか次第で、文の結果を変えられるというものです。そういうしくみがプログラムにはあって、とても大切なしくみです。 ●四則演算があります。+、-、×、÷ を使った式がプログラムの中で使われています。 ●「ブロック」というものがあります。 「彼は私にこう言ったの!『今日は残業ないから早く帰るよ』だって!」 この「」と『』のように、文を区切って、プログラムの動きを意味が ごっちゃ にならないように分けるしくみがあります。C 言語では {} というカッコを使います。 ●最後に、ちょっと難しいですが、「上記を組み合わせる」というしくみがあります。「変数のしくみ」と「四則演算」を組み合わせて、A = 1 + 2 + 3 ということが出来ます。A には 6 が入りますよね。。また、「変数のしくみ」と「サブルーチン」を組み合わせて、A = money_get_by_ATM() ということができます。前述の買い物の ATM の例を使っています。ここで、money_get_by_ATM はサブルーチンの名前です。A にはきっと引き出したお金の金額が入るんでしょう。 以上の、合計6つだけ。それが「プログラム」です。 難しかったでしょうか。難しかったらごめんなさい。 以上6つを使ったプログラムの例を以下に書きますが、上の6つだけ知っておいてもらえれば、お子さんのためになると思います。以下のプログラムは付け足しの参考程度と考えてください。 プログラムの中の □ はわかりやすくするための空白です。□ を取り除くとちゃんと C 言語プログラムとして動作します。 また、// 以降は C 言語ではコメント(説明書き、自由なメモ)となります。 #include <stdio.h> int money_get_by_ATM() { //これは「関数」です。小プログラムです □□printf( "ATMでカードを入れて、パスワードを入れて、金額入れて、、" ); □□return 10000; // "1万円引き出した" } //以下は全体のプログラムです。ここから始まります。 void main( void ) { □□printf( "今月のお買い物始めまーす!" ); □□for( int i = 0; i < 4; i++ ) { //これは「繰り返し」です。for の () の中はごちゃごちゃとしていてちょっと難しいですね。4 回繰り返すという意味です。 □□□□int saifu = 20000; //saifuは「変数」です。財布にはいろんな金額が入りますよね。"20000円入れた" □□□□printf( "今週もこれからお買い物に行きます。" ); □□□□printf( "行ってきまーす!" ); //上の行に続いて並んでます。これは「順次」です □□□□if( saifu < 30000 ) { //これは「分岐」です。もし、お財布が 30000円未満ならこのブロック( {}カッコ内)を始めます。30000円以上ならこのブロックに入りません。 □□□□□□printf( "ちょっとお金足りなかったかな?" ); □□□□□□saifu = saifu + money_get_by_ATM(); //これは「変数」と「四則演算」、「関数の呼び出し」を「組み合わせ」しています。"お財布には もとあった 20000円に ATM から引き出した 10000円を加えて 30000円が入った" □□□□} □□□□printf( "じゃぁお買い物をしよう!" ); □□□□printf( "今週のお買い物終わり!" ); //上の行に続いて並んでます。これは「順次」です □□} //←これは for から始まったカッコなので for の最初へ戻ります □□printf( "今月のお買い物終わり!" ); } 大変な長文で失礼いたしました。 ちんぷんかんぷん、なにがわからないかわからないみたい、可愛らしいお子さんに思えます。
質問者からのお礼コメント
子供なりに理解出来たとの事です。 親身にご回答していただきありがとうございました。
お礼日時:7/1 17:12