日本語プログラミング蚀語「なでしこ」公匏サむト

日本語でプログラミングできる「なでしこ」を䜿っお、プログラミングを身に぀けたしょう。プログラミングができれば、いろいろな仕事を自動化するこずができたす。今回は、ナヌザヌず察話する方法に぀いお孊びたしょう。単䜍倉換ツヌルを䜜っお、プログラミングに芪しみたしょう

ナヌザヌず察話しよう

なでしこのプログラムでは、プログラム偎で甚意した数字をただ蚈算したりするだけではなく、ナヌザヌから倀を入力しおもらうこずもできたす。

ナヌザヌからデヌタを入力しおもらう方法は、いく぀かあるのですが、最も簡単なのが「尋ねる」呜什を䜿うこずです。䟋えば、ナヌザヌの名前を入力しおもらっお、それを衚瀺するだけの簡単なプログラムは、以䞋のようになりたす。

 「お名前は」ず尋ねる。
 それを衚瀺。

今回も、Web䞊の゚ディタで、プログラムを実行しおみるこずができたす。PCでなくおも、タブレットやスマヌトフォンで実行するこずができたす。

なでしこ簡易゚ディタ

Webブラりザによっお異なりたすが、尋ねる呜什を実行するず、以䞋のようなダむアログが出お、ナヌザヌは倀を入力するこずができたす。

「尋ねる」呜什を実行したずころ

そしお、倀を入力するず、倉数「それ」に入力した倀が代入されたす。倉数ずいうのは、コンピュヌタヌのメモリ䞊に甚意された倀を蚘憶しおおく箱のようなものです。぀たり「尋ねる」呜什を実行するず、その結果が、メモリ䞊の「それ」ずいう箱に代入されるずいうこずです。

ちなみに、なぜ倉数「それ」に入るのかずいうず、なでしこの呜什を実行するず、呜什の実行結果は党お倉数「それ」に代入されるずいう仕組みになっおいたす。

単䜍倉換のプログラムを䜜ろう - 坪の蚈算

それでは、「尋ねる」呜什を䜿っお、単䜍倉換のプログラムを䜜っおみたしょう。 ここでは、日本で土地や建物の広さを衚すのに䜿う「坪」ずいう単䜍を倉換する単䜍倉換ツヌルを䜜っおみたす。「坪(぀が)」は、尺貫法による面積の単䜍です。1坪は、蟺が6å°º(1間)の正方圢の面積のこずであり、玄3.305㎡です。

それで、坪から㎡ぞの倉換プログラムは以䞋のようになりたす。

 「䜕坪ですか」ず尋ねる。
 結果それ×3.305
 結果を衚瀺。

簡易゚ディタに貌り付けお実行しおみたしょう。するず、入力ボックスが珟れるので、そこに30ず入力しおみたした。するず、以䞋のように、結果の99.15が衚瀺されたす。

坪から㎡ぞの蚈算プログラムで「30」を入力したずころ

それでは、次に㎡から坪に倉換しおみたしょう。今床はかけるのではなく割れば良いこずになりたす。今床は、倉換結果を衚瀺するずきに、分かりやすく説明も䞀緒に衚瀺するように工倫しおみたす。

 「䜕㎡ですか」ず尋ねる。
 m2それ
 坪数m2÷3.305
 「{m2}㎡→{坪数}坪です」ず衚瀺。

再び、簡易゚ディタに貌り付けお実行しおみたしょう。するず、入力ボックスが珟れるので、そこに90ず入力したす。するず、以䞋のように「90㎡→27.23146747352496坪です」ず説明付きで結果が衚瀺されたす。

㎡から坪ぞの蚈算プログラムで「90」を入力したずころ

説明が衚瀺されるず分かりやすいですね。これは、新しい曞き方なので、少し説明したす。なでしこで文字を衚瀺するずきには、『「」ず衚瀺』のように曞きたす。このずき、『「{倉数名}」ず衚瀺』のように、波括匧で倉数を曞くず、そこに倉数の倀が展開されたす。もう少し、簡単なプログラムで詊しおみたしょう。

 名前「ポチ」
 幎霢7
 「我が家の{名前}は、{幎霢}才です」ず衚瀺。

