表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。

消費税(8%)が30円のときの販売金額を求めよ。(プログラミング的思考が身につけば、プログラムは組める)

作者: 樋口諭吉

 とあるエッセイでスクラッチ言語が叩かれてたけどさ?

 別にCやJavaやアセンブリ言語だけがプログラミング言語ってわけじゃないんだよ?


 今回は『プログラミング的思考が身につけば、プログラムは組める』ってことを例をあげて説明しよう。


『消費税(8%)が30円のときの販売金額を求めよ』という問題があったとします。


 例えばね。例えば、プログラミング的思考を持っている人は、こんなふうに考えます。


『販売金額が1 円から 500円までの間、販売金額の8%の消費税額を計算し、もし消費税額が30円なら販売金額を画面に表示する』


 僕はプログラマじゃないし独学なので、あんまりスマートな例になってなかったらごめんね。


 最初の『販売金額が1円から500円までの間』っていうのは、500円の8%は40円だからです。つまりね。消費税が30円ならば、販売金額が500円未満なのは明白でしょ? ってことです。スタートが1円なのは、1円未満の販売金額が無いためです。


 別に 多めにとって『1円~1,000円の間』でもいいよ? 実際、この例では『1円から100,000円の間』だろうと、計算速度に大差はないでしょう。


 もっと狭く『400円から500円の間』でやってもいいし、そこらへんはご自由にどうぞ。


 言語はスクラッチでもいいんだけど、僕はjuliaを選んだ。


 理由はfloor(小数点以下を切り捨てる関数)が最初から用意されているのと、ワンラインで書けそう(説明が簡単そう)だと思ったため。


 非常に簡単な計算なので、他の言語でも内容はそう大して変わらない。ちなみにスクラッチだと消費税の切り捨て部分(の説明)がちょっとだけめんどい。


 じゃあ初めましょうか。

 まず、変数を決めないといけないね。

 販売金額をx、消費税額をyとしようか?


 それでは、プログラミング的思考をプログラムに変えてみよう。


『販売金額が1 円から 500円までの間、販売金額の8%の消費税額を計算し、もし消費税額が30円なら販売金額を画面に表示する』


 販売金額(x)が1円から500円までの間->for x = 1:500


 販売金額(x)の8%の消費税額(y)を計算し->y = floor(8x/108);


 もし消費税額(y)が30円なら->if y == 30


 販売金額(x)を画面に表示する->println(x) end end


 以下解説。


 消費税額は切り捨てだから、floorで小数点以下を切り捨てる。

 消費税(8%)の計算式は、8をかけて108で割る(国税庁による)。

 endは句点に相当する。ifが終わりましたよ。forが終わりましたよ。って合図。

 セミコロンは読点みたいなもん。


 続けるとこうなる。


 julia> for x=1:500 (y=floor(8x/108));if y==30 println(x) end end


 結果が、

 405

 406

 ・

 ・

 ・

 417

 418

 とでればOK。簡単でしょ?


 つまり、『消費税(8%)が30円のときの販売金額を求めよ』。これの答えは405円以上418円以下ってわけ。


 プログラミング的思考が身につけば、


『例えば、130円の缶コーヒーの消費税は、約30円(8%)です。というのは自販機だと130円にしないといけないからです』


 なんていうような、恥ずかすぃいいいい間違いは犯さずに済む。


 ちなみにfloor(30.~以下浮動小数点)は、30以上31未満と言い換えることができるので、


 julia> for x=1:500 (y=8x/108);if 30<=y<31 println(x) end end


 こうも書ける。こっちならスクラッチへの移植が容易かな?

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