みならいノート

情報Ⅰ 2027年度版

関数

みならいノートで覚える(無料)

このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。

0. どういうまとまりか

関数は、ひとまとまりの処理に名前をつけ、何度でも呼び出せるようにしたものです。
値を受け取り(引数)、処理して、結果を返します(戻り値)。

もの 何か Python での例
組み込み関数 最初から用意されている関数 print・len・int・max
ユーザー定義関数 自分で定義した関数 def area(w, h):
引数 呼び出すときに関数へ渡す値 area(3, 4) の 3 と 4
戻り値 関数が呼び出し元へ返す値 return w * h

分かれ目は次の 3 つ。

1. 関数の定義と呼び出し

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

Python では def 関数名(引数): で関数を定義し、中身を字下げして書きます。
呼び出すときは 関数名(値) と書き、戻り値はそのまま式の中で使えます。

プログラムにおける関数とは何か?

ひとまとまりの処理に名前をつけ、引数を受け取って処理し、結果を戻り値として返せるようにしたもの

一度定義すれば、名前で何度でも呼び出せる。

関数を呼び出すときに渡す値と、関数が返す値を、それぞれ何というか?

引数(渡す値)と戻り値(返す値)

Python では、戻り値は return の後ろに書く。

Python で関数を定義するときに使う語は?

def

def 名前(引数): の後に、字下げして中身を書く。

関数の中で return が実行されると、どうなるか?

その場で関数の実行を終え、return の後ろの値を呼び出し元へ返す

return より後ろに書いた処理は、そのときは実行されない。

2. 組み込み関数とユーザー定義関数

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

print や len のように最初から使える関数と、自分で def で作る関数があります。
さらに、他の人が作った関数をまとめたもの(ライブラリ・モジュール)を読み込んで使うこともできます。

プログラミング言語に最初から用意されている関数を何というか?

組み込み関数

Python の print(表示)・len(要素の個数)・int(整数に変換)など。自分で作るものはユーザー定義関数。

Python の組み込み関数 len は、配列(リスト)に対して何を返すか?

要素の個数

len([4, 8, 15]) は 3。最後の要素の添字は、これより 1 小さい。

処理を関数にまとめると、プログラムにどんな利点があるか?

同じ処理を何度でも再利用でき、プログラムの構造の見通しがよくなる

直すときも関数の中を 1 か所直せば済み、誤りを見つけやすい。

3. 局所変数と大域変数

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

関数の中で作った変数は、関数の外からは見えません。関数ごとに変数が分かれているので、
関数の中で同じ名前を使っても、外の変数を壊しません。

関数の中で代入した変数で、その関数の中だけで使えるものを何というか?

局所変数(ローカル変数)

関数の実行が終わると消える。関数の外で代入した変数は大域変数(グローバル変数)。

関数の外で定義され、プログラム全体から参照できる変数を何というか?

大域変数(グローバル変数)

どこからでも書き換えられると誤りの原因を追いにくいので、値は引数と戻り値で受け渡すのが基本。

4. 外部のプログラムとの連携

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

プログラムは、自分のコンピュータの中の関数だけでなく、ネットワークの向こうのサービスの機能も呼び出せます。
呼び出し方の取り決めが API で、天気・地図・翻訳などのサービスが公開しています。

API とは何か?

あるソフトウェアの機能を、別のプログラムから呼び出して使うための取り決め(窓口)

Application Programming Interface の略。呼び出し方と、受け取る値の形が決まっている。

WebAPI とは何か?

Web のサービスの機能やデータを、ネットワーク(HTTP)を通してプログラムから呼び出せるようにした API

URL に条件をつけて要求を送ると、JSON などの形式で結果が返ってくる。天気予報・地図・郵便番号の検索など。

練習問題

問 1 次のプログラムを実行すると、何と表示されるか。

def f(x):
    return x * 2 + 1

print(f(f(3)))

15

内側から計算する。f(3) は 3 の 2 倍に 1 を足して 7。次に f(7) は 7 の 2 倍に 1 を足して 15。

問 2 次のプログラムを実行すると、何と表示されるか。

n = 10

def g(n):
    n = n + 5
    return n

m = g(n)
print(n, m)

10 15

関数 g の中の n は、引数として受け取った局所変数で、外の n とは別物。
中で 15 にしても外の n は 10 のまま。戻り値の 15 が m に入る。

問 3 次のプログラムを実行すると、何と表示されるか。

def count_over(data, border):
    c = 0
    for d in data:
        if d >= border:
            c = c + 1
    return c

print(count_over([3, 8, 5, 10, 7], 7))

3

border は 7。7 以上の要素は 8, 10, 7 の 3 つ(>= なので 7 自身も数える)。

このノートの 11 問を、暗記カードで復習できます

みならいノートで覚える(無料)

答えを隠して出題し、忘れそうなころにもう一度出します。

前 分岐と繰り返し
探索のアルゴリズム 次

このノートは無償で公開しています。当方は内容の正確性・完全性・最新性を保証しません。学習にあたっては、法令の原文・公式の出題範囲その他の一次資料を必ずご確認ください。試験への合格その他の効果を保証するものでもありません。

本文の転載・再配布はお断りしています(利用規約)。手元に置いて使いたい方は、ストアから Markdown ファイルとして入手できます。