難しそうだなあ。。。
まずは、問題を解く流れを掴んで、何回かに分けて理解するつもりでお読みください。
友達は、擬似言語を捨てていたよ。
擬似言語の問題が、すべて難しいわけではないです。
少し勉強するだけで解ける問題もあるので、はじめから捨てるのはもったいないです。
まずは、解き方をトレースすることから始めてみましょう。
擬似言語の問題を解くポイント
文章で書かれた説明、条件、手順を理解してから、プログラムを考える。
問題見たら頭が痛くなる。。。
文章で書かれた説明、条件、手順で、プログラムの機能(動作)がわかるように、問題は作られています。
極端に言うと、英数文字で書かれたプログラムから、プログラムの機能(動作)を考える必要はありません。
先に、文章を読み解く練習をしましょう。
選択肢を代入して、矛盾が生じないものを選ぶ。
選択肢を代入して、結果に矛盾が生じないものを選ぶだけで正解できます。
正解を得るのに、選択肢の内容をすべて理解(計算)する必要はありません。
問題を解く手順
詳しく説明したら長くなってしまいました。
最初は軽く読んで、何回かに分けてお読みください。
Step 1 構成を整理して、問題文を読み解く。
- Step 1構成を整理して、問題文を読み解く。
- 1説明(条件)
- 2設問
- 3手順(動作)
- 4選択肢
- 5プログラム
- Step 2関数の働き(目的)を確認する。
- Step 3関数の動作を、具体的な値を使って確認する。
- Step 4選んだaとbの組み合わせの選択肢を答える。
問題文を項目ごとに整理しましょう。
まだ、内容を考える必要はありません。
説明(条件)
関数の説明が書かれています。
関数calcXと関数calcYは、引数inDataを用いて計算を行い、その結果を戻り値とする。
ここでは、
関数calcXとcalcYが2つあること
引数は、inaDataであること
を確認して、次に進みましょう。
設問
プログラム中のa、bに入れる字句の適切な組合せはどれか。
ここまでの内容から、次の問題の解き方をイメージしましょう。
ITパスポート試験で、「流れ図や関数が2つあり、空欄aと空欄bの組み合わせを答える」場合は、だいたい下図のようなパターンで解けます。
パターンを覚えておくと、問題を解くのが楽になります。
手順(動作)
プログラムの流れは、言葉で説明されています。
関数calcXをcalcX(1)として呼び出すと、関数calcXの変数numの値が、1→3→7→13と変化し、戻り値は13となった。
関数calcYをcalcY(1)として呼び出すと、関数calcYの変数numの値が、1→5→13→25と変化し、戻り値は25となった。
ここでもまだ、内容を理解しようとする必要はありません。
ただし、ここの理解が、問題を解く上で重要なポイントであることは意識しておきましょう。
選択肢
複雑に見えますが、よく見ると、aもbも、それぞれ2種類です。
aもbも、どちらか1つずつ選ぶだけです。
プログラム
プログラムの空欄を埋める候補が何か、上の選択肢を見て確認しましょう。
ここでは、プログラムの詳細を考える必要はありません。
次の段階で、手順と一緒に考えましょう。
Step 2 関数の働き(目的)を確認する。
- Step 1構成を整理して、問題文を読み解く。
- Step 2関数の働き(目的)を確認する。
- Step 3関数の動作を、具体的な値を使って確認する。
- Step 4選んだaとbの組み合わせの選択肢を答える。
関数のイメージを掴むと、問題を読むのが楽になりますよ。
関数calcX、関数calcY
関数の説明(条件)と手順(動作)から、下図のように関数についてイメージを作ります。
Step 3 関数の動作を、具体的な値を使って確認する。
- Step 1構成を整理して、問題文を読み解く。
- Step 2関数の働き(目的)を確認する。
- Step 3関数の動作を、具体的な値を使って確認する。
- 1プログラム1
・表の作成
・表の計算 - 2プログラム2
・表の作成
・表の計算
- Step 4選んだaとbの組み合わせの選択肢を答える。
最初に数字を入れる枠(表)を考えてから、計算しましょう。
楽です。
プログラム1は空欄aだけなので、最初に取り組みます。
プログラム1
手順、プログラム、選択肢から、具体的な値を入れる表を作ります。
次に、手順(動作)を元に、表に具体的な値を入れます。
下の問題文(手順(動作))と一致するので、空欄aはnum + 2 × i です。
関数calcXをcalcX(1)として呼び出すと、関数calcXの変数numの値が、1→3→7→13と変化し、戻り値は13となった。
プログラム2
手順、プログラム、選択肢から、具体的な値を入れる表を作ります。
プログラム1の結果を使います。
次に、手順(動作)を元に、表に具体的な値を入れます。
下の問題文(手順(動作))と一致するので、空欄bは” iを2から6まで2ずつ増やす“ です。
関数calcYをcalcY(1)として呼び出すと、関数calcYの変数numの値が、1→5→13→25と変化し、戻り値は25となった。
Step 4 選んだaとbの組み合わせの選択肢を答える。
- Step 1構成を整理して、問題文を読み解く。
- Step 2関数の働き(目的)を確認する。
- Step 3関数の動作を、具体的な値を使って確認する。
- Step 4選んだaとbの組み合わせの選択肢を答える。
なるほど。。。
空欄aは、num + 2 × i
空欄bは、「 iを2から6まで2ずつ増やす」
よって、正解は エ です。
まとめ
ITパスポート令和4年 問96を例にして擬似問題の解き方を詳しく解説しました。
文章で書かれた説明、条件、手順を理解してから、プログラムを考える。
選択肢を空欄に入れて、矛盾が生じないものを選ぶ。
問題に慣れると、この解説の手順を踏まなくても、問題を解けるようになります。
まずは、擬似言語の解き方をトレースすることから始めてみましょう。
コメント