本文へスキップ

入出力と手続・関数

標準約 29 分5 用語過去問 11 題

この単元の目標

  • 入出力 の流れに沿って、外部とプログラム、部品どうしの値の受け渡しをたどれる
  • 手続 と 関数 を、処理の結果を呼出し元へ返すかどうかで見分けられる
  • 擬似言語の宣言行から 引数 と 戻り値 の型を読み取り、呼び出したときに返る値を求められる
用語総表(5 語)
用語ひとことで区分見分ける手がかり
入出力外部からデータを受け取る入力と、結果を外部へ渡す出力基本の考え方データが外から入るか、外へ出るか
手続処理の手順をまとめて名前を付け、値を返さずに戻る部品部品 (副プログラム)宣言行の名前の前に型がない
関数処理をまとめ、結果の値を呼出し元へ返す部品部品 (副プログラム)宣言行の名前の前に返す値の型がある
引数部品を呼び出すときに部品へ渡す値受け渡す値名前の後ろのかっこの中に並ぶ
戻り値関数が処理の結果として呼出し元へ返す値受け渡す値return の後ろに書かれる

用語

入出力 は、プログラムが外部からデータを受け取る 入力 と、処理した結果を外部へ渡す 出力 を合わせた呼び方である。

  1. 入力: 2 つの数を読み込む
  2. 処理: 平均を計算する
  3. 出力: 平均を画面に表示する

計算した平均を画面へ送り出す。これが出力。

3 / 3

例えばキーボードやファイルからの読み込みが入力、画面への表示やファイルへの書き込みが出力にあたる。プログラムは「入力 → 処理 → 出力」の順に動くと捉えると、どこでどのデータが出入りするかを追いやすい。処理をいくつかの部品に分けたときも、部品ごとに同じ形で入るものと出るものを考えられる。

たとえ注文票を受け取り、厨房で調理し、できた料理を客席へ運ぶ飲食店の流れと同じ形である。

覚え方英語の略は I/O。Input の I と Output の O を斜線で並べ、入る向きと出る向きを 1 語にまとめている。

出題のポイント

  • 出題処理の部品を直列につなぐと、前の部品の出力がそのまま次の部品の入力になる。値は前の部品から順に求めていく。

この用語の過去問 1 題 入出力

手続 は、ひとまとまりの処理の手順に名前を付けたもので、呼び出すと中の処理を実行し、結果の値を返さずに呼出し元へ戻る。

  1. 呼出し元で手続の名前を書く
  2. 手続の中の処理を順に実行する
  3. 呼出し元の次の処理へ戻る

手続の終わりまで来ると、値を持ち帰らずに呼び出した位置の次へ戻る。

3 / 3

手続という語は、部品に限らず、順に並べた処理の手順そのものを指すこともある。擬似言語では、名前の後ろのかっこの中に受け取る値の型と名前を書いて宣言し、名前の前には型を書かない。同じ処理を何度も使う場面では、名前を書くだけで呼び出せる。

たとえ「戸締まりをお願い」と頼まれた人が、窓と鍵を順に確かめて戻ってくるだけで、何かを手渡しはしないのに似ている。

覚え方英語の procedure は「前へ進む」を意味する語から来ており、処理を一歩ずつ順に進めるものと覚えられる。

出題のポイント

  • 出題アルゴリズム は、求める結果を得るために、どの処理をどの順に行うかを決めた手順を指す言葉である。
  • 出題2 つの変数の値を交換する手続では、上書きで消える側の値を作業用の変数へ先に退避し、最後にその値を相手側へ戻す。
  • 出題変換の結果から元の値を求めるときは、足す・引くのように元に戻せる操作を逆の操作に置き換え、後ろの手順から順にたどる。割った余りを取る手順は一通りに戻らないので、元の値が取りうる範囲に入る値を選ぶ。

この用語の過去問 2 題 手続

関数 は、処理をまとめて名前を付けた部品のうち、処理の結果を値として呼出し元へ返すものである。

  1. 呼出し元が値を渡して関数を呼ぶ
  2. 関数の中で受け取った値を使って処理する
  3. 結果の値を持って呼出し元へ戻る
  4. 呼出し元が返った値を代入や計算に使う

