情報リテラシー応用(8)
成績表の設計と検索関数
モノづくりには、工程があることを解説しました。段階を経ていく必要があり、突然はできません。
ここでは、機能分割をして、成績表を作って行きます。大きなシステムは、要素ごとに分割をして作って行かねば出来ません。
前述のように、成績表に必要な機能は、大まかには、検索処理と統計処理があり、さらに処理結果を視覚化する必要があります。
この3つの機能ごとに作業をしながら、成績表を作成して行きましょう。
まずは、検索処理です。
そもそも検索とは、どういう処理でしょうか。簡単に言えば、データを探す処理のことを言います。
お馴染みのGoogleなどは、検索サービスと呼ばれています。そこでは、欲しい情報を持ったWebを探してくれます。
そのためには、検索のキーワードを入力します。その結果として、検索サービスのエンジンが処理をして結果を返してくれることになります。
つまり検索処理は、キーワードの入力に対して、検索結果の出力があるという構造です。
基本的に、情報処理は全て、何らかの入力に対して、処理結果が出力されると考えてください。関数は情報処理を行う「機能」を持ったものですから、それに対する入力が引数であり、出力が戻り値になります。
成績表では、何が入力され、何が出力されるべきでしょうか。
まず、それを考える必要があります。
検索には、キーが必要です。
成績表の場合、重要なポイントですが、キーは、検索結果を「一意的」に示す必要があります。要するにキーによって、必ず唯一のデータが得られねばならないわけです。Googleのような検索サービスでは、複数の検索結果を得ることが出来ますが、成績表は、ただ1人のデータを見つけ出す必要があります。
成績データは、レコード形式のデータでした。
一人分の成績データが、1レコードになっており、30人分が一つの表になっています。ですので、検索結果として手に入れたいのは、その中の1レコードです。その際にキーとなるのは、出席番号です。
日常生活で言えば、個人は名前で区別されますが、名前は曖昧です。
「たかはし」さんには口の高橋さんと、梯子の髙橋さんがいらっしゃいますし、「さいとうさん」には、斉藤さん、斎藤さん、齊藤さん、齋藤さんなどがおられます。屋号でも、例えば牛丼の「よしのや」さんは、当用漢字「士に口」の吉とは違う「土に口」の𠮷野屋さんなのは知られています。
たかはしさんには申し訳ないのですが、高でも髙でも「たかはし」さんであることは変わりません。人間は柔軟に情報処理を行います。しかしコンピュータにとっては、違う文字コードで扱われるので、同じ人にはなりません。
要するに、検索のキーとしては、氏名は使えません。
キーとデータが一意的に対応していることを保証するために、検索されるデータには、「番号」が振られています。
「~番号」というデータがあるものは、全て検索のために使われています。
番号があるものには、多くの例があります。この生徒の出席番号、学籍番号の他、話題のマイナンバーや保険証番号、運転免許番号、列車番号、座席番号、取引番号、予約番号、文書番号等々、数限りなくありますが、これらの全ては、番号をキーとして検索されるようになっています。
書籍に振られている、13桁のISBN(International Standard Book Number)「国際標準図書番号」は、学生の皆さんは覚えておく必要があるでしょう。図書館や本屋さんで検索する場合には、これを使えば誤りは無くなります。
この成績データでは、生徒の出席番号が、検索のためのキーになります。
キーが入力されると、成績データを検索し、その結果が成績表に出力される、このように成績表を作ってください。
使うのは検索関数です。
自分で作成した成績表のデザインに基づいて、必要な関数を用いて検索する機能を実現するのが、ここでやってもらいたいことです。
以下について考えてみてください。
関数名: どの関数を使いますか?
入力: 何が入力されますか?
その他引数: その他引数として必要なものは?
出力: この関数の処理結果として、何が出力されますか?
しばらく試行錯誤の時間を差し上げます。
※この記事のトップ画像は、クロノツカヤさんの「海辺の駅の日暮れ」です。いつも関連するような画像を使わせていただいているのですが、たまたまトップに出てきた画像に心惹かれて使わせていただきました。感謝申し上げます。