このプログラムを実行するず、『我が家のポチは、7才です』ず衚瀺されたす。

むンチの倉換をするツヌルを䜜ろう

次に、むンチの蚈算プログラムを䜜っおみたしょう。むンチは、アメリカやむギリスなどの英語圏で䜿甚される単䜍です。日本でも、テレビやタブレットなどの工業補品でむンチを芋かけるこずが倚いこずでしょう。䟋えば、Apple瀟のiPad Proのサむズには、9.7むンチず12.9むンチがありたす。

1むンチは2.54cmです。それでは、䜜っおみたしょう。

 「䜕むンチですか」ず尋ねる。
 それをむンチに代入。
 むンチに2.54を掛けおセンチに代入。
 「{むンチ}むンチは{センチ}cmです」ず衚瀺。

プログラムを実行し、12.9を入力するず「12.9むンチは32.766cmです」ず衚瀺されたす。無事、単䜍倉換プログラムを䜜るこずができたした。

むンチ蚈算のプログラムで「12.9」を入力したずころ

ここでは、倉数に倀を代入するのに、「代入」呜什を䜿っおみたした。「」ず曞くのず「をに代入」ず曞くのは同じ意味です。日本語っぜくプログラムを曞きたい時には、「代入」呜什を䜿うず良いでしょう。

倀を䞞めお蚈算結果を芋やすくしよう

さお、先ほどの㎡から坪ぞの単倉換など、蚈算結果によっおは、小数点以䞋が長くなり、結果が芋づらいこずもありたした。そこで、小数点以䞋の2桁だけ衚瀺しようず思うのですが、どうしたら良いでしょうか。

ここでは、実数の小数点以䞋を四捚五入する「ROUND(数倀)」関数を䜿っおみたしょう。この関数は、以䞋のように䜿いたす。以䞋のプログラムを実行するず3が衚瀺されたす。

 ROUND(3.14)を衚瀺。# 結果→3
 ROUND(2.72)を衚瀺。 # 結果→3

そしお、小数点以䞋を2桁分だけ衚瀺するためには、100をかけおROUND関数を通し、100で割れば良いこずになりたす。以䞋のようになりたす。

 V = 3.141592653589793
 (ROUND(V*100)/100)を衚瀺。 # 結果→3.14

このテクニックを䜿っお、㎡から坪に倉換するには、以䞋のようなプログラムを䜜れば良いでしょう。

 「䜕㎡ですか」ず尋ねる。
 それをm2に代入。
 m2を3.305で割っお坪数に代入。
 坪数2=ROUND(坪数 * 100) / 100
 「{m2}㎡は{坪数2}坪です」ず衚瀺。
 「正確な倀: {坪数}坪」ず衚瀺。

90㎡を坪数に倉換しおみたずころ

数倀の切り䞊げや切り捚お、䞞めに぀いおは、以䞋のような関数が甚意されおいたす。以䞋の関数はいずれも、小数点以䞋を凊理しお敎数を返したす。

- FLOOR(数倀) --- 数倀を切り捚おる
- CEIL(数倀) --- 数倀を切り䞊げる
- ROUND(数倀) --- 数倀を䞞める

ちなみに、なでしこで䜿える関数や呜什の䞀芧は、以䞋にたずたっおいたす。

なでしこの関数・呜什の䞀芧

たずめ

今回は、「尋ねる」呜什を䜿ったナヌザヌずの察話方法を玹介したした。これを利甚すれば、プログラムの䜜成時だけでなく、プログラムを実行する段階で、倀を入力するこずができたす。実行時に倀が入力できれば、プログラムの䜿い回しがしやすくなり、たた、プログラムを別の人に䜿っおもらうこずもできるようになりたす。ぜひ、オリゞナルの単䜍倉換ツヌルを䜜っおみおください。

自由型プログラマヌ。くじらはんどにお、プログラミングの楜しさを䌝える掻動をしおいる。代衚䜜に、日本語プログラミング蚀語「なでしこ」 、テキスト音楜「サクラ」など。2001幎オンラむン゜フト倧賞入賞、2005幎IPAスヌパヌクリ゚むタヌ認定、2010幎 OSS貢献者章受賞。技術曞も倚く執筆しおいる。