ID非公開

2020/10/22 17:17

33回答

私はC言語の基礎をいまやっています。

私はC言語の基礎をいまやっています。 僕は頭の中でこの関数使ってこうする。とかの想像は出来るんですけどそれを具現化できません。 超大まかなことしかできないんです。 それは何故でしょうか? 慣れていないから?知識がないから?関数を完璧に理解してないから? また、C言語習得におすすめのサイト、書籍などあったら教えて欲しいです。

ベストアンサー

0

基礎は出来ていますか。 たとえば変数とかを単体で使えますか。 使えるっていうレベルなら後は『発想を学ぶ』だけです。 数学でいえば『式が与えられている問題』は解けるけど、『高校入試やセンター試験に出るような、複数の項目で構成されている問題』は解けないっていうレベルです。 グラフ上に図形があって、その図形の面積を求めるとかのアレです。 (あくまでイメージ) ----------------------------------------- まず、深呼吸してください。 そして『現実世界でならどうするか』を考えます。 たとえば ------------- [Q1] int型の配列arr (要素数10)があり、この中に特定の数字があるかどうか調べるプログラムを組め ------------- なら、 ---------- [現実世界 風] 中身の見えない箱(びっくり箱のような)に数字が書かれたもの(たとえばビリヤードの球とか)がひと箱につき一個入っているとする。 この中に特定の数字があるかどうか調べなさい。 ----------- っていう感じで読み替えてみる。 あるいは -------- [現実世界 風2] 名簿リストのように渡された数列 a = 1, 2, 4... 等に特定の数字があるかどうか調べなさい。 -------- とかですね。 普通に考えて、『一個ずつ見ていけばいい』ですね。 一致するものがあればそれでOK。 そういう風にできる。 FizzBuzz問題みたいに、『押してもダメなら引いてみな』的発想が必要な場合もあります。 この場合は発想を変えてみる。 『3の倍数』ってなにか。→ 『3で割り切れる』数字。 → 『3で割り切れる』とは何か。 → (具体的な数字を出してみて、3の倍数とそれ以外のパターンを見比べてみる) → 『3で割ったときに余りが0なら3の倍数』 っていう風に。 後はTVでのクイズ番組とかでやる、『規則性を見付ける問題』とかみたいに、『ある法則性があるからそれを考える』とかですね。

その他の回答(2件)

1

>想像は出来るんですけどそれを具現化できません お察しの通り、慣れと知識です 「こういう時はこうする」というセオリーが数十ほど用意されてるので、大抵のことはそれの組み合わせを念じて思い浮かべるだけでだけでなんとかなります つまり、「超大まかなことしかできない」という場合、おおよそは「超大まかなことしか知らない」というだけです

1人がナイス!しています

2

頭の中で考えてばかりいないで、実際にコードを打って動かしてみる。 エラーが出たらその意味を考えて直してみる。 うまく動かなかったら、なぜかを考えて少しだけ書き換えてまた試してみる。 そういう事をたくさん繰り返すことで、勘所は分かってきます。 トライアンドエラーはとても大事です。

2人がナイス!しています