プログラムを勉強しようとしてつまづいた話 〜その4〜

道具箱には何が入っているか


コンピュータを理解する - 指示されたことしかできないが確実に行う

料理の作り方の例で、人間とコンピュータが違う点はずばり全部説明されたものしかしないことにある

・卵を溶いて、熱したフライパンに入れる

この項目をとってみても、「卵」「フライパン」がどこにあるのか、最初に指定しなければいけない コンピュータ・プログラムでは最初に

#料理セットを準備する

#材料: 卵 2個、ラード 大さじ2、ネギ少々 ・・・

このような但し書きを書かなければ、コンピュータは「卵」はどこですか、「フライパン」がありませんと何度でも訴えてくる そして、「料理セット」のなかに使う道具が入っていて、材料が揃っていることをよく確認しよう

前述のプログラムの中では

import random が random 関数を使うための道具箱で import math が math.sqrt 関数を使うためのものです


コンピュータは片付けない

運動会の玉入れのプログラムを人間風に考えてみましょう

  1. 紅組、白組の選手を入場させる
  2. 玉入れのかごを準備する
  3. 選手に玉を配る
  4. 試合を開始する
  5. 一定の時間が経過したら終了を合図する
  6. かごにはいった玉を数える
  7. 多い方を勝者とする、同点なら2に戻る
  8. 選手を退場させる

人間なら、7で2に戻ったときに、常識のある人ならかごから玉を出しますが、コンピュータは指示されない限り、かごから玉を出しません したがって、このまま続けると前回の結果に加えた数字になってしまい 玉が足りなくなったり、色々と不具合が起きる可能性があります したがって、使う前には前回の結果を片付けることを思い出しましょう

プログラムの最初の方に、a = 0 などのこれから使う入れ物を 0 に設定している項目があります これは、前回プログラムを使用したときに、a の入れ物に何かが残っていたとしても構わず始めてしまいます プログラムが使う入れ物には、中身を指定してから使うようにしましょう

次回は、料理の作り方からプログラムに翻訳する方法について書きます

Comments

Popular posts from this blog