入出力と手続・関数
標準約 29 分5 用語過去問 11 題
この単元の目標
- 入出力 の流れに沿って、外部とプログラム、部品どうしの値の受け渡しをたどれる
- 手続 と 関数 を、処理の結果を呼出し元へ返すかどうかで見分けられる
- 擬似言語の宣言行から 引数 と 戻り値 の型を読み取り、呼び出したときに返る値を求められる
用語総表(5 語)
用語
入出力 は、プログラムが外部からデータを受け取る 入力 と、処理した結果を外部へ渡す 出力 を合わせた呼び方である。
例えばキーボードやファイルからの読み込みが入力、画面への表示やファイルへの書き込みが出力にあたる。プログラムは「入力 → 処理 → 出力」の順に動くと捉えると、どこでどのデータが出入りするかを追いやすい。処理をいくつかの部品に分けたときも、部品ごとに同じ形で入るものと出るものを考えられる。
たとえ注文票を受け取り、厨房で調理し、できた料理を客席へ運ぶ飲食店の流れと同じ形である。
覚え方英語の略は I/O。Input の I と Output の O を斜線で並べ、入る向きと出る向きを 1 語にまとめている。
出題のポイント
- 出題処理の部品を直列につなぐと、前の部品の出力がそのまま次の部品の入力になる。値は前の部品から順に求めていく。
この用語の過去問 1 題 入出力 →
手続 は、ひとまとまりの処理の手順に名前を付けたもので、呼び出すと中の処理を実行し、結果の値を返さずに呼出し元へ戻る。
手続という語は、部品に限らず、順に並べた処理の手順そのものを指すこともある。擬似言語では、名前の後ろのかっこの中に受け取る値の型と名前を書いて宣言し、名前の前には型を書かない。同じ処理を何度も使う場面では、名前を書くだけで呼び出せる。
たとえ「戸締まりをお願い」と頼まれた人が、窓と鍵を順に確かめて戻ってくるだけで、何かを手渡しはしないのに似ている。
覚え方英語の procedure は「前へ進む」を意味する語から来ており、処理を一歩ずつ順に進めるものと覚えられる。
出題のポイント
- 出題アルゴリズム は、求める結果を得るために、どの処理をどの順に行うかを決めた手順を指す言葉である。
- 出題2 つの変数の値を交換する手続では、上書きで消える側の値を作業用の変数へ先に退避し、最後にその値を相手側へ戻す。
- 出題変換の結果から元の値を求めるときは、足す・引くのように元に戻せる操作を逆の操作に置き換え、後ろの手順から順にたどる。割った余りを取る手順は一通りに戻らないので、元の値が取りうる範囲に入る値を選ぶ。
この用語の過去問 2 題 手続 →
関数 は、処理をまとめて名前を付けた部品のうち、処理の結果を値として呼出し元へ返すものである。
関数は呼び出されるときに値を受け取り、中の処理で使って、結果を呼出し元へ返す。擬似言語では「○整数型: 関数名(整数型: 名前)」のように、名前の前に返す値の型を、後ろのかっこの中に受け取る値の型と名前を書いて宣言する。関数の中では、return の後ろに書いた値を返して処理を終える。
たとえ電卓の平方根キーのように、数を入れて押すと決まった計算の結果が返ってくる。
覚え方もとは「函数」と書き、「函」は箱の意味である。値を入れると結果が出てくる箱と覚えられる。
出題のポイント
- 出題繰返しの途中で return を実行すると、その時点で関数の処理が終わり、残りの繰返しは実行されない。
- 混同注意手続 は呼び出しても値を返さないが、関数 は値を返すので、その呼出しを代入の右辺や式の中に書ける。
この用語の過去問 2 題 関数 →
引数 は、手続や関数を呼び出すときに、処理の材料として部品へ渡す値である。
部品の側から見ると、引数は部品への入力にあたる。宣言のかっこの中に受け取る名前を並べておき、呼出し側はその順に値を書いて渡す。渡す値を変えれば、同じ部品から別の結果を得られる。
たとえコピー機に原稿と部数を指定すると、指定どおりの仕上がりになる。原稿と部数が引数にあたる。
出題のポイント
- 出題部品は複数の引数を受け取ることができ、それらの値を組み合わせて処理を分けることもできる。
- 出題引数には 1 つの数値だけでなく配列も渡せる。部品の中では、受け取った配列の各要素を要素番号で参照する。
この用語の過去問 2 題 引数 →
戻り値 は、関数が処理の結果として呼出し元へ返す値で、部品からの出力にあたる。
戻り値の型は、関数の宣言行で名前の前に書いた型と一致する。呼出し元は返ってきた値を変数に代入したり、表示や次の計算に使ったりできる。
たとえクリーニング店に預けた服が仕上がって戻ってくる、その返ってきた品物にあたる。
覚え方英語では return value。擬似言語で値を返す命令の return と同じ語なので、return の後ろを見れば何が返るかが分かる。
出題のポイント
- 出題繰返しを終えてから return する関数では、繰返しの間の変化を最後までたどった値が戻り値になる。
- 出題戻り値は数値に限らない。真か偽かを表す論理型の値や、文字を並べた文字列型の値を返す関数もある。
- 混同注意引数 は呼出し元から部品へ入る値で、戻り値 は部品から呼出し元へ返る値である。
この用語の過去問 2 題 戻り値 →
要点
- プログラムは外部からの入力を処理して結果を出力し、部品をつなげば前の部品の出力が次の部品の入力になる。
- 処理に名前を付けて部品にしておくと、同じ処理を名前を書くだけで何度も使える。
- 擬似言語の宣言行は、名前の前が返す値の型、名前の後ろのかっこ内が受け取る値の型と名前を表す。
- 呼出しで書いた値は宣言の順に引数へ入り、関数が返す値は return の後ろに書いた値で決まる。
この分野の過去問をすべて見る →