プログラムの考え方がおもしろいほど身につく本
最近「プログラミングの考え方」について学習をしています。
各言語の文法だけを覚えても、学習効果が低いのじゃないかなぁと思って。
そこで対策として、こんな本を見つけてきました。
Programmer / CEThompson
C++を別のプログラミング言語に書き換えてみる
本書は、マニュアル本やリファレンス的なサンプル集の特集ではなく、
一見複雑そうな問題をどうやって切り分けて考えるか?
ということを懇切丁寧に説明しています。
言語そのものはC++で書かれていますが、初心者の人は今流行りの
PHPやJavaScriptに書き直して考えるだけでも、相当な勉強になるはず。
同一の言語を「写経」するよりも、頭が刺激されます。
(管理人の使い方)
- C++の初歩知識をぐぐる
- PHPで書き直す
- 分からないところはGoogle+のプログラミングコミュニティサイトに質問
繰り返し構文(forループ)でひし形を書いてみよう
興味のない人は、ここから先については読み飛ばしてください。
例題)
繰り返し構文を使い"#"(ハッシュ記号)"-"(ハイフン)で以下の出力をしなさい(P71)
---##---
--####--
-######-
########
########
-######-
--####--
---##---
答え)
以下の通りです。
なお、もっとクールなコードを書ける方がいらっしゃいましたらぜひ教えてください!
//1段目から4段目
for($row=1; $row<=4; $row++){
for($num=1; $num<=abs($row-4); $num++){
echo("-");
}
for($num=1; $num<= 2*$row; $num++) {
echo("#");
}
for($num=1; $num<=abs($row-4); $num++){
echo("-");
}
echo"\n";
echo"<br/>";
}
//5段目から8段目
for($row=1; $row<=4; $row++){
for($num=1; $num<=$row-1; $num++){
echo("-");
}
for($num=1; $num<= 2*(5-$row); $num++) {
echo("#");
}
for($num=1; $num<=$row-1; $num++){
echo("-");
}
echo"\n";
echo"<br/>";
}
【関連エントリ】
コーディングを支える技術 成り立ちから学ぶプログラミング技術
0 件のコメント:
コメントを投稿