呼出し元は、返ってきた値を変数に入れたり次の計算に使ったりする。

4 / 4

関数は呼び出されるときに値を受け取り、中の処理で使って、結果を呼出し元へ返す。擬似言語では「○整数型: 関数名(整数型: 名前)」のように、名前の前に返す値の型を、後ろのかっこの中に受け取る値の型と名前を書いて宣言する。関数の中では、return の後ろに書いた値を返して処理を終える。

たとえ電卓の平方根キーのように、数を入れて押すと決まった計算の結果が返ってくる。

覚え方もとは「函数」と書き、「函」は箱の意味である。値を入れると結果が出てくる箱と覚えられる。

出題のポイント

  • 出題繰返しの途中で return を実行すると、その時点で関数の処理が終わり、残りの繰返しは実行されない。
  • 混同注意手続 は呼び出しても値を返さないが、関数 は値を返すので、その呼出しを代入の右辺や式の中に書ける。

この用語の過去問 2 題 関数

「手続」と「関数」の違い

観点手続関数
決め手結果の値返さないreturn で呼出し元へ返す
宣言行の形○手続名(受け取る値)○返す値の型: 関数名(受け取る値)
呼出しの書き方1 つの文として呼び出す代入の右辺や式の中に書ける

引数 は、手続や関数を呼び出すときに、処理の材料として部品へ渡す値である。

並び順宣言のかっこ内の名前呼出しで渡す値
1 番目x8
2 番目y4

部品の側から見ると、引数は部品への入力にあたる。宣言のかっこの中に受け取る名前を並べておき、呼出し側はその順に値を書いて渡す。渡す値を変えれば、同じ部品から別の結果を得られる。

たとえコピー機に原稿と部数を指定すると、指定どおりの仕上がりになる。原稿と部数が引数にあたる。

出題のポイント

  • 出題部品は複数の引数を受け取ることができ、それらの値を組み合わせて処理を分けることもできる。
  • 出題引数には 1 つの数値だけでなく配列も渡せる。部品の中では、受け取った配列の各要素を要素番号で参照する。

この用語の過去問 2 題 引数

戻り値 は、関数が処理の結果として呼出し元へ返す値で、部品からの出力にあたる。

宣言で名前の前に書く型返る値の例
整数型42
論理型true または false
文字列型"ABC"

戻り値の型は、関数の宣言行で名前の前に書いた型と一致する。呼出し元は返ってきた値を変数に代入したり、表示や次の計算に使ったりできる。

たとえクリーニング店に預けた服が仕上がって戻ってくる、その返ってきた品物にあたる。

覚え方英語では return value。擬似言語で値を返す命令の return と同じ語なので、return の後ろを見れば何が返るかが分かる。

出題のポイント

  • 出題繰返しを終えてから return する関数では、繰返しの間の変化を最後までたどった値が戻り値になる。
  • 出題戻り値は数値に限らない。真か偽かを表す論理型の値や、文字を並べた文字列型の値を返す関数もある。
  • 混同注意引数 は呼出し元から部品へ入る値で、戻り値 は部品から呼出し元へ返る値である。

この用語の過去問 2 題 戻り値

「引数」と「戻り値」の違い

観点引数戻り値
決め手値の向き呼出し元から部品へ部品から呼出し元へ
書かれる場所宣言と呼出しの名前の後ろのかっこ内関数の中の return の後ろ
入出力での役割部品への入力部品からの出力

要点

  • プログラムは外部からの入力を処理して結果を出力し、部品をつなげば前の部品の出力が次の部品の入力になる。
  • 処理に名前を付けて部品にしておくと、同じ処理を名前を書くだけで何度も使える。
  • 擬似言語の宣言行は、名前の前が返す値の型、名前の後ろのかっこ内が受け取る値の型と名前を表す。
  • 呼出しで書いた値は宣言の順に引数へ入り、関数が返す値は return の後ろに書いた値で決まる。

確認問題

この単元の過去問から 5 題

確認問題を解く

この分野の過去問をすべて見る