もっと効率よくできないかな?
同じ処理ならまとめることできないかな?
っと、考えだすと、よりプログラミング力もついていきます。
どうすれば効率よく、スッキリしたプログラミングコードになるのか?
このような、考え方をするのもプログラミング的な思考力だと考えます。
こちらの続きから
https://rsjobs.net/blg/skill/pg-thinking/
正方形、正三角形、星、円といった描画をするプログラム
これらを続けてするには?
どうすれば、よいかと考えてみましょう・・・(例が悪い?)
一つの図形であれば、こんな感じでもよいですが、
これを連続して作ると・・・
こんな感じになります。
結果でみると、これでも、OKなのですが、何かごちゃごちゃしてスッキリしないプログラミングになっています。
なので、もっと、効率よく、スッキリ綺麗なプログラミングを考えます。
「関数(かんすう)」といった言葉があります。
Excelなどで、使ったことがあるかと思います。合計を求める時に使うSUM
これも「関数」です。
共通して使えそうなロジックはまとめて一つにすることができるのが、「関数」です。
ということで、
共通して使えるのは、
繰り返しの部分、、、
パラメータとしては、回数、歩数、角度、待ち時間
を引き渡して作ると・・・
こんな感じになります。
これだと、同じ処理がまとまり、かなりスッキリしたプログラミングになります。
Scratch では、関数 ではなく、「ブロック」と呼ばれています。
引数(ひきすう)に、関数に渡す値をセットして呼び出し、処理が終わると、戻ってくるものです。
「同じ処理であれば、一つにまとめることを考える。」
これも効率的な考え方であり、Java言語などで、よく使われる、クラスといったモジュールも同じ発想で作られたものです。
効率よく使いまわしができ、簡単に作れるのか?
といった、仕組みを考えることもプログラミングの考え方になります。
是非、Scratchのブロックを使いながら、修正も簡単にできる使いまわしのできる仕組み、ロジックを考えて下さい。
関数を作らなくても、見た目、同じように動くのも、プログラミングの面白いとこです。
いろいろなロジックが存在し、どれも動きは同じになりますが、より、簡単な?より解りやすいロジックを作っていければスキルアップしていくことでしょう。
プログラミングを考える課程において、様々な仕組みを考えます。
どうすれば、簡単に、効率的になるだろうか?
横着者の発想なのかも知れませんが、プログラミングにおいては重要なことです。
Java言語にしても、Python言語にしても、どのプログラミング言語でも、作った関数は、使いまわしができます。
どんどん使えそうな機能、関数、クラスモジュールを作って、部品として使うことで効率的に作っていくことができるのです。
作ったモノは自分の資産になりますので、ぜひ、モジュール化することを考えて下さい。
事例も多いので、参考書的な本⇒スクラッチプログラミング事例大全集