副プログラム(関数)による4の倍数の個数の計算【基本情報技術者試験 科目B 公開問題】

令和7年度 基本情報技術者試験 サンプル問題 科目B 問1のブログのアイキャッチ画像 科目B 公開問題
広告

← 科目Bの公開問題一覧へ戻る

 基本情報技術者試験の科目Bの公開問題を題材に,副プログラム(関数)の使い方について学習します。この問題では,引数を受け取って処理を行い,戻り値を返す関数の仕組みと,4の倍数の個数を求める処理を確認します。

広告

令和7年度 基本情報技術者試験 公開問題 科目B 問1

 次のプログラム中の   a    b   に入れる正しい答えの組合せを,解答群の中から選べ。

 関数 function1 が受け取る引数と,関数 function2 が受け取る引数とが同じとき,二つの関数は同じ値を返す。ここで,引数nと引数mは正の整数であり,引数mは引数nよりも10以上大きい数とする。

〔プログラム〕

○整数型: function1(整数型: n,整数型: m)

 整数型: count ← 0

 整数型: i

 for (iをnからmまで1ずつ増やす)

  if ((i mod 4)が0と等しい)

   count ← count + 1

  endif

 endfor

 return count

○整数型: function2(整数型: n,整数型: m)

 整数型: count ← 0

 整数型: tempN ← n

 整数型: i,j

 for (   a   )

  if ((tempN mod 4)が0と等しい)

   繰返し処理を終了する

  endif

  tempN ← tempN + 1

 endfor

 for (   b   )

  count ← count + 1

 endfor

 return count

解答群

a

b

iを1から2まで1ずつ増やすjをnから始めてmを超えない範囲でtempNずつ増やす
iを1から2まで1ずつ増やすjをtempNからmまで1ずつ増やす
iを1から2まで1ずつ増やすjをtempNから始めてmを超えない範囲で4ずつ増やす
iを1から3まで1ずつ増やすjをnから始めてmを超えない範囲でtempNずつ増やす
iを1から3まで1ずつ増やすjをtempNからmまで1ずつ増やす
iを1から3まで1ずつ増やすjをtempNから始めてmを超えない範囲で4ずつ増やす

【解答】

【解説】

function1 と function2 は,どちらも引数 n と m を受け取り,nからmまでの範囲にある4の倍数の個数を戻り値として返す副プログラム(関数)である。ただし,2つの副プログラム(関数)では,その求め方が異なる。function1 は,nからmまでの整数を1ずつ調べ,4の倍数を見つけるたびに count を1増やして個数を数える。一方,function2 は,まずn以上の最初の4の倍数をtempNに求め,その後は4の倍数が4ずつ続くことを利用して,4の倍数だけを順番に調べて個数を数える。このように,function1 と function2 は処理方法が異なるが,同じ引数を与えたときに同じ値を戻り値として返す副プログラム(関数)になっていることがポイントである。

function2 では,最初の4の倍数を探すために,tempN が4の倍数になるまで1ずつ増やす。nを4で割った余りは 0,1,2,3 のいずれかなので,tempN を最大3回増やせば,n以上の最初の4の倍数を見つけることができる。したがって,aは「iを1から3まで1ずつ増やす」となる。

最初の4の倍数を tempN に求めた後は,4の倍数が4ずつ続くことを利用する。そのため,tempN から始めて4ずつ増やしながら,mを超えない範囲で count を1ずつ増やせばよい。したがって,bは「jをtempNから始めてmを超えない範囲で4ずつ増やす」となる。

【参考】

「令和7年度 基本情報技術者試験 公開問題 科目B 問1」の解答_画像

この問題のポイント

 この問題から学べることは,

  • 副プログラム(関数)の役割と使い方
  • 関数の引数と戻り値
  • 剰余演算(mod)を使って4の倍数を判定する方法
  • 繰返し処理を使って条件に合う値の個数を数える方法
  • 同じ結果を異なる処理方法で求める方法

です。特に,副プログラム(関数)は,引数として受け取った値を使って処理を行い,その結果を戻り値として返すことを理解しておきましょう。また,function1 と function2 は処理方法が異なりますが,どちらも nからmまでの範囲にある4の倍数の個数を求める関数であることを確認しておきましょう。

基本情報技術者試験の学習におすすめの参考書

基本情報技術者試験の合格を目指す方におすすめの参考書です。

令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
基礎理論からコンピュータ・ネットワーク・データベースまで、基本情報技術者試験の全範囲をわかりやすく学べる定番テキストです。図解が豊富で、初学者にもおすすめです。

キタミ式イラストIT塾 基本情報技術者 令和08年
イラストを使った解説が特徴の人気参考書です。基礎理論の考え方や計算問題もイメージで理解しやすく、独学学習との相性が良い一冊です。

令和08年 基本情報技術者 合格教本
試験範囲を体系的に学習したい方におすすめの教科書です。基礎理論の各テーマも丁寧に解説されており、理解を深めながら学習を進められます。

学習のお役に立ちましたら

この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。

よろしければ、このサイトを応援いただけますと嬉しいです。

※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

広告