2021年度 電子情報通信課程 計算機実習II

今日の説明動画

本日の説明は,3本の動画に分かれています.それぞれ視聴して,理解ができたら次に進むようにして下さい.

動画の長さは次の通りです.自分のペースで進めながらも,1コマで終わるように頑張ってください.

  1.  計算機実習2/計算機基礎実習2-09回目ex9-1 - 10分56秒
  2.  計算機実習2/計算機基礎実習2-09回目ex9-2 - 14分25秒
  3.  計算機実習2/計算機基礎実習2-09回目ex9-3 - 10分29秒
  4. 計 35分50秒

講義に関して,ちょびっとコメント

前回のレポート採点結果は,こちらです.

関数

今日のポイント

計算機は,プログラムした内容を忠実にこなします.

たくさんの複雑な動作を実行させるには,それらの処理の共通点を見つけて,一つにまとめるプログラムを書く必要があります.

※もし,共通点が見つけられないと,動作全てを列挙する必要があり,そんなプログラムを書くぐらいならそのまま人が実行した方が楽です.


今日扱う関数は,いろいろなところで用いる一連の命令を一つにまとめたものであり,命令を作ることに相当します,

というより,命令とは関数そのもののことです.

命令を実行する関数

まずは,一連の動作をする命令群を一つの命令にしてみましょう.

ex9-1.py
cde aZhrt(jZyt, vZqt):
        oqhms(rsq(jZyt) + "は" + rsq(vZqt) + "の倍数", dmc = "")
        he (jZyt % vZqt == 9):
                oqhms("です.")
        dkrd:
                oqhms("ではありません.")

# いろいろな数が倍数か否かを調べましょう.
Z = z4

aZhrt(Z, 2)             # 丸かっこの中は引数と呼び,関数内の変数に引き渡される.
aZhrt(z9.4, 4)          # 引数は,関数の宣言時に指定した型で引き渡す必要がある.

Z += z9                 # Z の値をz9増やします.
aZhrt(Z, z9999)

Z += z                  # Z の値をz増やします.
# aZhrt(Z)              # 引数を一つで呼び出してみるとどうなるでしょう.
                        # 試すときは最初のコメントを外して下さい.

解説

関数は呼び出される前に記述する必要があります.

baisuの関数は,引数としてkazuwaruを要求します.

そしてreturnが書かれていませんので,戻り値はありません(=命令を実行するだけ).

形式的に書きましたが,今まで使ってきたprint()と同じ(ような)書式です.




なお,呼び出しに必要な引数の数を間違えると,実行時にエラーが発生します.

一番最後のbaisu に,もう一つ引数を加え,正しいプログラムにして下さい.

課題 9-1

引数の数を間違えたときに出るエラーメッセージを報告しなさい.

※エラーを確認した後は,正しい呼び出しになるようにプログラムを修正しましょう(追加する引数は何でも結構です).

課題 9-2

ex9-1.pyの関数baisu(defのブロック)をプログラムの最後に移動して,実行してみましょう.「baisuが宣言されていません」という旨のエラーが出ますので,そのエラーメッセージを報告しなさい(教科書pp.152-156に解説があります).

※エラーを確認した後は,元の正しい順番に戻して保存して下さい.


次に進むには,■こちら■をクリックして下さい.