プログラミング

プログラムを書くって、なぁに?

投稿日:

こんにちはaschです。

まだ始まったばかりのこのブログですが、

たくさんのアクセスありがとうございますm(__)m

どうもiPhoneからのアクセスがダントツで多いようですね( ゚Д゚)

そのうち、iPhoneに関する記事も書きますので、楽しみにしててくださいね!
※ちなみにaschはAndroidユーザーですw

今日は「われわれ」の活動からは少し離れてプログラミングについて書きたいと思います。

実は、「ブログを始めることがあったら、プログラミングについての記事を書きたい!」と前から思っていました。

今回はプログラミング初学者(=今まで一度も経験がない)の方向けに書きます。

そもそもプログラムを書くってどういうことなんでしょう?

ご存知の通り、現代のコンピュータは 0 or 1 で処理されます。
※近い将来、量子コンピュータが出来たらまた話は別ですが…

となると、例えば…

「画面上に”こんにちは”という文字を出力する」

という命令も

「01011001101011100101010011010101」
 ※あくまでイメージです

というような到底人間では理解できないものになってしまいます。

そこで、上の日本語の文章を下のPCにしかわからない謎の羅列にするために、

「System.out.println(“こんにちは”);」 

というような人間にわかりやすい”言葉”(プログラミング言語)が開発されました。



さて、プログラムを書くには何が必要でしょう?

もちろん、そのプログラムを動かす”環境”が必要ですね。
※さきほどの、System~の例だとJavaというものが必要になります

あとは、そのプログラミング言語の文法も学ばないといけません。

出来たプログラムが動くだけのPCのスペックがあるかどうかも重要です。
※現代の優れたPCではあまり気にされなくなってきているようですが、大事です。

これだけあればプログラムを書けるでしょうか?

実際に書こうとすると、「どのように処理を進めるか…」などの手続きを考える必要があります。

このような問題の解決に至るまでの手順を「アルゴリズム」と言います。

厳密には、「算術的な問題の解決手順」という定義があるようですが、一先ずは物事を解決するまでの手順とでもとらえてもらえれば良いかと思います。

例えば…

・カップ焼きそばを作るには…
 かやくを入れて、お湯入れて、3分待って…(実際はかやくいれる前にソース等の袋を取り出す必要がある)

・車のエンジンをかけるには…
 ブレーキを踏んで、キーを回して…(これは車によって違いますね、プッシュスタートの車もあれば、僕の車のようにクラッチペダルを踏まないといけないものもあります)

では、良いアルゴリズムと悪いアルゴリズムはあるでしょうか?

もし良いアルゴリズムがあるなら、その手順に従ってプログラムを書けば、品質の高いものが出来るはずです。

例題です…
99 * 99 = ? 

さて、この問題をどうやって解きますか?

99 が 99こあるので、

99 + 99 = 198
198 + 99 = 297

恐らく、この解き方をする人はほとんどいないと思います。

99 が 9 コ と 99 が 90 コに分ける

99 * 9 = 891
99 * 90 = 8910

891 + 8910 = 9801

この解き方が一般的ですね。
※筆算のやり方ですね

次のやり方はどうでしょうか?

99 が 100 コあると考える

99 * 100 = 9900

実際は
99 * 99 なので 99 が 1コ分少ない

9900 – 99 = 8901

文字だけだとパッとしないかも知れませんが、
実はこのやり方、暗算でやっても出来るくらいに早いです。

このようにやり方1つで時間や難易度が大幅に変わるので、
プログラムに限らずに、日ごろから効率の良さを追求すると生産性があがる…かもしれません。

今回は具体的なプログラムは書きませんでしたが、今後どんどんそのような記事も増やしていきたいと思います。

今日はさらに、「われわれ」メンバーの「いわお」が記事を書いてくれるそうなので、楽しみにしていて下さい(^^)/

wareware1




wareware1




-プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

Androidで超シンプルな写真メモを作る!

こんにちは、aschです!! 今回はなんと!! 「われわれ」が作った独自アプリ!! 写真メモアプリ「PictureMemo」の紹介!! まだストア申請していないので、野良アプリですが以下からDLして動 …

no image

レートに潜るならこれ!ポケモン、ダメージチェッカーアプリ!

こんにちは、aschです! 最近、本家ブログの更新ができていませんでしたすみませんm(-_-)m 「われわれ」の大冒険作成で更新時間が取れていなかったのですw …うそです(汗 ずっとポケモンやっていま …

no image

ドライブの必需品!?スピードメーターアプリならコレ!!

こんにちはaschです。 本日はドライブに便利なアプリを紹介しちゃいます!! それはこちら!! [アンドロイドのスピードメーター] ※詳細はこちら えっ? ただのスピードメーター? だって、車ってスピ …