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

Sdílet
Vložit
  • čas přidán 21. 08. 2024

Komentáře • 21

  • @ya7470
    @ya7470 Před rokem +5

    いつもお世話になっております。
    情報系出身ではない私は御チャンネルの動画を見て、アルゴリズムへの苦手意識を解消させ、理解も深めました。おかげで本日基本情報技術者試験に合格しました。
    心から感謝しております。

    • @masuyaplus
      @masuyaplus  Před rokem +2

      基本情報合格おめでとうございます!
      当チャンネルが多少でもお役に立てたようでなによりです😊情報系ご出身でないにも関わらず合格されたのは、ご自身の努力の成果にほかなりません。その成果が今後のお仕事で必ずやお役に立つことと思います

  • @mochhy6803
    @mochhy6803 Před 5 měsíci +1

    今日無事合格することができました。
    テキストだと細すぎてB試験の勉強をする時間がなく、ここで紹介されているものをしっかりやれば、どうにかなると思いました(すごく難しかったですが。)。
    AもBもギリギリでしたが、まさかのBの方が点数がよかったという。。
    ありがとうございました!
    やっぱり過去問や公表問題、大事です。

    • @masuyaplus
      @masuyaplus  Před 5 měsíci

      合格おめでとうございます🎉
      当チャンネルが多少なりともお役に立てたようでなによりです😊
      今の試験制度では、科目Bは科目Aの知識前提が不要なので科目Bの方が点数高いケースは多いですね。

  • @Rin-we2wu
    @Rin-we2wu Před 6 měsíci +1

    問6マトモに解いたらこれめちゃかからないか!?と思ったのですが、こういうふうに考えるのもありなのだすね!ありがとうございます!

    • @masuyaplus
      @masuyaplus  Před 6 měsíci

      ご視聴ありがとうございます😃
      お役に立てたようでなによりです😉

  • @hirokoji8111
    @hirokoji8111 Před 11 měsíci +2

    こんにちは。
    わかりやすい解説ありがとうございます。
    問3のtail⬅out[outの要素数]の解釈について質問です。
    「要素数は値を入れるための部屋数のこと」と参考書に書かれていたため、outの要素数は1だと思ってしまいました。
    ここがなぜ、3になるのかを教えて頂けると幸いです。
    お忙しい中、最後まで読んで頂きありがとうございます。
    これからも、動画の更新楽しみにしています。

    • @masuyaplus
      @masuyaplus  Před 11 měsíci +3

      こんばん(にち)は。
      outの要素数が1なのは正しいです。ということは、out[outの要素数]=out[1]となります。一方で、4行目に「outの末尾にin[1]の値を追加する」とあり、その時点ではoutは空なのでoutの末尾はout[1]、そこにin[1]が入ります。引数inの配列は{3,2,1,6,5,4}、空のout[1]にはin[1]すなわち3が入るということになります。
      [ ]内の数字はあくまで配列の位置なので、out[1]は配列outの1番目の数字ということです。例えば、in[4]=6ということです。

    • @hirokoji8111
      @hirokoji8111 Před 11 měsíci +3

      @@masuyaplus 様
      お返事ありがとうございます。
      今回のご説明で理解することができました!
      お忙しい中、丁寧なご対応ありがとうございました。
      今後とも、動画の配信を楽しみにしています。

  • @audreywakasuga
    @audreywakasuga Před rokem +3

    こんにちは。問6の解説とてもわかりやすかったです。
    解く際、「iを1〜8まで増やす」の以降、iが一向に出てこない時点で訳がわからなくなってしまいました。この部分はどのように理解したらよいでしょうか。

    • @masuyaplus
      @masuyaplus  Před rokem +7

      ご視聴ありがとうございます
      iはfor文で使われるループ用の変数ですが、問6の場合は完全にループを回すためだけに使われています。多くの問題ではループの中でiが「p[i]」のように配列番号として使われたりしますが、この場合は単にfor文の中の処理ア~エを8回実行するだけです。iはあくまでループ用のworkにすぎないということですね

    • @1T7YT
      @1T7YT Před rokem

      @@masuyaplus 横から突然失礼します。既に仰っているように他の多くの問題ではループの中でiが「p[i]」のように配列番号として使われたりするケースが多いので、「完全にループを回すためだけに使われています」の意味がイマイチしっくりきません。本来はループカウンタ?の変数が繰り返し処理の中身でも使用されている方が応用的で、この問題では実際に使われることのないダミーの変数が(指定した回数まで処理を繰り返すために)ひっそりと1ずつ増えてる簡単なケースなのだとイメージすれば良いのでしょうか?

    • @opandapanda3478
      @opandapanda3478 Před 11 měsíci

      @@1T7YT C言語のfor文を使ったループ処理について検索すると一番しっくりくると思います。
      繰り返し処理するためには例えば「8回同じ処理をして」というような言い方はできずに、「変数i(一般的にiなだけで別にiじゃなくても良い)が1から8まで増加する分繰り返して」というふうな言い方しかできないので、単純なループをさせたい時でも何かしらの変数(ここではi)が必要になってしまうんです。

  • @user-nd1wf6qe9k
    @user-nd1wf6qe9k Před 8 měsíci +1

    問6のrbyteがなぜそもそも01001011なのかがわからないです。
    例ではbyteは01001011ですがただの例なのでどうしてそれが使われているのかがわかりませんでした。
    どこから読み取るべきだったのでしょうか?

    • @masuyaplus
      @masuyaplus  Před 8 měsíci

      あくまで例なので特に深い意味はないとは思いますが、あえて推測すれば、"00"、"01"、"10"、"11"のすべての組合せが含まれ、逆順にするので左右対称ではないというところでこんな数字にしたのだと思います。

  • @user-um4hk5bb2p
    @user-um4hk5bb2p Před rokem

    こんにちは、お世話になっております。
    解き方は分かっているんですけどビット演算の問題をトレースしていると時間がかかりすぎてしまいます。
    例えば、問6の問題なんですけど今回はアが答えなのでいいのですがエが答えだった場合、時間が30分以上かかってしまうと思います。。。ビット演算の問題を解くうえで何かコツなどありますでしょうか?

    • @masuyaplus
      @masuyaplus  Před rokem +7

      ご視聴ありがとうございます
      ビット演算のコツと言えば、頭の中で整理できない場合はメモに書いて地道に計算することです。というありきたりな回答は求めていらっしゃらないと思いますので、ひとつアドバイスいたしますと、「可能な限り処理を言語化する」ということです。
      例えば問6の選択肢「ウ」『(rbyte≪1)V(rbyte≫7)』は「左端の数字を右端に移動させる処理」と言葉で表現できます。これを8回ループするわけですから、計算せずとも元に戻るということが分かります。もちろん言葉にすることが難しい処理もありますが、出題者は何かしらの意図を持って計算式を提示しているのでたいていは言語化できます。

    • @user-um4hk5bb2p
      @user-um4hk5bb2p Před rokem

      @@masuyaplus なるほど、やってみます!ありがとうございます♪

    • @ranakamu3691
      @ranakamu3691 Před rokem +3

      @@masuyaplus それめちゃくちゃ良い解説ですやん。助かります。

  • @techlearner-wp3rv
    @techlearner-wp3rv Před rokem

    問6 プログラム2行目って何のためにあるのでしょうか?実際にbyteをrbyteに代入することはないので、不要な行に思えてきます

    • @masuyaplus
      @masuyaplus  Před rokem +4

      もし、3行目の「r←00000000」(rを初期化)の意味が理解できていれば考え方は同じです。
      byteは変数っぽく見えますが、あくまで関数の引数なので、プログラムが実行されるときは具体的な数字となります。例えば、byteが01010101ならば、2行目は「rbyte←01010101」でrbyteが初期化され、それ以降はrbyteの値は解答群の処理でコロコロ変わります。