見出し画像

プログラミングの最小構成を日本語プログラミング言語なでしこで見てみよう

こんにちは!なるーらぼです。今回は久しぶりにプログラミングの話もしてみたいと思います。わかりやすい、敷居の低そうなプログラミングといえばビジュアルプログラミング、Scratchが有名ですよね。ブロックを並べていくというものなのですが、実際のところ敷居が低いのは利用できる命令の数が制限されているから、というだけではあります。ブロックがそれぞれ何をするものなのかがわかりさえすれば、Scratchにこだわる必要もありません。

ビジュアルプログラミング以外、文字を入力する形式のプログラミングのほうが一般的ですが、ここで敷居が高いと感じる最大のポイントは英語でしょう。それぞれは簡単な英単語が並んでいるだけなのですが、どうしても大人のみなさんには苦痛に感じてしまうようです。
そこで、以前の投稿でも時折登場しているのが日本語プログラミング言語である「なでしこ」です。非常にウェブ検索しにくい名称で、おおむね「なでしこジャパン」がヒットするため情報を得にくいものになっています。

そんな「なでしこ」ですが、公式サイトに行きさえすればブラウザから試すことができます。実際にいろいろサイト内を見て回っていただくとおわかりのように、開発された方は日本人です。英語でなくともよくわからないという部分はあるにせよ、読めなくはないと思います。

ということで前置きが長くなりましたが、プログラミングの最小構成を「なでしこ」を使ってみてみようというのが今回の投稿になります。できれば最後までお付き合いください。

はじめに

この「なでしこ」ですが、英語ではなく日本語をつかって書いていきます。簡易エディタを使ったり、ダウンロードして動かしてみてくださってもいいでしょう。とにかく日本語で書きますので、読めないということには陥ることがないはず、です。

プログラミングは大きく3つの要素からできています。
1.順次
2.反復
3.条件分岐
たったこれだけの要素しかありません。これでコンピュータに指示を出していきます。これの組み合わせをつくるだけで、SNSや動画投稿サイトができていると思うと夢がありますね。

順次

まず、順次です。プログラムは書かれている指示を文章の上から読んでいくように実行していきます。ですから、実行してほしい順に指示を書いていけばよいというだけです。簡単ですね。

「おれはおれだぁっ」と表示

これを簡易エディタに入力して実行すると、「おれはおれだぁっ」と表示されます。「なでしこ」が指示を守って忠実に実行したためです。実際のところ、なでしこへの指示は「表示」という部分だけです。かっこの内容は表示したいものです。文字が並んでいるので、「文字列」と言ったりします。これだけ見ると、何も難しいことはしていないですよね。
次は指示を順番に並べていきます。

「おれはおれだぁっ」と表示
おれは「あなた」
「{おれ}は{おれ}だぁっ」と表示

これを簡易エディタに入力して実行すると、

おれはおれだぁっ
あなたはあなただぁっ

と表示されたはずです。謎ですね。
一行目は最初の例と同じですから大丈夫ですよね。
次の二行目が謎です。

おれは「あなた」

これも指示の一種なのですが、「は」というのがポイントです。
「おれ」の部分を一般的には変数と呼びます。入門書でハコだと解説されているものです。この指示は、「あなた」という文字列のことを「おれ」としますよ、ということです。この指示によって「おれ」を指すと「あなた」という文字列のことになるのです。その結果、三行目のさらに謎の多い指示が成立します。

「{おれ}は{おれ}だぁっ」と表示

まず波かっこに「おれ」が囲まれているのがわかると思います。ここが先ほどの変数「おれ」になります。そこがわかると、「○○は○○だぁっ」という定型文の〇〇が変数「おれ」の指し示すものにすげ変わるんだということのお気づきではないでしょうか。変数にまで話が及んでしまいましたが、順次についてはおわかりいただけたでしょうか。指示を順番に出していくんだな、ということがわかれば十分です。

反復(繰り返し)

次は反復です。

1から10まで繰り返す
	それを表示

こちらを簡易エディタに入力して実行すると、1から10までの数字が表示されたはずです。反復はまさしく繰り返すことです。「それ」が繰り返されている数字になっているということも直感的におわかりだと思います。この例を少し改変すれば、「おれはおれだぁっ」を10回表示することも1000回表示することもできます。コンピュータ利用の最大の利点として、同じ動作を間違いなく繰り返すことができるというものがあります。ぜひ活用できるようにしましょう。

条件分岐

最後に条件分岐です。「ごはんがなかったらパンを食べる」というようなものが条件分岐ですね。ケースバイケースとか、言い方はいろいろありますが何かの条件にそって指示を変えるということです。

おれは「あなた」
もしおれが「あなた」ならば
	おれを表示
違えば
	「あなたではありません」を表示
ここまで

段落下げのようなことをしているのは、わかりやすさのためです。Wordなどで文章を箇条書きするときに、こうした字下げをしていると思います。上記の例自体は意味のわからないプログラムですが、「もし~ならば」というところが条件、その次の行の字下げしているところがこれまた順列な指示です。「違えば」は「もし~ならば」に当てはまらないときに実行される指示になります。「ここまで」という指示はなでしこ特有のものですが、条件分岐をしている範囲は「ここまで」ということを示しています。

まとめ

ここまで読み進めていただくと、そこまで読めないものを使っているわけではないということがお分かりではないでしょうか。単にほかのプログラミング言語が英語だから暗号にしか見えないという方でも、たいしたこと書いてないんだなとご安心いただければ幸いです。

プログラミングの3要素をお話してきましたが、これらを組み合わせることでさらに大きな指示を書いていくことができます。こうした大きな指示を「マクロ命令」と呼ぶそうです。ここからきているのがExcelマクロの「マクロ」です。

最後に、なでしこバージョン1と3の両方で動作するサンプルを載せておきます。3要素を組み合わせて書いたものです。参考にしてみてください。

「おれはおれだぁっ」と表示
おれは「あなた」
「{おれ}は{おれ}だぁっ」と表示
村人は「村人」
1から10まで繰り返す
	順番はそれ
	もし(順番を3で割った余り)が0ならば
		「{村人}{順番}:ワイはワイだぁっ」と表示
		続ける
	ここまで
	もし(順番を5で割った余り)が0ならば
		「{村人}{順番}:{おれ}はワイだぁっ」と表示
		続ける
	違えば
		「{村人}{順番}:おれはおれだぁっ」と表示
	ここまで

画像1

画像2


この記事が気に入ったらサポートをしてみませんか?