見出し画像

基本情報技術者試験の科目BをJavaとPythonのプログラムで考える No.27

基本情報技術者試験で出題されるプログラム言語が疑似言語に変更されましたね。合格に向けて学習を進めるにおいては、やはり普段から使っているプログラム言語に置き換えて考えてみたいですよね。
このサイトでは、IPA情報処理推進機構で公開されている科目Bのプログラミングの問題を中心に、疑似言語をJavaとPythonのコードに置き換えて解説していきます。
1日1問の解説を発信していく予定です。基本情報技術者試験の合格を目指されている方のお役に立てれば幸いです。


基本情報技術者試験 科目 B サンプル問題(2022年4月公開)

https://www.ipa.go.jp/shiken/syllabus/ps6vr7000000oett-att/fe_kamoku_b_sample.pdf

問1 条件分岐

数値の範囲で条件が決まる場合は、数直線を書いてみましょう。

数直線で整理

「以下」なのか、「以上」なのか、「未満」なのかを問題文から把握しましょう。
プログラムでは、最初に3歳以下かを判定していますので、次に判定するのは9歳以下かになり、それらの条件に合わない場合は、必然的に10歳以上となるわけです。

1.Javaのコードで考えてみよう

package kamokuB;

public class R3_Sample01 {
	
	static int fee(int age){
	    int ret;
	    if(age <= 3)      // 3歳以下か
	        ret = 100;
	    else if(age <= 9) // 9歳以下か
	        ret = 300;
	    else
	        ret = 500;

	    return ret;
	}

	public static void main(String[] args) {
		System.out.println(fee(3));
		System.out.println(fee(9));
		System.out.println(fee(10));
		
	}
}

2.Pythonのコードで考えてみよう

# 2022年4月公開問題1

def fee(age):
    if age <= 3:      # 3歳以下か
        return 100
    elif age <= 9:    # 9歳以下か
        return 300
    else:
        return 500

print(fee(3))
print(fee(9))
print(fee(10))

いかがでしょうか。
簡単そうな問題であっても、うっかりミスをしないように、簡単な図を書いて整理することをお薦めします。

いいなと思ったら応援しよう!