読者です 読者をやめる 読者になる 読者になる

文系のためのプログラミング講釈2

 文系のためのプログラミング講釈に書いた練習問題の答えです:

 

010 最大値を入れる変数maxを設定する
020 a と b を比較する
030 a が b より大きければ 060に行く
040 bをmaxに入れる
050 070に行く
060 a をmaxにいれる
070 c と max を比較する
080 max が cより大きければ100に行く
090 cを maxに入れる
100 maxを最大値として表示する
110 終了する

 「aがbより大きい」は「a > b」とします。

 もうほんの少しスマートな手順もありますが、これが最も意味に忠実で素朴な手順です。かつ、必ず停止します。

   たとえば、3, 1 ,2の3つの数の場合、人間なら一瞬で最大値は3と分かります。あまりに早く分かることもあって、自分がどのようしてわかったのかを分かる人は意外に少ないのです。何もせずに分かってしまった、と大方の人は思うでしょう。実は、上記の11段階の手順を行っているのです。

  上の手順は多少ですが、如何にもプログラミングというテクニックが入っているので、初めての人にはこうは書けないと思います。要諦は:

 aとbを比べ、大きい方を覚えておく

 上で覚えた数とcを比べ、大きい方を最大とする

これができていれば良いのです。