情報処理技術者試験 過去問題集

情報処理技術者試験 午後 過去問題

過去問題メニュー 情報処理技術者試験の午後を突破するための試験対策サイト
メニュー一覧
ITパスポート試験 情報処理技術者試験の入門試験。情報処理技術者試験の中では最も簡単な試験だが、回を重ねるごとに難易度も少しずつ高くなっており、油断は禁物。
基本情報技術者試験 IT技術者になるための登竜門。情報処理の基礎知識とプログラム設計書に基づくプログラミングを行える能力を評価する。
応用情報技術者試験 プログラム設計ができ、基本情報技術者の指導及び、より高度なプログラミングを行える能力を評価する。
ネットワーク
スペシャリスト
主にネットワークの計画・設計・運用までを担当し、ネットワークスペシャリストとしての能力を評価する。
データベース
スペシャリスト
主にデータベースの計画・設計・運用までを担当し、データベーススペシャリストとしての能力を評価する。
情報セキュリティ
スペシャリスト
主にセキュリティの計画・設計・運用までを担当し、セキュアプログラミングも行える能力を評価する。
今月のおすすめ参考書
ネットワークスペシャリスト 参考書
セキュリティスペシャリスト 参考書

【新着情報 2010年-2011年】
1月26日 基本情報技術者試験
過去問題集 追加
5月23日 ネットワークスペシャリスト
おすすめ参考書
4月17日 応用情報技術者試験
平成20年春期過去問 追加
4月11日 過去問追加
4月1日 過去問追加
3月23日 過去問追加
3月20日 サイト開設
12月14日 トップページ更新

  問題例:平成14年春期 基本情報技術者試験 午後 問6
  次のC プログラムの説明及びプログラムを読んで,設問に答えよ。
1 #include <stdio.h> 〔プログラムの説明〕

(1) 自然数num(num≧2)を素因数に分解し,結果を次
の例のように印字するプログラムである。

例 1.自然数12 を入力した場合
数値(2 以上の自然数)を入力してください。:12
12 = 2 × 2 × 3

例 2.自然数3 を入力した場合
数値(2 以上の自然数)を入力してください。: 3
3 = 素数

(2) 素因数分解及び素数の判定手順は,次のとおりである。
@ 変数factor の値を2 から始めて1 ずつ増やしな
がら, num を factor で割った結果がfactor 以
上である間,Aを実行する。
A num が factorで割り切れる場合,次の処理をnum
が factor で割り切れなくなるまで繰り返す。
(a) factor の値を素因数として抽出する。
(b) num を factor で割った商を新たなnum とする。
B 最終的に割り切るfactor がなかった場合には,
num は素数であると判定する。

(3) このプログラムでは,(2) の手順@ での繰返し処理の
回数を減らすために,まず最初に自然数num が 2 の倍
数であるかどうかを判定する。num が 2 の倍数の場合
には,(2)の手順A によって,最初に2 の因子をすべて
抽出する。続いて,変数factor の値を,3 から始めて
2 ずつ増やしながら, num を factor で割った結果が
factor 以上である間,素因数の抽出を繰り返す。
2 #define TRUE 1
3 #define FALSE 0
4 main()
5 {
6 int num, prime = TRUE, factor = 2;
7 printf( "数値(2 以上の自然数)を入力してください。: " );
8 scanf( "%d", &num );
9 printf( "%d =", num );
10 if ( num != factor )
11 while ( num % factor == 0 ) { /*数値が2 の倍数? */
12 if ( prime == FALSE ) printf( " ×" );
13 printf( " %d", factor );
14 【 a 】 ;
15 prime = FALSE;
16 }
17 factor++;
18 while (【 b 】) {
19 while ( num % factor == 0 ) {
20 if ( prime == FALSE ) printf( " ×" );
21 printf( " %d", factor );
22 【 a 】 ;
23 prime = FALSE;
24 }
25 【 c 】 ;
26 }
27 if ( prime == TRUE ) printf( " 素数\n" );
28 else if ( num > 1 ) printf( " × %d\n", 【 d 】 );
29 else printf( "\n" );
30 }
  設問 プログラム中の【 】に入れる正しい答えを,
解答群の中から選べ。


a,c に関する解答群
ア factor--
イ factor += 2
ウ num /= factor
エ num %= factor
オ prime = FALSE
カ prime = TRUE

b に関する解答群
ア num / factor >= factor
イ num % factor != 0
ウ prime == FALSE
エ prime == TRUE

d に関する解答群
ア factor
イ num / factor
ウ num % factor
エ num
オ prime

  相互リンク