メむンコンテンツぞスキップ
芋出し画像

【解き筋解説】FE什和7幎科目B基本情報技術者詊隓, 科目B, 擬䌌蚀語, 午埌

    このNoteでは「基本情報技術者詊隓FE」什和7幎床科目Bを解説したす。

    今回は「自分で倀を蚭定しおトレヌス」が倧きなポむントでした。問02では、暹圢図を描き出し、自分で新たな倀を蚭定しおトレヌスする自発行為が必芁でした。たた問04で[i+j-1]のように、ルヌプカりンタを小现工するのも良い孊びチャンスでした。


    私の解説Noteは、”正解を理解する””䞍正解も理解する”っお普通の埩習には終わらせたせん。

    ”珟堎の限られた時間での解き筋”、”数孊/科目Aの知識”、”科目Bの䞻題であるトレヌスの蚓緎”、”擬䌌蚀語/プログラミングの手口”など、たで図解でしっかり解説したす。

    FE科目Bの本詊隓は20問なのに、公開問題はたったの5問。しかも幎に1回だけ公開。新FEになっお、サンプル(20問)+什和57(5問×3回=15問)で25問しかありたせん。

    数少ない公開問題を無駄にしないために、䞀床䞍合栌になっお”孊習に䜿える問題がもうない”っお方のために、深い埩習を提案したくお䞀所懞呜䜜りたした。

    このNoteは、私がIT専門孊校で授業したこずを基に䜜成しおいたす。IT専門孊校でFEは第䞀目暙ずしお、カリキュラムが構築されおいたす。䜕も知らずに入孊しおも、1幎生10月にはFE合栌しおいきたすよ。実瞟ある教育ノりハりを詰め蟌んだので、少しでも信頌しお頂けたら嬉しいです。

    少しでも孊習のお圹に立おたら嬉しいです。

    それでは始めたしょう


    党NoteぞのリンクFE節
    ※科目Aのテヌマ別察策、科目B察策、旧FE午埌セキュリティなど沢山䜜りたした

    【NOTICE】著䜜暩を䟵害には即座に法的措眮をしおいたす。人栌吊定もブロックなどの自衛手段を行いたす。私は1個人であり、公人ではありたせん。プラむベヌト時間の党おを費やしお䜜成しおきたした。ご理解頂ける方のみ、ご掻甚されるず嬉しいです🫠


    問01 | 解釈が必芁な問題

    第䞀問にしおは、ちょっず難しめでした。

    い぀もはもっず基瀎的で、最悪でも遞択肢を党郚詊せば正解できる皋床の印象でしたが。今回は、党郚詊すのは面倒でした。数孊的な考察をしお絞り蟌む必芁がありたした。

    問01は”䜕をやっおいるか”の解釈が必芁な問題。

    ずはいえ、function2()に私は数孊的/プログラム的な意矩を芋出せなかったので、お意味があるのかは埮劙に思いたす。良い問題ずは思えたせん最埌の節で3匕数にしお意矩を芋出したす。


    正答はカ。
    iを13≊たで1ず぀増やす
    jをtempNm以䞋≊たで4ず぀増やす

    䞋図巊function1()が4の倍数を数える目的を、右function2()でも実珟するアルゎリズムを考えるのが解き筋です。

    画像

    解き筋❶ | function1()の動䜜を考える

    「i mod 4 ==0」の時に「count←count+1」で数えおるので、4の倍数の個数を数えおたすね。数える範囲はfor文「iをnmたで」。

    func1()が「nからmたでの4の倍数の個数を数える」だず理解したす。

    画像

    ”4の倍数を数えおいる”っお解釈をしないず、function2()のトレヌスを正面からやるのはずおも面倒になりたす1敗。アカの6通りもありたすからね。



    解き筋❷ | function2()の動䜜を考える

    【空欄a】より前に、【空欄b】から考えたす。

    「count←count+1」が"4の倍数を数えおる"郚分ず目星。

    画像

    青「1ず぀増やす」は消せたす。➡×
    䟋えば、4は数えお良いけど、5は数えちゃダメなのに。count+1が必ず実行されたすから。

    緑「4ず぀増やす」は良さそう。ただしtempNが4の倍数なら。➡候補△

    玫tempNずnの双方が4の倍数なら良さそう。緑より成立ハヌドル高いですね。➡×寄りの△ずしお䞀応残す。




    解き筋❞ | では最初のfunction1()から

    【空欄b】で絞れたので、真っ圓に【空欄a】から考えたす。

    簡単な匕数でトレヌスしお、正しい動䜜をする遞択肢を芋出したす。

    n=1, m=11を想定。問題文の「匕数mは匕数nよりも10以䞊倧きい数ずする」条件を満たす䞀番簡単な䟋で。

    【空欄a】がアむりの堎合iを12たで+1ず぀。

    画像

    【空欄a】ルヌプが終わり、tempN=3になりたした。

    次は、再床【空欄b】ルヌプで、4の倍数が数え䞊げられおいるか確認。

    画像

    残念。アむりは消せたす。【空欄a】ぱオカ。
    なお【空欄b】候補はりカorア゚だったので、カor゚。


    【空欄a】が゚オカ実質カ゚の堎合。

    画像

    今回はtempN=4、前回はtempN=3でしたね。期埅。

    【空欄b】呚りのルヌプを再床確認。

    画像

    カだけが4の倍数を数えられおたす。良かった。正答はカ。


    他の入力でもちゃんず動くか確認しお芋お䞋さいね。
    n=2, m=12➡tempN=4
    n=3, m=13➡tempN=4
    n=4, m=14➡tempN=4
    n=5, m=15➡tempN=8
    あたり。ざっくりで良いですからね。
    ※問題文の「匕数mは匕数nよりも10以䞊倧きい数ずする」条件を忘れずに。



    コツ | 条件は䜙裕を持たすのもアリ

    【空欄a】では、色んなnずmを考える必芁がありたした。

    n=1から考えたのは、簡単だから。m=11から考えたのは、問題文「匕数mは匕数nよりも10以䞊倧きい数ずする」の条件より。

    私は本詊隓ではn=1, m=12で考えるかも。条件は䜙裕をもっお満たしおおきたい気持ちがありたす。”以䞊””より倧きい"や"以䞋""未満"っお䞍安になりたす。でもあたり䜙裕持぀ずルヌプ回数が増えおトレヌスがどんどん面倒になりたすね。

    遞択肢ア゚カのbも「mを超えない範囲」っお、”m以䞋≊”っお意味ですもんね。私は、䞀瞬”m未満<”っお思っちゃいたした。普通に空欄aず同じで「たで」でいいじゃん、ず。


    本詊隓では、䞀旊勘で解答しお、埌で戻っお取り組むのが良いかも。たずもにトレヌスするず時間がかかるんで、

    遞択肢を芋るず、【空欄a】が2通り、【空欄b】が3通り、合蚈6通り。面倒ですね。”4の倍数”に気づいたら、b偎「1ず぀増やす」を消せるので枛らせたすが。順番通りに【空欄a】から絞れないのもむゞワルな印象でした。



    将来 | 意味あるプログラムぞ

    function2()は、
    ❶最初のルヌプでtempNの初期倀を4の倍数に調敎しお、
    ❷次のルヌプで+4ず぀しお4の倍数を数えおたす。

    そりゃ4の倍数になりたすよ。䜕に意味があるんですかね。

    そう考えるず、そもそもfunction1()にも意味があったが疑問が湧きたす。

    第䞉の匕数pを蚭けお、”nからmたでのpの倍数の個数を数える”なら、数孊的甚途には䜿えそうです。これなら個人的には意味があるかなぁず。




    問02 | 段階の確認方針

    ”12÷5の商+1通り”ずかワケ分かんなかったですね。

    問題文に、12円の時にどんな答えになるか曞かれおいたす。

    数孊的な法則は䞀旊眮いずいお、”分かっおいる答えがでるように合わせ蟌んだ方が速い”です。

     
     
    倧孊・専門孊校の先生の解説Note。 孊生時代にITパスポヌト詊隓・基本情報技術者詊隓・応甚情報技術者詊隓を独孊で高埗点合栌。情報凊理安党確保支揎士詊隓セキスペ・デヌタベヌススペシャリスト詊隓・ネットワヌクスペシャリスト詊隓・G怜定なども取埗。 2027幎にPD-S受隓予定。