【基本情報技術者試験科目B】サンプル問題全20問完全解説~Vol.3(問13~問16)

Поделиться
HTML-код
  • Опубликовано: 10 дек 2024

Комментарии • 43

  • @まっちゃ-i5s7o
    @まっちゃ-i5s7o Год назад +4

    この動画で勉強して今日合格できました!
    わかりやすい説明ありがとうございました!!!

    • @masuyaplus
      @masuyaplus  Год назад +2

      合格おめでとうございます!
      本動画が多少なりともお役に立てたようで何よりです。とは言え、合格は紛れもなくご自身の実力よるところだと思います😊

  • @user-mg1cy1vt4m
    @user-mg1cy1vt4m Год назад +4

    こちらの動画の解説のお陰で今日受験して合格点を取ることができました。ありがとうございました!
    次は安全確保支援士にチャレンジします。今後ともわかりやすい動画を作っていただけると嬉しいです!

    • @masuyaplus
      @masuyaplus  Год назад +1

      合格おめでとうございます!本動画がほんの少しでもお役に立てたようで何よりです。
      この勢いでSG試験や登録セキスペも突破していきたいですね😉本業の合間を見て新しい動画もアップしていきたと思います

  • @23_naturalstyle
    @23_naturalstyle 5 месяцев назад

    一番わかりやすい!!

    • @masuyaplus
      @masuyaplus  5 месяцев назад +1

      ありがとうございます😊
      今後ともよろしくお願いいたします👍

  • @ToshI-hn7vn
    @ToshI-hn7vn Год назад +3

    アもイもelseの処理でreturnしていますが、returnをすればwhileを抜けることができるのでしょうか。処理を抜ける条件は満たしていないと思うのですが。

    • @masuyaplus
      @masuyaplus  Год назад

      恐らく問13かと思われますが、おっしゃる通りreturnでwhileを抜ける…と言いますか、プログラム自体を抜けて終了します。
      この問題では、whileはないに等しいとも言えますww

  • @ss-fg9go
    @ss-fg9go Год назад +1

    ありがとうございます。問13なのですが、値を返した時点でループからは抜け出すのでしょうか?
    return1をし続ける、もしくはwhileから抜けて1と-1を返す事はないのでしょうか。。

    • @masuyaplus
      @masuyaplus  Год назад +1

      こちらこそありがとうございます。
      おっしゃる通り、値を返した(returnが実行された)時点でループから抜けてプログラムも終了します。
      一般的に、returnは実行されたらすべてが終わる、との認識でよろしいかと思います。
      ちなみに、return1をし続けることはありませんが、targetがなければwhileから抜けて-1を返すことはあります。

  • @悠-q4t
    @悠-q4t Год назад +1

    細かい話(気にしすぎ)かも知れませんが、問13の選択肢のアのところで"要素の値"とありますが、この値は要素番号の1ではなく要素数1の配列に中に入っている値という認識だったのですが間違えてますかね?

    • @masuyaplus
      @masuyaplus  Год назад +3

      いいえ、間違えてはおらずおっしゃる通りです。
      問13は要素番号と要素の値を同値にしても特に問題ありませんが、細かい話どころか、明確に区別して考えることは科目Bを攻略するうえでめちゃめちゃ重要です。特に2次元配列では混乱しがちですので、むしろ気にしすぎるくらいがよいかもしれません。

    • @悠-q4t
      @悠-q4t Год назад +1

      @@masuyaplus 遅い時間にわざわざありがとうございます!!
      分かりました^_^
      繰り返し練習して慣れて、絶対合格したいと思います!社長の動画にはお世話になってます🙇

  • @user-ee4rn7dk7i
    @user-ee4rn7dk7i Год назад +1

    こんにちは。とても丁寧な解説わかりやすかったです!私も実際にサンプル問題を解いたのですが、どうしても時間が足りないくなってしまいます。そこで、なにか問題を早く解くコツなどあれば教えていただきたいです。
    あと科目Bにおけるおすすめの時間配分があれば教えてください!

    • @masuyaplus
      @masuyaplus  Год назад +2

      ご視聴ありがとうございます。
      科目Bの時短解法・時間配分については、説明欄にリンクのある有料講座で…と言いたいところですが、さすがにそれでは露骨に申し訳ないのでひとつアドバイスさせていただきますと、問題文とプログラムをザっと見て問題の意図がイマイチ理解できない、難しそうと感じたら迷わず飛ばして後に回すことです。これを徹底するだけでも得点率はまったく違います。
      あとは、選択肢の数が多い問題を優先的に解くというやり方もありかと思います。

  • @ReoHatta
    @ReoHatta Год назад +1

    13番解答群アでelseでmiddle返した後、while(low≦high)の条件に戻ってこの処理無限に繰り返すから無限ループになる気がするんですけど違いますかね?

    • @masuyaplus
      @masuyaplus  Год назад

      「elseでmiddle返す」ということはreturnが実行されることになりますが、プログラミングの一般論として、returnは値を返すと同時にプログラムを完全に終了させます。
      一方、選択肢のウだけは、if(data[middle])<target)を延々と繰り返すためreturnに到達しない、つまり無限ループになるということです。

    • @ReoHatta
      @ReoHatta Год назад +1

      @@masuyaplus なるほど、returnでプログラムが完全終了するという前提が理解できていませんでした。返信の方ありがとうございます!

  • @shungonakanishi
    @shungonakanishi Год назад +2

    分かりやすい動画で本当に助かっています。
    問13について質問なのですが、
    解答群の中で『要素の値の』という表現がされており、 アについて考えた時に、『その要素の値=1』としている考え方がわからないので教えていただきていです。
    要素数が1だと要素番号が1しか存在しないのは理解できていますが、その要素の値と言われた時に中身に値はわからないのでは?と思っていましまいます。

    • @masuyaplus
      @masuyaplus  Год назад +3

      ご視聴ありがとうございます。
      改めて動画を見返してみましたが、確かにtargetに1を勝手に設定しているような言い回しで紛らわしかったですね。申し訳ありません(-_-;)
      例えばアの選択肢の場合は、targetと要素の値が等しければ何でもよいわけですが、1にするのが手っ取り早いと当時の私は思っていたのだと思いますww

    • @shungonakanishi
      @shungonakanishi Год назад +1

      @@masuyaplus
      お忙しいところ返信頂きましてありがとうございます🙇‍♀️
      また誤字が多くてすみません🙏
      繰り返し質問になってしまいますが、
      配列の要素の値が指定されていない時は、考えやすいように、都合のいい値を入れて解答郡に照らし合わせていいということなのでしょうか?

    • @masuyaplus
      @masuyaplus  Год назад +1

      はい。その通りです😉
      この問題では、targetと対象となる要素の値が同じであればOKです👌

    • @shungonakanishi
      @shungonakanishi Год назад +1

      @@masuyaplus 遅い時間なのにご回答頂きありがとうございました🥹
      スッキリしました✨
      今後ともよろしくお願いいたします!

  • @techlearner-wp3rv
    @techlearner-wp3rv Год назад

    14:25 i=1のときfindRank(0.1, 0)、i=2のときfindRank(0.4, 0.25)、i=3のときfindRank(0.6, 0.5)という風になるのは分かるのですが、それぞれの戻り値が0.1, 0.4, 0.6となるのが分からないです。なぜカッコのカンマ左側の値がそのまま戻り値になるのでしょうか?
    f(a,b)のように関数のカッコの中にカンマ区切りで複数の数字があると、いつもどう解釈すればいいか分からなくなってしまいます…

    • @masuyaplus
      @masuyaplus  Год назад

      まずfindRank関数の引数ですが、左側の第1引数は、プログラムの1行目を見ると「実数型の配列」とあるので、0.1や0.4などの単体の数字ではなく、10個の数字の配列そのものが入ります。右側の第2引数は、おっしゃる通り単体の実数となります。
      例えばi=3のときは、findRnak({0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1},0.5) となります。この時のiの値は、0.5×(10-1)=4.5を小数点切り上げで
      5。戻り値はsortedData[5+1]=sortedData[6]。sortedDataは第1引数にある0.1~1の配列なのでその6番目=0.6となります。
      引数が複数の場合は、まずその引数の属性(配列とか実数型とか)を確認したうえで、上記のように具体的な数字を地道に埋めていくのが結局一番早いです。

    • @techlearner-wp3rv
      @techlearner-wp3rv Год назад

      @@masuyaplus 回答ありがとうございます。いつもプログラム最初数行って代入とか四則演算などの具体的作業がなくさらっと読み流していたのですが、カッコ内で表された引数の属性(宣言というのでしょうか?)をしっかりチェックするようにします!
      本問でいえば、プログラムにある〇二つのうち
      一つ目〇は「findRankは、sortedDataという配列とpという実数の引数2つで構成され、最終的にその戻り値は sortedData[i+1]」」
      二つ目〇は「summarizeは、sortedDataという配列の引数で構成され、最終的にその戻り値はrankData」
      という認識で正しいでしょうか?(今書いてて気づいたけど、〇がある行の関数とreturnが対応するつくりになっている?)

    • @masuyaplus
      @masuyaplus  Год назад +1

      一つ目も二つ目もおっしゃる通りです。
      〇印は、サンプル問題の冒頭にある「疑似言語の記述形式」にもある通り、関数を宣言している箇所になります。つまり、2つの関数で構成されているという意味となり、1つ目の関数を2つ目の関数の中で使用するということを直感的に気付けるかどうかがポイントとなります。
      ちなみに、この問題の関数はどちらも値を返すのでreturn(戻り値)が存在しますが、問10のように特定の処理を目的とする関数であればreturnが存在しない場合もあります。

  • @Rin-we2wu
    @Rin-we2wu 10 месяцев назад +1

    問15が個人的には初見殺しすぎた

    • @masuyaplus
      @masuyaplus  10 месяцев назад

      キーポイントが見つからないとハマりますね。
      初見だとあの表もワケ分からなくなる可能性ありますし😅

    • @Rin-we2wu
      @Rin-we2wu 10 месяцев назад +1

      @@masuyaplus です!

    • @mochhy6803
      @mochhy6803 9 месяцев назад +1

      理解できて、擬似言語もなく、いけそうと思ったんですが、
      Aの方を指す場合、Bの方を指す場合の今の盤面で考えると読んで、自分の手番だと解釈し、エを選んでしまいました。。

    • @ねこおじさん-h6r
      @ねこおじさん-h6r 8 месяцев назад

      @@mochhy6803問題を考えた人の日本語の問題ですねw

  • @misa2393
    @misa2393 Год назад

    問16難しかったです。科目B用の参考書は買った方がいいのでしょうか?

    • @masuyaplus
      @masuyaplus  Год назад +1

      問16は、捨て問題と割り切れた人の方が合格に近づくという理不尽な問題ですねww
      参考書については、無意味とは言いませんが、期待するほどの効果はないです。当社有料セミナーでもお話ししているのですが、それ以上にサンプル問題や過去問題のアルゴリズムなどを徹底的に追求した方が効果は高いです。
      ※宣伝になって申し訳ないですが、科目Bは当社「基本情報技術者試験7つの超速合格術」でバッチリ対応できます

  • @ぱるふぉ-d3u
    @ぱるふぉ-d3u Год назад

    問13の、どうすれば無限ループを回避できるかという問題で(ア)が無限ループになぜなるのかを教えていただきたいです。

    • @masuyaplus
      @masuyaplus  Год назад

      ご指摘ありがとうございます。「または」にしたかったのか計算ミスかはうろ覚えですが、アも回避できますね。説明欄を修正させていただきました。

    • @ぱるふぉ-d3u
      @ぱるふぉ-d3u Год назад

      @@masuyaplus わかりました、ありがとうございます!

  • @山田太郎-z1s8w
    @山田太郎-z1s8w 10 месяцев назад

    画面に余白無くてテロップ表示するのにどこか隠さないといけないって場面で問題文や解答群より自分の顔の方が表示優先度高いの面白いですね笑

    • @masuyaplus
      @masuyaplus  10 месяцев назад

      基本出たがりなんでww

  • @user-kumasandayo
    @user-kumasandayo Год назад

    問13のイとウでdataの先頭要素、末尾要素が1,2とのことですがなぜその値になるかわかりません…。

    • @masuyaplus
      @masuyaplus  Год назад +1

      配列dataの要素番号の話ですね。選択肢イ・ウはどちらも「要素数が2」と言っているので、先頭が1番目、末尾が2番目という意味です。

  • @river8915
    @river8915 Год назад +4

    問16いきなり難易度上がりすぎだろって思ったけど、捨て問なんですかね、、、

    • @masuyaplus
      @masuyaplus  Год назад +9

      解説しといてなんですが、明らかに捨て問ですww
      しかも9択なので、当てずっぽうも期待できない周到さもイヤらしいですね