プログラムを勉強しようとしてつまづいた話 〜その4〜
道具箱には何が入っているか
コンピュータを理解する - 指示されたことしかできないが確実に行う
料理の作り方の例で、人間とコンピュータが違う点はずばり全部説明されたものしかしないことにある
・卵を溶いて、熱したフライパンに入れる
この項目をとってみても、「卵」「フライパン」がどこにあるのか、最初に指定しなければいけない コンピュータ・プログラムでは最初に
#料理セットを準備する
#材料: 卵 2個、ラード 大さじ2、ネギ少々 ・・・
このような但し書きを書かなければ、コンピュータは「卵」はどこですか、「フライパン」がありませんと何度でも訴えてくる そして、「料理セット」のなかに使う道具が入っていて、材料が揃っていることをよく確認しよう
前述のプログラムの中では
import random が random 関数を使うための道具箱で import math が math.sqrt 関数を使うためのものです
コンピュータは片付けない
運動会の玉入れのプログラムを人間風に考えてみましょう
- 紅組、白組の選手を入場させる
- 玉入れのかごを準備する
- 選手に玉を配る
- 試合を開始する
- 一定の時間が経過したら終了を合図する
- かごにはいった玉を数える
- 多い方を勝者とする、同点なら2に戻る
- 選手を退場させる
人間なら、7で2に戻ったときに、常識のある人ならかごから玉を出しますが、コンピュータは指示されない限り、かごから玉を出しません したがって、このまま続けると前回の結果に加えた数字になってしまい 玉が足りなくなったり、色々と不具合が起きる可能性があります したがって、使う前には前回の結果を片付けることを思い出しましょう
プログラムの最初の方に、a = 0 などのこれから使う入れ物を 0 に設定している項目があります これは、前回プログラムを使用したときに、a の入れ物に何かが残っていたとしても構わず始めてしまいます プログラムが使う入れ物には、中身を指定してから使うようにしましょう
次回は、料理の作り方からプログラムに翻訳する方法について書きます
Comments
Post a Comment