✏️

Iパスのプログラミング分野を勉強してみた!(後編)

に公開

1. はじめに

~前回のあらすじ~
ITパスポート取得をめざす新人エンジニア・ゆう。
その前に立ちはだかったのはアルゴリズムとプログラム言語という高い壁だった!
プログラム言語の特徴をまとめた彼女が、次に挑むのは「アルゴリズム」!
というわけで、今回は実践問題の解き方・対策編になります。
前回に引き続き、後編も頑張っていきましょう!

2. 思考問題について

ITパスポートでは、特定の言語の知識ではなく、擬似言語や処理手順への理解が求められるようです。
過去問題は以下のサイトで紹介されているので学習者同志の皆様は演習をおすすめします。
また、具体的な過去問はここでは取り上げません。こうしたサイトで演習を行いながら、演習の手助けとして本記事をお読みいただければ幸いです。
(分野の選択ができるので苦手分野の対策にもおすすめです!)
https://www.itpassportsiken.com/ipkakomon.php

3. 初学者の私にとって擬似言語が複雑に見えた理由

そんなアルゴリズム・プログラミング分野の過去問ですが、初学者の私にはなんとなく難しそうで抵抗感がありました。
それはもう「この分野を捨ててもよいか」と聞いてしまうくらいに。(※前編参照)
とはいえ、なんとなく嫌っていても前には進めません!
まずは、なぜこれが難しそうに見えるかを言語化することにしました。

理由➀慣れない言葉があり、難しそうに見える
→用語を簡単に捉えなおしてしまおう!
理由➁処理のイメージがつかない
→頻出の処理パターンに慣れておく!

以上のように原因と対処がわかってしまえば、あとは行動に移すのみ!
ここからは用語と処理のイメージのつけかたをまとめます!!

4. 用語まとめ

整数型(int):整数を扱う型。例:1,-3,100
→変数という“データを入れる箱”に、『この箱には整数だけを入れます』というラベルが付いている状態。整数専用ボックス。
https://e-words.jp/w/整数型.html

文字列型(string):文字の並びを扱う型。例:"Hello"
→変数という“データを入れる箱”に、『この箱には文字や文章だけを入れます』というラベルが付いている状態。
https://e-words.jp/w/文字列型.html#google_vignette

引数:関数に渡す入力値。整数型・文字列型を箱としたとき、箱に入れる中身そのもの。
戻り値:関数が返す結果。答え。

※関数・引数・戻り値の関係は以下のように例えられる
関数:料理人(レシピに従って調理する人)
引数:料理人に渡す材料(じゃがいも、にんじん、肉など)
戻り値:料理人が作って返してくれる料理(カレーなど)

5. よくある指示パターン

🔹 変数の代入・初期化
変数 ← 式
例:x ← 5
(x に 5 を代入するよ、という指示)

🔹 条件分岐(if文)
if 条件 then
else
end if

if x > 0 then
    y ← x
else
    y ← -x
end if

(訳)
もしx > 0なら、yにxを代入してね
そうでないなら、yには-xを代入してね
ここでif文は終了です

🔹 繰り返し(ループ処理)
・while 条件 do
・end while

while i < 10 do
    i ← i + 1
end while

(訳)
iが10未満である限り、iに1を足し続けてください

・for 変数 ← 初期値 to 終了値 do
・end for

for i ← 1 to 5 do
    print i
end for

🔹 配列の操作
・A[i](配列 A の i 番目の要素を示す)
・length(A)(配列 A に入っている要素の数を示す)
🔹 入出力
・print 値(値を表示)
・input 変数(入力を受け取る)
🔹 論理演算・比較演算
・=, ≠, <, >, ≤, ≥
・and, or, not
🔹 算術演算
・+, -, *, /, mod(割った余り、余りを求める作業)
🔹 その他の構文
・break(ループを途中で抜ける)
・continue(次のループへ進む)

6. まとめ

・慣れない用語が多いと理解が大変→用語を覚えて単純化する
・処理のイメージがつかず答えが見えない→あるあるの指示・処理手順を事前にかみくだいておく!

週末はついに試験本番です!
合格できるようがんばるぞ~!!

Discussion