基本情報技術者試験 (FE) 科目 B — 練習問題 第 10 問 / 全 20 問 · 基礎
return と処理の中断
関連レッスン: 関数と手続き — ○ から始まる定義の読み方
次の擬似言語プログラムを実行したとき、出力される内容はどれか。
○整数型: 符号(整数型: n)
if (n > 0)
return 1
endif
if (n < 0)
return -1
endif
return 0
print(符号(5))
print(符号(-3))
print(符号(0))解説
正解: ア 1 -1 0
return は「値を返して、その場で関数を抜ける」命令です。符号(5) では最初の if が真になり return 1 に到達した時点で関数が終わるので、その後の if や return 0 は実行されません。
符号(-3) では最初の if が偽なので次の if へ進み、n < 0 が真になって -1 を返します。符号(0) はどちらの if も偽なので、最後まで進んで return 0 に到達します。したがって出力は上から 1、-1、0 です。
この「早期に return して抜ける」書き方は、else を積み重ねるより読みやすくなるためよく使われます。試験でトレースするときは、return を見つけたらそこで関数の実行を打ち切り、呼び出し元の続きへ戻ることを意識してください。
return の後ろにコードが続いていても、到達した時点で関数は終わる。最後の return 0 が常に返ると考えると全部 0 になる。
演習量を増やしたい方へ(おすすめ書籍)
擬似言語の記法の読み方から、トレースして答えを出すまでを一冊で通せる科目B特化本。手を動かして追う練習量を確保したいときの定番。
科目Bの出題パターンを網羅的に演習できる対策書。構文を理解した後、解法の型を身につける段階で効く。
科目Bの出題範囲を絞り込んだ薄型の対策書。頻出アルゴリズムと情報セキュリティを短期間で一周したいときに。
本セクションはAmazonアソシエイトのリンクを含みます。
プログラムの読み方でつまずいたら。
たいてっくが、アルゴリズムの追い方から SQL・データベース設計まで、1対1で学習をサポートします。「コードを目で追っても何をしているか分からない」段階からで大丈夫です。まずは無料相談から。
「教え方も上手で、お人柄も良いメンターです。DB周りの知識はもちろん、何より、しっかり教えてあげようという姿勢がとてもありがたかったです。データベース、SQLの学習を考えている方にはおススメです。」
— H 様(DB・SQL コース受講)「体系的に知識を教えてくださり、実際の業務でも大変役立っております。特に短い時間で効率よく知識の習得や、練習をできているのは期待以上でした。」
— M 様(DB・SQL コース受講)「大変充実したコンテンツでわかりやすいご説明をありがとうございました。基本的な質問にも丁寧にご説明いただき、また業務のご相談にも乗って頂き大変有意義な時間でした。」
— K 様(DB・SQL コース受講)