ITパスポートではプログラミング問題が出題されます。
プログラミング問題は苦手とする人が多いので、事前の勉強・対策は必須です。
本記事ではITパスポートについて日本で一番詳しい私ケンジが、ITパスポートのプログラミング問題を徹底解説します。捨てるのはありなのか?やわからない場合はどうすればいいのか?などについても解説します。
ITパスポートを受験予定の人はぜひ参考にしてください。
ちなみにですが、ITパスポートにはたった10時間の勉強で合格できる方法があります。
これさえあれば限りなく少ない努力で合格に大きく近づきます。
これは私が何年もITパスポートの勉強を続ける中で生み出した、どの本にも載っていない超コスパの良い究極の勉強法です。
興味ある人はぜひ以下のボタンからその方法をチェックしてください。
ITパスポートではプログラミング問題が出題される
ITパスポートでは以下3つの分野から問題が出題されます。
- ストラテジ系
- マネジメント系
- テクノロジ系
※それぞれの詳細は「ITパスポートの試験範囲は広い!変更・拡大されることもあるので要注意」をご覧ください。
プログラミング問題はテクノロジ系で出題されます。
※「ITパスポートのテクノロジ系とは?攻略法・苦手な人向け勉強方法は?難しい?問題例や用語もご紹介」もぜひ合わせてご覧ください。
問題例は以下の通りです。
【問題例1(過去問)】
プログラムのテスト手法に関して、次の記述中のa、bに入れる字句の適切な組み合わせはどれか。
プログラムの内部構造に着目してテストケースを作成する技法を【a】と呼び、【b】において活用される。
- a=ブラックボックステスト、b=システムテスト
- a=ブラックボックステスト、b=単体テスト
- a=ホワイトボックステスト、b=システムテスト
- a=ホワイトボックステスト、b=単体テスト
【答え】
4
【問題例2(過去問)】
関数sigmaは、正の整数を引数maxで受け取り、1からmaxまでの整数の総和を戻り値とする。プログラム中のaに入れる字句として、適切なものはどれか。
〇整数型:sigma(整数型:max)
整数型:calcX ← 0
整数型:n
for (nを1からmaxまで1ずつ増やす)
a
endfor
return calcX
- calcX ← calcX × n
- calcX ← calcX + 1
- calcX ← calcX + n
- calcX ← n
【解答&解説】
正解は3・・・(答)です。
この問題はforループの中で実行される処理(aの部分)を特定することを求めています。
まず、整数型nはループ変数として使用されます。
forループの中で、nは1からmaxまでの値を順に取ります。この変数は1からmaxまでの各整数を1つずつ参照するためのものです。
整数型maxは関数sigmaの引数として与えられる正の整数です。
問題文の1行目より、関数sigmaは1からmaxまでの整数の総和を計算します。
例えば、max=5の場合、関数は1から5までの総和である15と計算することを意味します。
よって、forループの中では、calcXにnを加算する必要があるため、aの部分には「calcX ← calcX + n」という処理を入れる必要があるとわかります。
以上の処理によって、nが1からmaxまで増加するたびに、calcXにその値が加算され、最終的に1からmaxまでの総和がcalcXに格納されます。
ITパスポートでは上記の問題例のように、
- 用語に関する問題(問題例1)
- プログラミング(ソースコード)に関する問題(問題例2)
の2つが出題されます。特に後者の問題は難しいと感じる人が多いので、必ず事前に対策をしておきましょう。
※「ITパスポート用語集・単語一覧・PDF付き!覚え方やアプリ・本もご紹介!」もぜひ合わせてご覧ください。
🔽 本にも載ってない極秘情報 🔽
ITパスポートのプログラミング問題がわからない場合、捨てるのはあり?
結論から言うと、ITパスポートのプログラミング(ソースコードに関する問題)がわからない場合、捨てるのはありです。
ITパスポートでは全部で100問の問題が出題され、出題割合はストラテジ系が35%、マネジメント系が20%、テクノロジ系が45%です。
※「ITパスポートの試験時間・問題数は120分で100問!長い?途中退出可能?」もぜひ合わせてご覧ください。
ITパスポートの合格基準は以下2つの条件を両方とも満たすことです。
- 試験全体を1,000点満点に換算したとき、600点以上の得点(=総合評価点が600点以上)
- 各分野ごとに1,000点満点に換算したとき、300点以上の得点
※ITパスポートは1問10点(1,000点÷100問より)とは限らないのでご注意ください。詳しくは「ITパスポートの採点方法は非公開!8問は採点されない!」をご覧ください。
プログラミング(ソースコードに関する問題)は2〜3問程度しか出題されないので、その2〜3問を落としたとしても合格できる可能性は十分にあるのでご安心ください。
プログラミング(ソースコード)に苦手意識がある人は上記でご紹介した問題例1のような、プログラミングに関する用語の暗記量を増やしましょう。
以下にITパスポートでよく出題されるプログラミング用語をまとめましたので、ぜひ参考にしてください。
- コンピュータ言語
- 自然言語
- マシン言語(機械語)
- プログラム言語
- マークアップ言語
- クエリ言語
- スタイルシート言語
- HTML
- CSS
- JavaScript
- XML
- ソースコード
- 低水準言語
- 高水準言語
- コンパイラ型言語
- コンパイル
- インタプリタ型言語
- アルゴリズム
- 流れ図(フローチャート)
- 順次処理
- 選択処理
- 繰り返し処理(ループ処理)
- 変数
- 定数
- 宣言
- 代入
- 参照
- 配列
- スタック(Stack)
- キュー(Queue)
🔽 本にも載ってない極秘情報 🔽
ITパスポートで使われるプログラミング言語は?
プログラミング言語にはJavaやPython、Rubyなど様々な種類があります。
これはプログラミング言語によって得意な処理分野が異なるためです。
ITパスポートでは特定のプログラミング言語に依存せずに受験者のプログラミング思考力を評価するため、擬似言語が使用されます。
擬似言語とは架空のプログラミング言語のことです。
擬似言語によって、受験者のプログラミング思考力とアルゴリズム理解力を公平に評価することが可能になります。
ITパスポート:プログラミングの練習問題(過去問)
最後に、ITパスポートのプログラミングの練習問題(過去問)をご用意しました。
丁寧な解答・解説も付けているので、ITパスポートを受験予定の人はぜひ解いてみてください。
※「ITパスポート練習問題100問無料・答え付き!頻出問題をたくさん掲載」もぜひ合わせてご覧ください。
【練習問題1(過去問)】
Java言語で作成したプログラムであり、Webサーバからダウンロードして、Webブラウザ上で実行するものはどれか。
- Javaアプリケーション
- Javaアプレット
- Java仮想マシン
- Javaサーブレット
【解答&解説】
正解は2・・・(答)です。
Webからダウンロードされて実行されることが多いJavaアプレットに対して、主にローカルな環境で実行されるものがJavaアプリケーション、主にサーバ上で実行されるものがJavaサーブレットです。
Java仮想マシンとはJavaの実行環境を提供するミドルウェアのことです。プラットフォーム間の違いはこのJava仮想マシンが吸収するため、ユーザーはプラットフォームの違いを意識せずに開発進めることが可能です。
【練習問題2(過去問)】
HyperTextの特徴を説明したものはどれか。
- いろいろな数式を作成・編集できる機能をもっている。
- いろいろな図形を作成・編集できる機能をもっている。
- 多様なテンプレートが用意されており、それらを利用できるようにしている。
- 文中の任意の場所にリンクを埋め込むことで関連した情報をたどれるようにした仕組みをもっている。
【解答&解説】
正解は4・・・(答)です。
Webページはハイパーテキスト形式のHTMLで記述されています。
Webでは画面上のリンク情報をクリックすることで他のWebページを表示させることが可能です。
このように、任意の場所にリンクを埋め込み、関連した情報をたどれる仕組みがHyperTextです。
【練習問題3(過去問)】
手続calcRowを実行する。注の処理が2回目に実行されるときの出力値はどれか。ここで、配列の要素番号は1から始まる。
〇calcRow
整数型の二次元配列:dataArray ← {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
整数型:rowTotal, i, j
for(iを1からdataArrayの行の要素数まで1ずつ増やす)
rowTotal ← 0
for(jを1からdataArrayの列の要素数まで1ずつ増やす)
rowTotal ← rowTotal + dataArray[i, j]
endfor
rowTotalを出力する /*注*/
endfor
- 1
- 10
- 26
- 42
【解答&解説】
正解は3・・・(答)です。
二次元配列において、内側の「{」と「}」に囲まれた部分は、1行分の内容を表し、要素番号は行番号、列番号に順に「,」で区切って指定します。
例えば、要素番号が1から始まる二次元配列exampleArrayの要素が{{11, 12, 13, 14, 15}, {21, 22, 23, 24, 25}}のとき、2行め5列目の要素の値25はexampleArray[2, 5]でアクセス可能です。
以上を踏まえて問題の解説をしていきます。
まず、問題は3行4列の二次元配列で、for文の中にfor文が入っている二重ループ(繰り返し)の構造になっています。
外側のループはiが1から3まで変化し、内側のループはjが1から4まで変化します。
内側のループでは、列番号であるjを1ずつ増やしながら、rowTotalにdataArray[i, j]の加算が行われます。
行番号として使われるiは外側のループで変化しますが、内側のループが継続される間は不変です。
したがって、内側のループではrowTotalに行単位の合計が算出されます。
そして、内側のループを抜けるごとにrowTotalが出力されるので、この命令が2回目に実行されるときはrowTotalには配列の2行目の合計が入っていることになります。
配列2行目の合計は5+6+7+8=26となります。
🔽 本にも載ってない極秘情報 🔽
今回はITパスポートのプログラミング問題を取り上げました。
ITパスポートのプログラミング問題は、ソースコードに関する問題よりも用語問題に重点をおきましょう。