基本情報トップに戻る
練習問題難易度: 標準2025年度

基本情報技術者 過去問練習問題 第1問

問題

関数 function1 が受け取る引数と、関数 function2 が受け取る引数とが同じとき、二つの関数は同じ値を返す。ここで、引数 n と引数 m は正の整数であり、引数 m は引数 n よりも 10 以上大きい数とする。次のプログラム(図)中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。

の図表

選択肢

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

正解

6. a: iを1から3まで1ずつ増やす / b: jをtempNから始めてmを超えない範囲で4ずつ増やす

詳しい解説を見る

解説

function1 は n から m の範囲で 4 の倍数の個数を数える。function2 は同じ結果を、まず n 以上で最初の 4 の倍数を求め(前半ループ)、そこから m まで 4 ずつ進めて個数を数える(後半ループ)という二段構えで実現する。前半は tempN を n から増やし 4 の倍数になったら打ち切るが、連続する 4 数 n, n+1, n+2, n+3 のいずれかは必ず 4 の倍数なので、n, n+1, n+2 を調べる 3 回の繰返し(最後の増加で tempN は n+3 に達する)で必ず最初の 4 の倍数に到達する。よって a は「iを1から3まで1ずつ増やす」。後半は最初の 4 の倍数 tempN から m を超えない範囲で 4 ずつ数えればよいので b は「jをtempNから始めてmを超えない範囲で4ずつ増やす」。したがって「カ」が正しい。(出典: 令和7年度 基本情報技術者試験 科目B 問1)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。