【初心者向け】基本情報技術者試験 科目B|アルゴリズムをゼロから理解する

  Рет қаралды 91,324

エンジニア養成コーチ:IT学校さいとうさん

エンジニア養成コーチ:IT学校さいとうさん

Күн бұрын

⭐️基本情報技術者試験:科目Bアルゴリズムの初心者向け解説動画です!
動画内に誤りがありましたのでこちらで訂正させて頂きます。
 ■対象:問8.関数呼び出し②
  ・問題文の以下箇所が誤っておりました。
    ・誤:関数calc は 正の整数 x と y を受け取り...
    ・正:関数calcCombination は 正の整数 x と y を受け取り...
 ■対象:問10.ビット値の操作
  ・プログラムの return する位置が誤っておりました。
   お手数ですが以下の修正前後のプログラムのご確認をお願いします。
   動画内で喋っている解説自体は合っており、解答自体はあっております。
    ●修正後
     ○8ビット型: invert(8ビット型: byte)
      8ビット型: resultByte ← 00000000
      整数型: i
      for (i を 1 から 8 まで 1 ずつ増やす)
       if ((byte ∧ 10000000) が 10000000 である)
        resultByte ← resultByte ∨ 00000000
       else
        resultByte ← 【a】
       endif
       if (i が 8 と等しい)
        return resultByte
       endif
       byte ← byte << 1
       resultByte ← resultByte << 1
      end for
    ●修正前
     ○8ビット型: invert(8ビット型: byte)
      8ビット型: resultByte ← 00000000
      整数型: i
      for (i を 1 から 8 まで 1 ずつ増やす)
       if ((byte ∧ 10000000) が 10000000 である)
        resultByte ← resultByte ∨ 00000000
       else
        resultByte ← 【a】
       endif
       byte ← byte << 1
       resultByte ← resultByte << 1
      end for
      return resultByte
 ■対象:問11.繰り返しのwhile文
  ・51:29 からの解説の画面右側、プログラムの内容を日本語で書いてある部分について、
   以下の内容が誤っております。お手数ですが読み替えをお願いします。
    ・誤:●if文( minNum が ソート前配列の要素 より小さい場合 )
    ・正:●if文( ソート前配列の要素 が minNum より小さい場合 )
  ・問題のプログラムの1行目について、以下部分が誤っておりました。
   お手数ですが読み替えをお願いします。
    ・誤:整数型: i,delTarget minNum
    ・正:整数型: i,delTarget,minNum
 ■対象:問13.繰り返し文(応用)
  ・プログラムに以下1行が不足しておりました。
   お手数ですが以下の行を追加したものとして動画の視聴をお願いします。
   動画内で喋っている解説自体は合っております。
   ----------
    if (nowState と stateTransition[j][1] が等しい)
     if (input[i] と stateTransition[j][3] が等しい)
      stateTransition[j][4] の値を出力する
      nowState ← stateTransition[j][2]
      繰り返しを抜ける        ←←← この行が不足しておりました
     endif
    endif
   ----------
  ・問題文の以下に漢字の誤りがありました。
   お手数ですが読み替えをお願いします。
    ・誤:関数doStateTransition は帯域変数stateTransitionに...
    ・正:関数doStateTransition は大域変数stateTransitionに...
━━━━━━━━━━━━━━━━
基本情報技術者試験科目B、アルゴリズムの対策動画です。
全14問の演習を通じて、アルゴリズムの基礎力を身につけましょう!
2023年4月からの新試験制度に向けて勉強は進んでいますでしょうか。
アルゴリズムは非常に難しいので進んでいない方も多いのではないでしょうか。
今回の動画では、アルゴリズムを基礎の基礎から徹底的に解説します。
この動画を足がかりにアルゴリズムの力を上げていきましょう。
━━━━━━━━━━━━━━━━
⭐️IT学校さいとうの公式LINE
登録するだけでプレゼントが受け取れる‼
今回のプレゼント内容
✅アルゴリズム基礎教材(今回動画で使用したもの)
 資料名:【初心者向け】基本情報技術者試験 科目B|アルゴリズムをゼロから理解する
⏬無料登録はこちら⏬
lin.ee/JY6s3WA
⚠️注意点
 PCでLINEをご覧の方は携帯からご覧いただくか、
 LINE登録後に教材が欲しい旨メッセージを送って下さい。
 LINEの仕様上携帯アプリからしか教材ダウンロードサイトが表示されません。
 メッセージを頂ければ教材ダウンロードサイトURLをご案内します。
━━━━━━━━━━━━━━━━
00:00:00 基本情報技術者試験 科目B|アルゴリズムをゼロから理解する
00:01:32 問1.変数(基本)
00:05:53 問1の解説
00:08:06 問2.変数(応用)
00:08:24 問2の解説
00:09:59 問3.条件分岐のif文(基本)
00:12:22 問3.の解説
00:13:23 問4.条件分岐のif文(応用)
00:13:44 問4の解説
00:17:26 問5.配列(基本)
00:20:30 問5.の解説
00:21:56 問6.配列(応用)
00:23:26 問6の解説
00:25:25 問7.関数呼び出し①
00:31:19 問7の解説
00:32:43 問8.関数呼び出し②
00:32:55 問8の解説
00:35:22 問9.繰り返しのfor文
00:39:28 問9の解説
00:41:11 問10.ビット値の操作
00:41:22 問10の解説
00:47:08 問11.繰り返しのwhile文
00:50:27 問11の解説
00:56:18 問12.繰り返しのdo-while文
00:57:56 問12の解説
00:59:07 問13.繰り返し文(応用)
00:59:25 問13の解説
01:05:13 問14.関数の再帰呼び出し
01:06:45 問14の解説
01:10:49 まとめ&プレゼント
━━━━━━━━━━━━━━━━
#LINE登録で教材プレゼント
#基本情報技術者試験 #FE #基本情報
#科目B #午後問題 #アルゴリズム

Пікірлер: 283
@itgakko
@itgakko 10 күн бұрын
⚠学習前にご確認ください! ・動画で投影している教材は、本動画の概要欄からさいとうの公式LINEに登録頂くと無料でダウンロードできます! ・誤りがあった場合に概要欄で訂正している場合があります。動画におかしな点があった場合、まずは概要欄のご確認をお願いします。
@itgakko
@itgakko Жыл бұрын
この動画で基礎力を付けたら応用問題にもチャレンジしてみてくださいね! 応用問題はコチラ↓↓ kzfaq.info/get/bejne/b8yFZaudpr64mYE.html
@AtomSaito
@AtomSaito Жыл бұрын
具体例を付け加えてるから、わかりやすいです。 抽象的なプログラムなので、具体例があると一気に理解しやすくなります! やっぱり初心者にとって具体例は一番大事だと思いました。 ありがとうございます、基本情報技術者の動画が少ない中、この動画に助かってます。
@itgakko
@itgakko Жыл бұрын
ありがとうございます! 勉強頑張ってくださいね!
@user-ni6qd3uj7f
@user-ni6qd3uj7f Жыл бұрын
このような動画が欲しかった!ありがとうございます!
@itgakko
@itgakko Жыл бұрын
ありがとうございます!!
@yokosumakimotee5315
@yokosumakimotee5315 Жыл бұрын
とても分かりやすくて助かっています。
@itgakko
@itgakko Жыл бұрын
嬉しいコメントありがとうございます!
@user-ez1xy1rt4m
@user-ez1xy1rt4m 9 ай бұрын
分かりやすい解説&オリジナル問題で助かりました!基本情報技術者まであと1ヶ月で、科目Bでかなり詰まっていましたので、いい演習になりました!
@itgakko
@itgakko 9 ай бұрын
コメントありがとうございます! 勉強頑張って下さい!
@user-sh2th9fv7x
@user-sh2th9fv7x Жыл бұрын
模擬問題全部解いちゃって困ってたけどオリジナル問題とかマジで助かります!! 本当に感謝しかないです!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! これからもオリジナル問題は追加予定なのでぜひ楽しみにしていてください!
@itgakko
@itgakko 10 ай бұрын
動画で投影している教材はさいとうの公式LINEに登録頂くと無料でダウンロードできます! 無料で教材が欲しい方は概要欄からLINEに登録してみて下さいね! 今回の動画の教材名:【初心者向け】基本情報技術者試験 科目B|アルゴリズムをゼロから理解する
@Baechantokyo
@Baechantokyo 11 ай бұрын
基礎アルゴリズム講義コースありがとうございました。!!また応用問題にも進んでいきます!😄
@itgakko
@itgakko 11 ай бұрын
コメントありがとうございます! 頑張ってください!
@akiper
@akiper Жыл бұрын
問13は自分で何回かトレースをしてみました。 解説を聞いてみて、半年前ならできなかったですが今は出来るように自信が出来ました。ありがとうございます。
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! トレース、大事ですね!
@lighttobrcaz1
@lighttobrcaz1 7 ай бұрын
動画ありがとうございます! とても、参考になりました! ありがとうございます!⭐👍️
@itgakko
@itgakko 7 ай бұрын
コメントありがとうございます!
@kou367
@kou367 5 ай бұрын
この人マジで助かる❤ありがとうございます🎉
@itgakko
@itgakko 5 ай бұрын
コメントありがとうございます!
@yuhuqu4887
@yuhuqu4887 Жыл бұрын
外国人の私でもわかりやすかったです、ありがとうございました!
@itgakko
@itgakko Жыл бұрын
嬉しいコメントありがとうございます! 基本情報技術者試験の勉強頑張って下さい!
@Baechantokyo
@Baechantokyo 11 ай бұрын
こんにちは!一昨日B試験落ちましたので心を改めてアルゴリズムを勉強しようと思いました。検索で偶然この動画をみつけましたが、説明の前に自分で考える時間があるのが非常に良いと思います。今日は00:35:40までやりました。明日また早く勉強したと思いました。良い学習動画ありがとうございます。
@itgakko
@itgakko 11 ай бұрын
こんにちは! 勉強頑張ってください!
@tatsuyanagao486
@tatsuyanagao486 8 ай бұрын
おかげさまで本日合格できました。未経験から勉強し一度は落ちましたが諦めずに続けてよかったです。この動画をきっかけに理解が深まりました!
@itgakko
@itgakko 8 ай бұрын
合格おめでとうございます!!
@keganin
@keganin Жыл бұрын
アルゴリズムこの動画のおかげで意外とすんなりできた!
@itgakko
@itgakko Жыл бұрын
ありがとうございます!
@user-ic3ug1pu3d
@user-ic3ug1pu3d Жыл бұрын
わかりやすいです、ありがとうございます!
@itgakko
@itgakko Жыл бұрын
ありがとうございます!!
@anonymouse64
@anonymouse64 Жыл бұрын
10月に基本情報技術者試験を受けます。 大変参考になる動画ありがとうございます!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! 勉強頑張ってください!
@user-ut5jw4gk2h
@user-ut5jw4gk2h Жыл бұрын
科目Bの動画を色々探しましたがこの動画が一番わかりやすかったです 特にアウトプット→インプットなので考えながらインプットできる所が頭にスッと入ってきました 明日、早速受けてきます 正直科目Bの勉強を詰め込みでやったので心配しか無いですが頑張ります!
@itgakko
@itgakko Жыл бұрын
ありがとうございます! 試験頑張ってください!
@user-ut5jw4gk2h
@user-ut5jw4gk2h Жыл бұрын
受けて来ました!A 615 B540で撃沈です💦 特に関数と再帰が苦手でした💦基本中の基本なのでまた動画を見ながら3週間勉強して挑みます とても悔しい!!!!!
@itgakko
@itgakko Жыл бұрын
受験お疲れ様でした! 3週間後ですか、また頑張ってください!
@user-mn5bl1gs3c
@user-mn5bl1gs3c Жыл бұрын
いつも分かりやすく、大変助かっております! 7月に受けるのですが、科目Aの基本理論以外も出していただけると大変助かります、、!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! 7月受験、頑張ってください! ただ申し訳ないのですが、 科目Aの対策動画は7月の受験には間に合わないと思います。
@commtv1320
@commtv1320 Жыл бұрын
大変助かります。ありがとうございます。
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! 勉強頑張って下さい!
@KK-xm1fw
@KK-xm1fw 9 ай бұрын
今日初めて基本情報技術者試験を受けてAB共にめっちゃギリギリですがでなんとか合格点に達せました!科目bの勉強はこの動画にお世話になりました!ありがとうございます!
@itgakko
@itgakko 9 ай бұрын
コメントありがとうございます!試験お疲れ様でした!
@user-lw5mu8ns3h
@user-lw5mu8ns3h 11 ай бұрын
素晴らしい動画ありがとうございます。とても分かりやすいです。誤りもありますが(問題作りは大変なので致し方ないと思います)、オリジナル問題は非常にありがたいので今後もあたらしい問題作りを期待します。8/14に受検して参ります。頑張ります!
@itgakko
@itgakko 11 ай бұрын
コメントありがとうございます! 試験頑張ってください!
@user-sk9yw5up7d
@user-sk9yw5up7d Жыл бұрын
基本情報技術者試験合格しました! さいとうさんの動画がすごく参考になり、安心して受験できました♪ ありがとうございます☺️
@itgakko
@itgakko Жыл бұрын
合格おめでとうございます! わざわざご報告ありがとうございます!
@user-sk9yw5up7d
@user-sk9yw5up7d Жыл бұрын
@@itgakko 現在、応用情報技術者試験の勉強をしているのですが、どのような勉強法が良いのか、もし良ければ応用情報技術者試験の動画もぜひお願いしたいです。
@itgakko
@itgakko Жыл бұрын
応用情報いいですね!動画化検討しますね!
@user-sk9yw5up7d
@user-sk9yw5up7d Жыл бұрын
@@itgakko ありがとうございます! 動画お待ちしてます☺️
@kck999
@kck999 Жыл бұрын
これオリジナル問題集ですか? このボリュームの問題よく作られましたね...すごい。4月5日に改定後の試験を受ける予定なので、サンプル問題が少ない中非常に助かります!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! オリジナルの問題集ですね、試験頑張ってください!
@kuriyamasaikou
@kuriyamasaikou 10 ай бұрын
とても分かりやすく参考にさせていただいてます。 明日試験なので合格できるよう頑張ってきます!
@itgakko
@itgakko 10 ай бұрын
コメントありがとうございます! 試験頑張って下さい!
@kuriyamasaikou
@kuriyamasaikou 10 ай бұрын
@@itgakko 合格できました。配信動画は全て使わせてもらいました(*'ω'*)有益な動画ありがとうございました!
@itgakko
@itgakko 10 ай бұрын
合格おめでとうございます!!
@hoge_tarou
@hoge_tarou 6 ай бұрын
プログラミング初心者なこともあり、科目Bは 『教科書に書いてあることが、何をいっているのかさっぱり分からない…(特にオブジェクト指向)』 状態に陥っていましたが、こちらの動画シリーズのおかげで、科目B克服&合格できました! 本当にありがとうございます!
@itgakko
@itgakko 6 ай бұрын
合格おめでとうございます! 素晴らしいですね!
@kentsuji5670
@kentsuji5670 4 ай бұрын
対策本1冊は購入して科目Aはある程度勉強したのですが、1週間ほど前に科目Bに取り掛かってみて愕然。 科目Aの勉強だけではまったくと言っていいほど対応できませんでした。 この動画及びチャンネルの他動画を見て問題文の「日本語になおす」コツがつかめ、なんとか合格することができました。 ありがとうございました!
@itgakko
@itgakko 4 ай бұрын
合格おめでとうございます!
@user-rg4gv3db1v
@user-rg4gv3db1v 10 ай бұрын
本日試験でした。サイトウさんのおかげで手も足も出なかった、アルゴリズム擬似言語の問題を理解することができ、無事合格できました。それもこれも、この動画のおかげです。初心者向けのこの動画がレベルアップにつながりました。本当に感謝しています^_^
@itgakko
@itgakko 10 ай бұрын
合格おめでとうございます!!
@taikodaisukikurabu
@taikodaisukikurabu 10 ай бұрын
問13のみ、訂正前の状態で解いたので「010」と続いて答えが合致しないと思いましたが、コメント欄や概要欄を見て再度解き直して「0110」になることが確認できました。 訂正後にはなりますが、全問正解することができました。 解説も分かりやすくて助かっています。
@itgakko
@itgakko 10 ай бұрын
コメントありがとうございます!
@user-lb6ec3xk8y
@user-lb6ec3xk8y Жыл бұрын
わかりやすい解説ありがとうございます! 問5の配列基本問題ですが、data[3]はプログラミング言語的には6なのではと思いました! 配布されているサンプル問題では問題文の前提条件として、 配列は1から始まるの記載があるのでそちらでしたら答えは5なのかなとおもいます
@itgakko
@itgakko Жыл бұрын
すみません。 IPAが公開しているサンプル問題に合わせて配列のインデックスは1から始まるようにしています。 前提として書いておくべきでしたね。 最近は多くのプログラミング言語が0始まりなので基本情報技術者試験の擬似言語も0からにすればよいのに、と個人的には思っています! COBOLとかは1始まりだった気がするんですけどさすがに今時じゃないので...
@zenon1424
@zenon1424 Жыл бұрын
アルゴリズムが難しく理解に苦しみました。何回も動画見返してみますが何かコツがありましたら教えてほしいです。
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 具体的にはどのあたりで苦しみましたか? どんな苦しみ方をしたかによって例えば以下のように対応は異なります。  ・時間はかかるがなんとか理解できる   → たくさん問題を解いてアルゴリズムの問題に慣れる  ・とにかく全くわからない   → アルゴリズムで利用される記号などを覚えるところから     始める必要があるかもしれません。 アルゴリズムの問題が解けるようになるには、 コツというよりは1つ1つ理解を積み上げていく他ありません。 自分の現状に合った学習を積み重ねていけるといいですね。
@oooden
@oooden Жыл бұрын
科目Bのセキュリティもこのような動画が見たいです!!!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! セキュリティですね、動画化検討してみます。
@dai370
@dai370 Жыл бұрын
とてもためになります!初学者なのですが、問9について質問があります。 average←sum÷dataなのでaverageが実数型でないといけないのは分かるのですが、 getAverageも実数型にならなければいけないのでしょうか?
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 27:15 から説明している関数の定義方法をご確認いただけると分かりやすいと思います。 呼び出し元に返す値の型も実数型にしておかないと、 せっかく関数内で平均値を計算しても 呼び出し元に間違った値が返されてしまう可能性があります。 関数から呼び出し元のプログラムへ返される値が 実数型なのであれば、関数名の左の型定義部分も 実数型にしておく必要があります。 以上、ご不明点あればご連絡頂ければと思います。
@user-lu1ry3po5i
@user-lu1ry3po5i Жыл бұрын
自分の頭ではついていけない所がありました😂 ポインターなどで説明している所を示してもらえると更に楽に理解ができる気がします。  大変分かりやすく解説された動画でしたのでまた違う動画も拝見したいと思います😊
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! 改善していきますね!
@yuto-mb8ll
@yuto-mb8ll Жыл бұрын
問13にて、i=2、j=3の時についてですが、この時nowstateは2かと思います。 この場合、statetransition[3][1]は2なので、一つ目のif文はtrue input[2]は1、statetransition[3][3]は1なので、二つ目のif文もtrueになり、 statetransition[3][4]の値0を出力するのかと思ったのですが違いますでしょうか。
@itgakko
@itgakko Жыл бұрын
ご質問ありがとうございます。 ご指摘の通り、j=1の時に値を変えた結果、 i=2、j=3の時もif文が通ってしまいますね。 if文内のブロックに、for文内のブロックを抜ける旨の記載が必要ですので、 概要欄にも訂正の旨記載させて頂きます。 修正後のプログラムですが以下のようになるイメージです。 ----------      if (input[i] と stateTransition[j][3] が等しい)       stateTransition[j][4] の値を出力する       nowState ← stateTransition[j][2]       繰り返しを抜ける      endif ---------- 以上、よろしくお願いいたします。
@sk-mq2no
@sk-mq2no Жыл бұрын
動画ありがとうございます。 凄くわかりやすくて助かります。 質問ですが、問13で、for文でjを要素数まで1ずつ増やす処理の目的がわかりません。 Inputの要素数の繰り返し処理だけでは、駄目なのでしょうか? 宜しくお願い致します。
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 問13のプログラムの 2つ目の for文 がなぜ必要かということですが、 結論から言うと必要で、1つ目の for文(配列inputの要素数分の繰り返し処理)だけでは実現が難しいです。 2つ目の for文で行っている処理は以下の通りです。 ---------- ①   if (nowState と stateTransition[j][1] が等しい) ②    if (input[i] と stateTransition[j][3] が等しい) ③     stateTransition[j][4] の値を出力する ④     nowState ← stateTransition[j][2]      endif     endif ---------- ①〜④の行でやっている内容を日本語に直すとそれぞれ以下の通りになります。  ① 現在いる状態と、状態遷移図を表す配列stateTransitionのうち、   「矢印の始点」と一致するものを探す。  ② 入力(input[i])と、状態遷移図を表す配列stateTransitionのうち、   「入力」と一致するものを探す。  ③ ①②が両方一致する配列stateTransitionの要素から、   「出力」の値を出力する  ④ ①②が両方一致する配列stateTransitionの要素から、   「矢印の終点」の値を「現在いる状態」に設定する 特に①②の部分は「配列の中の全要素から合致するものを探す」 と言う処理なので、繰り返し処理を用いて配列の値を1つ1つ参照し、 if文で値が合致するかをチェックする、と言う処理が必要になります。 一応 整数型配列の配列stateTransition の値が常に同じ前提なら、 プログラムの 2つ目の for文 を使用しなくても同様の処理を 実現できることはできますが、行数が無駄に増えてしまいますし、 そうだったとしても for文 があった方がベターです。 以上となります。ご不明点あればご連絡頂ければと思います。
@nukonuko2217
@nukonuko2217 Жыл бұрын
6月と7月(こっちは落ちたら)に受験します 科目B解説やってる動画はほとんどないので重宝しています
@itgakko
@itgakko Жыл бұрын
ありがとうございます! 勉強頑張ってください!
@user-ko6ze2dx8h
@user-ko6ze2dx8h 4 ай бұрын
この動画でアルゴリズムの基礎を理解でき、その後の過去問や模擬問題演習をスムーズに進めることができました。初回で科目B730点で合格出来ました。当日は、アルゴリズムの基本問題は自信をもって回答でき、応用問題は2-3問ほど分からなかったですが、アルゴリズムの基本問題とセキュリティを落とさなかったので、合格できたと思います。ありがとうございます!
@itgakko
@itgakko 4 ай бұрын
まずは合格おめでとうございます! 余裕を持ったスコアでの合格素晴らしいですね! Thanksありがとうございます! より良いKZfaqチャンネル運営に使わせていただきます。
@user-ko6ze2dx8h
@user-ko6ze2dx8h 4 ай бұрын
@@itgakko お返事ありがとうございます!受験を考えている友人にも動画を紹介いたします。
@itgakko
@itgakko 4 ай бұрын
@user-ko6ze2dx8h ありがとうございます!
@user-ul5jf9bw5n
@user-ul5jf9bw5n Жыл бұрын
問10番の処理に関して質問です。 日本語的な質問になってしまうのですが、、 for(iを1から8まで1ずつ増やす) 上記は、8を含む表現でしょうか? 繰り返し処理を7回まで実施し、iが8になるからループから抜けるのでしょうか?(i
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 こちらは8を含む表現です。 1,2,3,4,5,6,7,8 の合計8回の繰り返し処理になります。
@berryjin9113
@berryjin9113 Жыл бұрын
さいとうさん、こんばんは。 今日基本情報技術者試験を受験しました。 午後試験がさいとうさんの動画のおかげで、点数が合格線を軽く超えました! 動画がわかりやすいです。 試験時、半分ぐらいの内容を間に合わなくても、安全線にたどりました。超luckyでした。😂 ありがとうございました! 超超超超超超感謝します!!!!
@itgakko
@itgakko Жыл бұрын
合格おめでとうございます! わざわざ報告いただいて嬉しいです!ありがとうございます!
@louiskentakikuchi6991
@louiskentakikuchi6991 4 ай бұрын
今日試験科目B受験しました!(科目Aは免除)結果は615点だったのでなんとか合格できました!さいとうさんには解説動画や質問対応など、本当にお世話になりました!ありがとうございました!
@itgakko
@itgakko 4 ай бұрын
合格おめでとうございます!
@user-mg9lu7xl9n
@user-mg9lu7xl9n Жыл бұрын
問10について質問させてください else文はbyte Λ 10000000が「10000000」という結果以外のときに実行する式だと思うのですが、 resultByte ← resultByte ∨ (resultByte ∨ 00000001 )はどういうことを表しているのでしょうか? resultByte ← resultByte ∨ 00000001との違いがわからないので、教えてほしいです。
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます。 すみません、質問いただいた通り違いはないです。 意図としては問題文を resultByte ←【a】というように、 右辺丸ごと空欄にしようとしていたのですが誤ってました。 混乱させてしまってすみません。
@nhanpham3262
@nhanpham3262 Жыл бұрын
いつ動画で勉強させていただき、ありがとうございます。 今後、初心者むけオブジェクトの動画を作成する予定がありますか?
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます! 頂いたのは「オブジェクト指向」の講座のことでしょうか? 構想としてはありますが、現時点で具体的な予定はありません。
@user-sq8qo8uf5w
@user-sq8qo8uf5w Жыл бұрын
解説動画を作成してくださり、ありがとうございます。 問11 について質問なのですが、 プログラムから最小値を求めている動きが想像できません…。 2行目で minNum←compareDate[1] となっておりますが、 6行目でも minNum←compareDate[i] としていることから、 i=2 の場合、最小値ではない3を minNum へ上書きしてしまうのではないのでしょうか? 考え直し方やアドバイスをご教示いただけますと幸いです。
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。回答しますね。 おそらくご質問頂いているであろう、 while文の繰り返し1回目の際のプログラムの動きについて以下に書きます。 プログラムに対する補足を「//斜体 」で書きますね。 ---------- minNum ← compareData[1] _//compareData={4,3,1,5}なので、minNumには4が格納される_ delTarget ← 1 for ( i を 1から compareDataの要素数まで 1ずつ増やす) _//4回の繰り返し処理_ if (compareData[i] が minNum より小さい) _//このif文が真となるのはi=2,i=3のケースのため、for文が終了した時、minNum=1,delTarget=3となる_ minNum ← compareData[i] delTarget ← i endif endfor sortedData ← addElement(sortedData, minNum) _//sortedDataに1を追加_ compareData ← delElement(compareData,delTarget) _//compareDataから要素の3番目を削除_ ---------- 記載いただいている通り、 i=2の時、最小値ではない 3 で minNum が上書きされますが、 その後i=3の時、最小値である 1 で minNum が上書きされるので、 for文による繰り返し処理が全て完了した時には、 最小値である 1 が minNum に格納されるようになっています。 上記のような処理をしていることから、 動画内ではこの部分を「ソート前配列から最小値を探す」 というように説明させて頂いております。 以上、ご不明点あればご連絡頂ければと思います。
@user-gf7hq6qo6d
@user-gf7hq6qo6d Жыл бұрын
@@itgakko for文による繰り返しがあることで3ではなく、1が最終的に上書きされるのですね! 全く同じところで苦戦していたのでとてもスッキリしました!
@itgakko
@itgakko Жыл бұрын
@user-gf7hq6qo6d よかったです!!
@user-og5gq8xc2k
@user-og5gq8xc2k 9 ай бұрын
31:53 ①が関数を呼び出して②がその関数を定義している 問10もう一回 問13解けたけどもう一回解説理解する 問14 プログラム中のreturnとnumはくっついてない
@user-ju7nw9sm9x
@user-ju7nw9sm9x 6 ай бұрын
お疲れ様です。問13について質問があります。 for(jを1からstatetransitionの要素数まで1ずつ増やす) IF(nowstateとstateTransition(j)(1)が等しい とあった際に、対象となる要素は、(j=1)(1)の値である1だけではなく(J=2)(1)の要素まで見るのかがわかりませんでした。 もしよろしければ理由を教えていただけないでしょうか?
@itgakko
@itgakko 6 ай бұрын
質問ありがとうございます! まず、質問内容について確認させて下さい。 ----- 1. for ( i を 1 から 3 まで 1ずつ増やす ) 2.  for ( j を 1 から 2 まで 1ずつ増やす) 3.   i + j の値を出力する 4.  endfor 5. endfor ----- 頂いた内容は、上記のようにfor文が二重構造になっていた場合、 その中の処理順は以下のようになる理由ということでしょうか? ・i=1の時/j=1の時:1+1 = 2 を出力 ・i=1の時/j=2の時:1+2 = 3 を出力 ・i=2の時/j=1の時:2+1 = 3 を出力 ・i=2の時/j=2の時:2+2 = 4 を出力 ・i=3の時/j=1の時:3+1 = 4 を出力 ・i=3の時/j=2の時:3+2 = 5 を出力 そうであれば以下にその理由を回答します。 1行目にfor文があり、その中に2行目のfor文が存在します。 まず1行目のfor文が先に実行されます。 1行目のfor文はi=1〜3の3回の繰り返し処理です。 その繰り返し1、2、3回目それぞれで2行目のfor文が実行されます。 2行目のfor文はj=1〜2の2回の繰り返し処理です。 その繰り返し1、2回目それぞれで3行目の「i + j の値を出力する」が実行されます。 これをまとめると以下のイメージです。 ・1行目のfor文の1回目(i=1)が実行される。   └2行目のfor文の1回目(j=1)が実行される。     └「i + j の値を出力する」が実行される。   └2行目のfor文の2回目(j=2)が実行される。     └「i + j の値を出力する」が実行される。 ・1行目のfor文の3回目(i=2)が実行される。   └2行目のfor文の1回目(j=1)が実行される。     └「i + j の値を出力する」が実行される。   └2行目のfor文の2回目(j=2)が実行される。     └「i + j の値を出力する」が実行される。 ・1行目のfor文の3回目(i=3)が実行される。   └2行目のfor文の1回目(j=1)が実行される。     └「i + j の値を出力する」が実行される。   └2行目のfor文の2回目(j=2)が実行される。     └「i + j の値を出力する」が実行される。 for文が二重構造になっている場合は上記のような処理順になります。 問い合わせ内容が異なる場合、 もう少し詳細に教えていただけると幸いです。
@kt3221
@kt3221 Жыл бұрын
問5の(3,{3,4,5,6,})のカッコの意味を教えてください。{ }のデータを一個の変数だと思ってしまいました。このような記号が使われている場合、どのように変数のハコに格納されるのでしょうか?
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 {3,4,5,6} は「整数型の配列」です。 これが 関数printArrayData に渡され、data という変数名で受け取っているので、 data という配列の名前に 番号を [ ] でつけてあげることで配列の各要素をプログラム内で使用できます。具体的には以下のようになります。  data[1] = 3  data[2] = 4  data[3] = 5  data[4] = 6 ご不明点あればご連絡頂ければと思います。
@foolim1
@foolim1 Жыл бұрын
初心者向けとありましたが応用問題は結構難しかったですw状態遷移図のやつチンプンカンプンです
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! そうですね、状態遷移図の問題は少し難しめに設定しています! ご不明点ありましたら質問頂ければと思います。
@dehtjfhsheufhdy
@dehtjfhsheufhdy 9 ай бұрын
初学者向けの問題ということで他の科目Bの解説動画と比べたらあまり難しくないと思いますが、仮にこの動画の問題が全て正解だったら本番でどのくらいの点数が取れる見込みがありますか?
@itgakko
@itgakko 9 ай бұрын
質問ありがとうございます! ただ、あまり聞いても意味がない内容かと思います。 私個人の感覚としては、全ての問題が素早く解けたとして、400点以上くらいというイメージです。 後注意ですが、この動画には科目Bのセキュリティは含まれておりません。
@user-fansu
@user-fansu Жыл бұрын
54:06 右の4,5行目のif文について。 「minNumがソート前配列の要素より小さい場合」ってなってますが、「ソート前配列の要素がminNumより小さい場合」minNumをソート前配列で上書きするのではないでしょうか。 日本語がややこしくてすみません
@itgakko
@itgakko Жыл бұрын
大変失礼しました。 コメント頂いた内容が正しいです。 お手数ですがお手数ですがご理解頂いている内容で 読み進めていただけますでしょうか。
@user-ie7gb2tb7d
@user-ie7gb2tb7d Жыл бұрын
文系、非IT、プログラミング未経験者でしたが昨日無事合格できました😂 科目A、Bともに貴重な動画をありがとうございました!!
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます! 素晴らしいですね!合格おめでとうございます!
@kaguya_0101
@kaguya_0101 7 ай бұрын
いつも勉強させていただいております。問13のfor文についてですが この場合i=1;j=1の次はi=2;j=2。 またその次はi=3;j=3と順に同じ数だけ増えていくのでしょうか?
@itgakko
@itgakko 7 ай бұрын
質問ありがとうございます! 問13のfor文の実行順に関するご質問とお見受けします。 for文の実行順は以下の通りになります。  ・i = 1, j = 1  ・i = 1, j = 2  ・i = 1, j = 3  ・i = 1, j = 4  ・i = 1, j = 5  ・i = 1, j = 6  ・i = 2, j = 1  ・i = 2, j = 2    ・    ・    ・  (以下省略) 以上、ご不明点ございましたらご連絡いただければと思います。
@kaguya_0101
@kaguya_0101 7 ай бұрын
​@@itgakko 様 お返事ありがとうございます😊 for文の実行手順がよく分かりました。 ここでまた1つ疑問が生じたので質問させていただきたいです。 問13についてこちらの動画の概要欄を確認したところ nowState ← stateTransition[j][2]       繰り返しを抜ける      ←←← この行が不足しておりました この文言に疑問が生じました。 コメント欄でみなさん指摘されていますがi=2;j=3;のときif文を通過し 「出力する」という処理が実行されるはずですが この「繰り返しを抜ける」という処理が追加されることで i=2;j=2で「1」を出力したあとはi=2;j=3を判定するのではなく i=2の繰り返しを抜けi=3から判定を続けるという理解でよろしいでしょうか?
@itgakko
@itgakko 7 ай бұрын
追加のご質問について、ご認識いただいている通りの動きです! おそらく合っていると思いますが、念の為以下補足させて頂きます。 正確に言うと「繰り返しを抜ける」が実行されることで、 以下の j から始まる for文がその時点で終了します。 ----- for ( j を 1 から stateTransitionの要素数 まで 1ずつ増やす) ----- 上記for文が終了すると、その後すぐに i から始まるfor文の方もi=2の時の処理が終了するので、 プログラムの動きとしては「繰り返しを抜ける」が実行された直後 i=3から判定が続いていきます。 以上、ご不明点ございましたらご連絡いただければと思います。
@march9529
@march9529 Жыл бұрын
科目Bの予想問題では時々長文の問題(循環小数や2進数の加算のプログラム)が出てくるのですが、そのような時にはどのようにして解くのが良いのでしょうか?
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 解答方針はこの動画で解説しているものと変える必要はないと思います。  ・プログラムの穴埋め形式の問題であれば文章とプログラムをリンクさせる、  ・プログラムの実行結果を問う問題では1行1行トレースする。 記載頂いている2進数や循環小数の問題であれば、 プログラムを全て見なくても2進数や循環小数の知識だけで答えが出るケースもありますが、 他の問題を解く際の再現性に欠けるので、 こんなケースで解けたらラッキーくらいに思うのがお勧めです。 問題を解く上で個別にわからない箇所があるようであれば記載頂ければ アドバイスはできると思います。
@march9529
@march9529 Жыл бұрын
ご回答ありがとうございます! 色々な種類の問題を解いて慣れていこうかなと思います。
@ST...6735B
@ST...6735B 9 ай бұрын
質問なのですが問13でState Trantision[j][4]出力した後はfor文で次はjを2にして繰り返すのではなくiを2にするんですか?
@itgakko
@itgakko 9 ай бұрын
質問ありがとうございます! すみません、お手数ですが問13については動画投稿後に概要欄にて訂正を入れさせて頂いております。 以下に概要欄で訂正させて頂いている内容を以下にも記載しておきますので、ご確認の程よろしくお願いします。ご覧いただければ解決すると思います。 -----  ■対象:問13.繰り返し文(応用)   ・プログラムに以下1行が不足しておりました。    お手数ですが以下の行を追加したものとして動画の視聴をお願いします。    動画内で喋っている解説自体は合っております。    ----------     if (nowState と stateTransition[j][1] が等しい)      if (input[i] と stateTransition[j][3] が等しい)       stateTransition[j][4] の値を出力する       nowState ← stateTransition[j][2]       繰り返しを抜ける        ←←← この行が不足しておりました      endif     endif    ---------- -----
@user-hx9rd5bw9x
@user-hx9rd5bw9x 7 ай бұрын
問10について 解説で①の作業をbyte=01010101∧1000000 と置いていますが、 この01010101はどこから出てきた数字でしょうか
@itgakko
@itgakko 7 ай бұрын
質問ありがとうございます! 01010101は一例です。
@user-zp1xx7yc5d
@user-zp1xx7yc5d 8 ай бұрын
参考書だけじゃ足りなくて試験1日前にこの動画で勉強したらギリギリ合格できました!ありがとうございます( ; ; )
@itgakko
@itgakko 8 ай бұрын
合格おめでとうございます!!
@SS.K
@SS.K 9 ай бұрын
問6は要素数と要素番号がごっちゃになって混乱しますね。わかりやすい解説が楽しいです。
@itgakko
@itgakko 9 ай бұрын
コメントありがとうございます!
@user-qg6rt3be3w
@user-qg6rt3be3w 2 ай бұрын
00:47:08 問11.繰り返しのwhile文 配列 4,3,1,5 の場合 if文( ソート前配列の要素 が minNum より小さい場合 ) ではソート後の一番目が 3 ではないのですか?
@itgakko
@itgakko 2 ай бұрын
質問ありがとうございます! 関数selectSortを引数={4,3,1,5}として呼び出すと、 最終的に関数が返す配列は記載してある通り{1,3,4,5} になります。 もう少し詳細に「ソート後の1番目が 3 になる」と思われる部分をご記載いただければ、 疑問点にお答えできると思いますので、 よろしければ具体的な処理順やトレース結果などの詳細をご記載ください。
@user-fb7ci3qz7g
@user-fb7ci3qz7g Жыл бұрын
なるほど。「2の倍数かつ4の倍数ではない」は「2の倍数かつ4の倍数である」
@user-th4ge1us6w
@user-th4ge1us6w 7 ай бұрын
問10のビット値の操作は、反転操作の処理手順を覚えた方が良いですか?
@user-th4ge1us6w
@user-th4ge1us6w 7 ай бұрын
トレースで対応しても厳しいように感じました。
@itgakko
@itgakko 7 ай бұрын
質問ありがとうございます! 処理手順を覚えるのはお勧めできません。 理由は「ビット反転の操作」のプログラム1つをとっても、実現方法は1つではなく、覚えた形のまま出るとは限らないためです。 おっしゃられている「トレースしても厳しい」とは具体的にどのような状態でしょうか? 具体例を作って、選択肢1つ1つトレースしていけば時間はかかるかもしれませんが多くの問題が解けると思います。 最初は時間がかかるかもしれませんが、様々な問題で練習を積めばトレースも早くなり、プログラム穴埋めの勘所もついてきます。
@user-qy9er1cd6c
@user-qy9er1cd6c 8 ай бұрын
問8で質問です。 関数calc=関数calccombinationということですか? 関数calcが組み合わせの数xCyを返すから、return【a】のaにxCyの式を入れているのでしょうか。
@itgakko
@itgakko 8 ай бұрын
質問ありがとうございます!それぞれ回答しますね。 > 関数calc=関数calccombinationということですか? → そうです。誤植失礼しました。 関数calcが組み合わせの数xCyを返すから、return【a】のaにxCyの式を入れているのでしょうか。 → そうです。
@user-qy9er1cd6c
@user-qy9er1cd6c 8 ай бұрын
ありがとうございます!勉強頑張ります💪
@itgakko
@itgakko 8 ай бұрын
頑張って下さい!
@techlearner-wp3rv
@techlearner-wp3rv Жыл бұрын
1:10:29 問14でreturnが4回出てきますけど、4つのreturnを足したものではなくて最後に出てきたreturnが答えなんですね
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます!そうですね! 関数getSum(3) と呼び出した場合、getSum(3) の戻り値としては 6 が返されます。 途中で呼び出されることになる getSum(2)、getSum(1)、getSum(0) についてはそれぞれ あくまでその呼び出し元である getSum(3)、getSum(2)、getSum(1) の中で戻り値が 使われているだけなので、return文 が複数回出てきているからといって、 その結果を足したりはしないです。
@western13able
@western13able 10 ай бұрын
度々質問がございます 問5配列(基本)の箇所です 整数型iが3となっていますが何故でしょうか? i番目なのでどこも指定されていないと思います
@itgakko
@itgakko 10 ай бұрын
質問ありがとうございます! 整数型の変数i の具体的な値は問題文中の以下記載で指定されています。 ----- 関数printArrayData を printArrayData(3,{3,4,5,6})として呼び出すと ... ----- 上記の記載により、関数printArrayData 内で使用する変数i, data の値はそれぞれ以下になります。  ・i = 3  ・data = {3,4,5,6} 以上、ご不明点ございましたらご連絡頂ければと思います。
@western13able
@western13able 10 ай бұрын
@@itgakko ありがとうございます!
@itgakko
@itgakko 10 ай бұрын
勉強頑張ってください!
@user-jp8jk6um1t
@user-jp8jk6um1t 10 ай бұрын
問14最後のreturnでなぜgetsumの値だけが戻り値となるのですか?
@itgakko
@itgakko 10 ай бұрын
質問ありがとうございます! すみません、もう少し具体的に不明点を教えて頂けますでしょうか? 問14は関数getSumだけで4回呼び出されていることもあり、ご質問頂いている内容が理解できませんでした。 可能であれば、逆にどうあるべきだと思うかもあわせて教えていただけると助かります。 関数getSumの値以外に戻り値となる可能性のあるものということです。 以上、お手数ですがよろしくお願いします。
@HS-ij2no
@HS-ij2no 3 ай бұрын
43:14で、byteの01010101と10000000の論理積を見ていると思いますがbyteが01010101であるのはなぜですか?単純に例を挙げただけです?すみません、混乱しています🥲
@itgakko
@itgakko 3 ай бұрын
そうですね! あくまで1例ということです!
@western13able
@western13able 10 ай бұрын
質問があります 24:25で整数型iが2,整数型jが1と解説されていますがなぜですか?
@itgakko
@itgakko 10 ай бұрын
質問ありがとうございます! 問題文中で i=2、j=1 として関数が呼び出されているからです。 ----- 関数printDualArrayData を printDualArrayData(2, 1, {{3,2}, {3,4}, {1,7}, {5,5}}) として呼び出すと... ----- 問題文中にこのように関数をどのような引数で呼び出すかが記載されています。 この関数の引数の1つ目が i 、2つ目が j に該当しますので、i=2、j=1 になります。
@western13able
@western13able 10 ай бұрын
@@itgakko ありがとうございます!再度確認します!
@itgakko
@itgakko 10 ай бұрын
またご不明点あればご質問ください!
@Lizm0414
@Lizm0414 8 ай бұрын
先生!問題の解答に関する質問とは違いますが質問があります! 問11なんですが、このプログラムを最後までトレースしてみましたが結果が出るまでのプロセスに自信がありません。 上から1行ずつトレースしていって、minNumが4→3→1と変わっていきcompareData[4]=5になったとき、minNum=1でif文が不成立でそのままfor文終了で下の関数(add/delElement)に入りますよね?(すでにちょっと自信ない😒) Elementの関数を回して、1→3→4と数字をsortedに送っていき、compareから消して行きます。 まだcompare内に5(要素番号1)が1つ残ってるのでwhile文の『compareDataの要素数が0より多い』が真なので、また1行目から当て嵌めていくとminNum=5、delTarget=1。for文はすでにi=4まで回してるで飛ばして、下のadd/delElementの関数へ。そこで最後の5がsortedの末尾に行って、compareからラスト1つ1番目の5が削除される。 こんな流れになると思うんですが、これ…ちゃんとトレースできてますでしょうか?😅 なーんか、結果だけたまたま合ってるだけでプロセスが違うんじゃないかと自信がないんです💦
@itgakko
@itgakko 8 ай бұрын
質問ありがとうございます!1つ1つ回答しますね。 > 上から1行ずつトレースしていって、minNumが4→3→1と変わっていきcompareData[4]=5になったとき、minNum=1でif文が不成立でそのままfor文終了で下の関数(add/delElement)に入りますよね?(すでにちょっと自信ない😒)  → これは合ってます。 > Elementの関数を回して、1→3→4と数字をsortedに送っていき、compareから消して行きます。  → おそらく合っていると思うのですが「Elementの関数を回して」はどういう意味でしょうか?    合っているかどうかはここの意味次第です。 > まだcompare内に5(要素番号1)が1つ残ってるのでwhile文の『compareDataの要素数が0より多い』が真なので、また1行目から当て嵌めていくとminNum=5、delTarget=1。for文はすでにi=4まで回してるで飛ばして、下のadd/delElementの関数へ。そこで最後の5がsortedの末尾に行って、compareからラスト1つ1番目の5が削除される。  → 一部違います。関数の処理が進んで compareDate = {5} になった時の while文内の処理を順に説明しますね。 ----- minNum ← compareData[1] _// minNumに5が格納される_ delTarget ← 1 _// delTargetに1が格納される_ for ( i を 1から compareDataの要素数まで 1ずつ増やす) _// compareDataの要素数=1なので、中の処理を1回だけ行う_  if (compareData[i] が minNum より小さい) _// compareDate=5,minNum=5なのでif文の中は実行されない_   minNum ← compareData[i]   delTarget ← i  endif endfor sortedData ← addElement(sortedData, minNum) _// sortedDataに5を追加し、sortedData={1,3,4,5}になる。_ compareData ← delElement(compareData,delTarget) _// compareDataから5を削除し、compareData={}になる_ _// この時点でcompareDataの要素数が0になるため、while文による繰り返し処理を終了する。_ ----- 以上、ご不明点ございましたらご連絡いただければと思います。
@Lizm0414
@Lizm0414 8 ай бұрын
うわぁー😲ありがとうございます✨✨✨ 『関数を回す』という謎オリジナルな言い回しで混乱させてしまいすいませんでした。 i=4のときcompareData4番(=5)とdelTarget=1でfor文が偽で下の段の関数に行きますよね😊 そのときi=1〜3までのminNumとdelTargetの数値を、i=3の結果から遡りながらadd/delElementに入れていけば良いのかなと解釈していますが、いかがでしょうか?👀 5が1つだけになってからも再度for文に行ってるんですね! 何かもうi=4まで行って手詰まりになって、プログラム最初からになったんでfor文は使えないのかと思ってました。(考えてみたらそんなルールはない😂) 結果的に条件が偽になるからあってないような感じになってますが、これを知ってるのと知らないのとでは、理解に大きな差が出ますね😮 とても丁寧な解説をして頂いて助かります✨ いつもありがとうございます😇
@itgakko
@itgakko 8 ай бұрын
補足ありがとうございます! > i=4のときcompareData4番(=5)とdelTarget=1でfor文が偽で下の段の関数に行きますよね😊 > そのときi=1〜3までのminNumとdelTargetの数値を、i=3の結果から遡りながらadd/delElementに入れていけば良いのかなと解釈していますが、いかがでしょうか?👀 → 前半はあってますが、おそらく後半が違います。   while文の繰り返し1回目の処理の一部をトレースした結果を以下に記述しますので、   内容確認してみていただけますか? ----- (前略)  endif endfor _// この時点で minNum=1, delTarget=3 です_ sortedData ← addElement(sortedData, minNum) _// sortedDataに1を追加し、sortedData={1}になる。_ compareData ← delElement(compareData,delTarget) // compareDataから1を削除し、compareData={4,3,5}になる_ _// 次の繰り返しに進む(while文の先頭から実行する)_ -----
@Lizm0414
@Lizm0414 8 ай бұрын
ようやく完全に理解しましたー💡 毎回compareData =5になってはfor文が偽になり、下段の関数に移り、 そのときの最新のminNumとdelTargetを処理してはwhile文の最初に戻ってたんですね✨ ありがとうございます🥳奥が深い!!
@itgakko
@itgakko 8 ай бұрын
@@Lizm0414 よかったです!
@user-vw2xs8ic9q
@user-vw2xs8ic9q 8 ай бұрын
科目bはサンプル問題さえ解ければ合格点取れるのでしょうか?
@itgakko
@itgakko 8 ай бұрын
質問ありがとうございます! 結論、分からないですね。 しかし個人的な感覚で言えば、公式が出しているサンプル問題や過去問を全て「素早く」かつ「内容を理解」した上で解けているのであれば、科目B合格点は到達できると思います。
@user-rx7nb8cp8z
@user-rx7nb8cp8z Жыл бұрын
自分用 続き41:16
@book9964
@book9964 10 ай бұрын
29:55
@Lizm0414
@Lizm0414 9 ай бұрын
ビット値の操作が難し過ぎる…説明あって、そっから2時間くらい考えてようやく理解しました。こんなのが普通にスルッと理解できる脳じゃなきゃエンジニアは厳しいのだろうか…
@itgakko
@itgakko 9 ай бұрын
コメントありがとうございます! 脳がどうとかいうことはないと思います。単純にこの問題を理解できる知識レベルに到達しているかしていないかだけです。 ビット値の問題が他と比べて難しく感じるのであれば、2進数に関する理解を深めた方がいいかもしれませんね。 私の動画でも2進数関連の問題の解説をしているのでよろしければご覧ください。 ✅【永久保存版】科目A過去問10回分解説|1.基礎理論編(基本情報技術者試験)  kzfaq.info/get/bejne/qLxxpLVez83Ij40.html 【2進数関連の問題】 問4.ビット反転 問6.2進数の乗算① 問9.2進数の論理積 問12.2進数の排他的論理和 問19.2進数の特徴 問28.10進数→2進数の変換 問30.2進数の負数表現(2の補数) 問35.2進数の乗算② 問38.2進数の否定論理積
@Lizm0414
@Lizm0414 9 ай бұрын
ありがとうございます。拝見します!今回引っ掛かっていたのは、左端の数字でチェックして、右端の数字を書き換えていくという流れが理解するまでに時間を要したのと、iの存在です。iが8になったら8桁全て回ったということでループ終了で良いのに、i=8はどこかに代入する為にあるんじゃないのかとか、どこかの何かの数値と比較して両者が8になったことを確認しないとループを終わっちゃダメなんじゃないかと勝手に思い込んでいたことが大問題でした(笑)
@itgakko
@itgakko 9 ай бұрын
なるほど! 「for文があったら配列の要素番号に指定する」とか予想を立てることは大事ですが、プログラムは書いてあることが全てで、それ以上の処理はないので、予想に囚われすぎないようにしたらいいかもしれませんね。
@Lizm0414
@Lizm0414 9 ай бұрын
@@itgakko ありがとうございます。囚われないことは超重要ですね!予測するにも色々パターンのプログラムに触れて見る事が大事だと思いました。まだ知らないプログラムが多くある中で知った気になって先回りしないように気をつけます!
@itgakko
@itgakko 9 ай бұрын
頑張って下さい!
@user-iz2md3uu8j
@user-iz2md3uu8j Ай бұрын
お恥ずかしい質問なのですが、問10がほぼ理解できない場合なにを勉強したらよいですか?失礼な質問でしたらすみません。 あと、 for (i を 1 から 8 まで 1 ずつ増やす)        if ((byte ∧ 10000000) が 10000000 である)         resultByte ← resultByte ∨ 00000000        else         resultByte ← 【a】        endif        if (i が 8 と等しい)         return resultByte        endif        byte ← byte << 1        resultByte ← resultByte << 1       end for 2行目の最初のbyteには、何の値が入っていますでしょうか?汗 度々、すみません。最終的にreturn resultByteの値は10000000になるのでしょうか?
@itgakko
@itgakko Ай бұрын
質問ありがとうございます! それぞれ回答しますね! > 問10がほぼ理解できない場合なにを勉強したらよいですか?失礼な質問でしたらすみません。  →問10のようなビット値の操作の問題については他の問題と少し異なり、   例外的にまずは科目Aの勉強をするのがおすすめです。   ビット値の操作は前提として 2進数 に関する理解が求められる場合が多いです。   科目Aの「基礎理論」という分野でまずは 2進数 を学習するのがおすすめです。   その後に、科目Bアルゴリズムの問題を解くのが良いです。 > 2行目の最初のbyteには、何の値が入っていますでしょうか?  →ご質問の内容は、関数invertを呼び出す際の引数の値によって変わります。   問題文に記載してある例のように、invert(00110101)と呼び出した場合であれば、   関数上の 変数byte には 00110101 という値が入ります。 > 最終的にreturn resultByteの値は10000000になるのでしょうか?  →これも関数invertを呼び出す際の引数の値によって変わります。   問題文に記載してある例のように、invert(00110101)と呼び出した場合であれば、   最終的に resultByte の値は 00110101 をビット反転した 11001010 になります。
@user-iz2md3uu8j
@user-iz2md3uu8j Ай бұрын
@@itgakko ご返信ありがとうございます! 一つ一つ実行していこうと思います。 ご丁寧に解答いただき感謝いたします!
@itgakko
@itgakko Ай бұрын
勉強頑張ってください!
@user-iz2md3uu8j
@user-iz2md3uu8j Ай бұрын
@@itgakko ありがとうざいます!
@user-ni6qd3uj7f
@user-ni6qd3uj7f Жыл бұрын
問13で、I=3,j=3の時、nowstateとstatetrainsitionが等しく、その次に、input[3]=0とtransition[J][3]=1で等しくなっていないと思うのですが、どうしてこのような回答になるのでしょうか?01までは解けたのですが、0110になる理由がわかりません。よろしくお願いいたします。
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます。 問13のi=3のケースについて、 使用されている変数について整理すると、  ・input[i] = 0  ・nowState = 2 となります。 これとstateTransitionの値で一致する箇所を見ていくと、 j=4の場合、2つのif文の判定結果が真(true)となります。  ・1つ目のif文:if (nowState と stateTransition[j][1] が等しい)   → nowState と stateTransition[j][1] ともに 2  ・2つ目のif文:if (input[i] と stateTransition[j][3] が等しい)   → input[i] と stateTransition[j][3] ともに 0 j=4の場合、stateTransition[j][4] = 1 なので、1が出力され、 次の i=4 の繰り返しに続きます。 なので記載されている通り、 i=3, j=3 のケースは input[3]=0とtransition[J][3]=1 で等しくなっていません。 j=4 が等しいので、ご確認をお願いします。 ご不明点あればご連絡いただければと思います。
@user-hg5yx2lg9s
@user-hg5yx2lg9s Жыл бұрын
@@itgakko 解説ありがとございます。私も同じところで躓いておりまして、jは1ずつ増えていくというif文の条件は無視してもよいということでしょうか?私も01までは理解できたのですが、一致する場所を見つけるという考え方がいまいちピンと来ておりません。
@itgakko
@itgakko Жыл бұрын
@@user-hg5yx2lg9s 頂いた質問、お手数なのですが、「jは1ずつ増えていくというif文の条件」こちらがプログラム上のどこを指されているか教えて頂けますでしょうか。
@user-hg5yx2lg9s
@user-hg5yx2lg9s Жыл бұрын
申し訳ございません。if文ではなくfor文でした。for(jを1からstateTransitionの要素数まで1ずつ増やす)という部分です。1ずつではなく一気に2数値分増やしている(j→3ではなくj→4という解釈になっている)ところがわかりませんでした。
@itgakko
@itgakko Жыл бұрын
@@user-hg5yx2lg9s ありがとうございます。 おそらく、問題で説明している箇所について、if文の条件が真になってない箇所は飛ばしているため誤解されているのだと思います。 実際プログラムは以下のように動きます。  ・i=1の時、j=1〜6の6回繰り返す、その結果合致したのがj=1の時  ・i=2の時、j=1〜6の6回繰り返す、その結果合致したのがj=2の時  ・i=3の時、j=1〜6の6回繰り返す、その結果合致したのがj=4の時  ・i=4の時、j=1〜6の6回繰り返す、その結果合致したのがj=6の時 このようにiの値1〜4それぞれにケースについて、j=1〜6の6回ずつfor文内の処理が実行されています。 解説の中では、その中でif文に合致するケースのみをかいつまんで説明しているので、「jが1つずつ増えていない」ように解釈されたのだと思います。 わかりづらく申し訳ありません。
@user-ng3wf8yj5u
@user-ng3wf8yj5u 5 ай бұрын
問13について質問があります。 何度解きなおしても3つ目の出力が010のイになります。 3つ目の出力はなぜ1になり、アが答えになるのでしょうか?
@itgakko
@itgakko 5 ай бұрын
質問ありがとうございます! すみません、問13のについては動画概要欄で訂正を入れさせて頂いております。 概要欄に記載の内容を以下に記載しますのでこちらご確認いただけますでしょうか。 -----  ■対象:問13.繰り返し文(応用)   ・プログラムに以下1行が不足しておりました。    お手数ですが以下の行を追加したものとして動画の視聴をお願いします。    動画内で喋っている解説自体は合っております。    ----------     if (nowState と stateTransition[j][1] が等しい)      if (input[i] と stateTransition[j][3] が等しい)       stateTransition[j][4] の値を出力する       nowState ← stateTransition[j][2]       繰り返しを抜ける        ←←← この行が不足しておりました      endif     endif    ---------- ----- こちらをご確認いただければ、頂いた質問が解決すると思います。
@user-ng3wf8yj5u
@user-ng3wf8yj5u 5 ай бұрын
ご回答ありがとうございます! 概要欄の記載を見落としていました💦 無事アが答えになり、理解できました。次の日曜日に先月のリベンジを果たしに再受験致します。 ありがとうございます!
@itgakko
@itgakko 5 ай бұрын
リベンジ頑張って下さい!
@XLEGT
@XLEGT Жыл бұрын
ファーーーーーーーwwwwwwwwwwオリジナル問題助かるwwwwwwwwwwww
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます!
@user-oo5qv9111o
@user-oo5qv9111o Жыл бұрын
問13人関して質問です。 他の方と重複しますが。 i=2, j=3の時、全てのif文通りませんか? はい、またはいいえでのご回答とその理由もくださると嬉しいです。 お願い致します。
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 ご記載いただいた通り、i=2,j=3の時、全てのif文が通ります。 概要欄に記載している以下の内容の通り、 プログラムに以下内容を追加した状態が正しいので、 お手数ですが読み替えて進めていただければと思います。 ーーーーー  ■対象:問13.繰り返し文(応用)   ・プログラムに以下1行が不足しておりました。    お手数ですが以下の行を追加したものとして動画の視聴をお願いします。    動画内で喋っている解説自体は合っております。    ----------     if (nowState と stateTransition[j][1] が等しい)      if (input[i] と stateTransition[j][3] が等しい)       stateTransition[j][4] の値を出力する       nowState ← stateTransition[j][2]       繰り返しを抜ける        ←←← この行が不足しておりました      endif     endif    ---------- ーーーーー
@hirokoji8111
@hirokoji8111 7 ай бұрын
32:47まで
@user-qw9cd8xi4b
@user-qw9cd8xi4b 5 ай бұрын
問題10.11だけわからなくて悔しい、、頑張ります。
@itgakko
@itgakko 5 ай бұрын
勉強頑張ってください!
@user-qw9cd8xi4b
@user-qw9cd8xi4b 4 ай бұрын
難しい問題を解いて、またこの動画に戻ってきたら11解けるようになりました!成長!
@itgakko
@itgakko 4 ай бұрын
@user-qw9cd8xi4b 素晴らしいですね!
@user-gh4in6bi8i
@user-gh4in6bi8i Жыл бұрын
大変興味深いかつ良い問題ありがとうございます。 問10について質問させてください。 トレースがうまくできなくて。。。 i=7終了時点で byte 10000000 resultbyte 11001010 となりi=8終了時点で byte 00000000 resultbyte 10010100 となってしまいました。 どこがおかしいかご教授頂けませんか。 よろしくお願いします。 ちなみにi=1終了時点では byte 01101010 resultbyte 00000010となっています。
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 大変失礼いたしました。トレース頂いた内容はあっており、 プログラムの記載に不備がありました。 正しいプログラムでは以下のように resultByte を左シフトする前に returnする必要があります。 お手数ですが読み替えてトレース頂ければと思います。 ◼︎修正後 [プログラム]  ○8ビット型: invert(8ビット型: byte)   8ビット型: resultByte ← 00000000   整数型: i   for (i を 1 から 8 まで 1 ずつ増やす)    if ((byte ∧ 10000000) が 10000000 である)     resultByte ← resultByte ∨ 00000000    else     resultByte ← 【a】    endif    if (i が 8 と等しい)     return resultByte    endif    byte ← byte
@user-gh4in6bi8i
@user-gh4in6bi8i Жыл бұрын
@@itgakko 丁寧にご回答いただきありがとうございました。 とても納得できました。 今後も動画で学習させていただきます。 今後ともよろしくお願い致します。
@itgakko
@itgakko Жыл бұрын
大変失礼しました。 勉強頑張ってください!
@yokosumakimotee5315
@yokosumakimotee5315 Жыл бұрын
問10についてです。 resultByteの一番右の桁に設定する理由が分からなくて困っています。。。
@itgakko
@itgakko Жыл бұрын
コメントありがとうございます。 resultByte の一番右の桁に設定する理由は以下の通りです。 前提として、この問題のプログラムでの繰り返し処理では、  ・1回の処理では1桁分しか処理できない   (変数byte、変数resultByte 両方ともに言える話)  ・変数resultByteに 1 or 0 を設定する処理は毎回同じ桁   (このプログラムでは一番右の桁)にしかできない このようなプログラムになっています。 上記前提があるので、問題の解説の中で、  「③ 繰り返し処理の次の回で1つ隣の桁を対象にするために、byte、resultByte をそれぞれ1つ左シフト。」 このような処理をしていると説明しています。 ここから本題です。 今回このプログラムで実現したい処理は、  「8ビットの2進数の全ビット反転」 なので、例えば2進数 10000000 が関数の引数であれば、 結果は 01111111 となりますよね。 これをプログラムのfor文の1回目の繰り返しの部分に着目すると、  ① 変数byte の 一番左の桁の値が「1」  ② 変数resultByte の 一番右の桁に「0」を設定  ③ 変数byte、変数resultByte をそれぞれ1つ論理左シフト となります。 上記②で 変数resultByte に設定した「0」は、 2回目〜8回目の繰り返し処理で、合計7回論理左シフトされます。 こうすることで、最終的に「0」が一番左の桁に移動します。 「resultByte の一番右の桁に設定する理由」としては、 このような処理をしているから、ということになるのですが、 回答になっていましたでしょうか? ご不明点などあればご連絡いただければと思います。
@user-og5gq8xc2k
@user-og5gq8xc2k 9 ай бұрын
@@itgakko私も同じところで躓いたのですが解説が上手すぎて理解できました!ありがとうございます
@user-ex1ex3nn7g
@user-ex1ex3nn7g Жыл бұрын
すみません、問6のi=2,j=1がなぜか分かりませんでした。教えていただけますと幸いです。
@itgakko
@itgakko Жыл бұрын
ご質問ありがとうございます。 頂いた質問ですが、なぜi=2,j=1になるのか分からないということでしょうか? それともi=2,j=1でなぜこの答えになるのかが分からないということでしょうか? お手数ですが具体的に分からなかった箇所を教えて頂けますでしょうか。
@user-og5gq8xc2k
@user-og5gq8xc2k 9 ай бұрын
めちゃくちゃ初歩的で申し訳ないのですが、 43:34 の①でbyteが01010101になっているのは例として出しているだけですよね..?🙇🏻‍♀️
@itgakko
@itgakko 9 ай бұрын
質問ありがとうございます! そうですね!あくまで例です。
@user-og5gq8xc2k
@user-og5gq8xc2k 9 ай бұрын
@@itgakkoありがとうございます!!
@itgakko
@itgakko 9 ай бұрын
勉強頑張って下さい!
@TYAMA-uf8sn
@TYAMA-uf8sn 5 ай бұрын
大変分かりやすい動画ありがとうございます。 お手数をおかけしますが、2点ご質問させてください。 <質問①> 問11の設問のプログラム2行目に 「整数型:i,delTarget minNum」 とありますが、これは、 「整数型:i,delTerget,minNum」(delTargetとminNumの間に「,」を追加) ではないのでしょうか。 最初にプログラムを見た時は、「delTerget minNum」という1つの変数かと思いましたが、 以下のブログラム中でもdelTergetとminNumはそれぞれ独立して使用されて混乱しました。 それとも、そもそも問題文の通り「整数型:i,delTarget minNum」記載されていても、それぞれ独立した変数として読み取るべきなのでしょうか。 <質問②> 問13の問題文2行目 「帯域変数」は「大域変数」が正しいということでよろしいのでしょうか。 お手数ですが、ご回答の程、何卒よろしくお願いします。
@itgakko
@itgakko 5 ай бұрын
質問ありがとうございます! それぞれ回答しますね。 【質問①の回答】 →すみません、誤値です。  正しくは「整数型:i,delTerget,minNum」になります。 【質問②の回答】 →すみません、誤値です。  正しくは「大域変数」になります。 以上、お手数おかけしますが 読み替えて進めていただけますでしょうか。
@TYAMA-uf8sn
@TYAMA-uf8sn 5 ай бұрын
@@itgakko 早々にご回答いただき、誠にありがとうございました。 科目Bについては複数の書籍を読んでも納得できずに読み進めれませんでしたが、 さいとう先生の動画で何とか少しずつ理解できるようになってきました。 動画作成、ありがとうございます。合格できるように頑張ります!
@itgakko
@itgakko 5 ай бұрын
勉強頑張って下さい!
@yamadaiyokoB
@yamadaiyokoB Жыл бұрын
数学的な考え方が抜けなくてi=i+1ん?ってなったのは良い思い出
@itgakko
@itgakko Жыл бұрын
初めてプログラミングする時に違和感を感じるところですよね!
@user-qw9cd8xi4b
@user-qw9cd8xi4b 4 ай бұрын
問10で、空欄に答えを入力したうえでI=1から8まで計算した後のresultbyteの結果が10010100になってしまうのですが、この部分が正しく計算できれば、反転した値である11001010になるということでしょうか。
@itgakko
@itgakko 4 ай бұрын
質問ありがとうございます! そうですね!問題文に書いてある通りinvert(00110101)として呼び出した場合であれば、最終的な値は11001010になります!
@user-qw9cd8xi4b
@user-qw9cd8xi4b 4 ай бұрын
@@itgakko i=8でresultbyt←resultbyte∨00000001 を入力した段階で11001010になり、その下のresultbyte<<1をすると10010100になってしまうのですが、これは計算途中でどこかがずれてしまったということですよね、、、。
@itgakko
@itgakko 4 ай бұрын
問10は概要欄で訂正させて頂いており、それをご確認頂けてないのかもしれません。 概要欄の訂正内容をご確認頂けますでしょうか? 同じく動画概要欄でご案内している公式LINEから無料ダウンロードできる教材の方は訂正内容も反映したものになってますので、よろしければそちらもご確認ください。
@user-qw9cd8xi4b
@user-qw9cd8xi4b 4 ай бұрын
@@itgakko if (i が 8 と等しい)         return resultByte 訂正して頂いていたこの部分を見逃していました!i=8になったらreturn resultByte でresultByteに戻るということで、その下のbyteとresultByteの桁をずらさなくてよいという解釈であっていますでしょうか。
@itgakko
@itgakko 4 ай бұрын
@@user-qw9cd8xi4b あってます!
@Area-vs5qs
@Area-vs5qs 2 ай бұрын
再帰呼び出しで単純にgetSum(引数)としないのはなぜでしょうか?
@itgakko
@itgakko 2 ай бұрын
質問ありがとうございます! 質問内容は、問14について回答が「(イ) num」でない理由ということでよろしいでしょうか? その前提で回答しますね。 関数内の1番下の行を ----- return num + getSum(num) ----- このようにした場合、プログラムの処理が一生終わらない(無限ループ)になってしまいます。 例えばgetSum(3)として呼び出した場合、 ・呼び出した関数内でgetSum(3)が呼び出される ・さらに呼び出した関数内で呼び出した関数内でgetSum(3)が呼び出される ... これが無限に繰り返されてしまいプログラムが終わらなくなってしまいます。
@user-ex5sd8xy6c
@user-ex5sd8xy6c 4 ай бұрын
問13について質問がございます。if(nowStateとstateTransition[j][1]が等しい)について、一つ前のfor文でjを1からnowstateの要素数まで1ずつ増やすとあるため、j=1で、if文のstateTransition[j][1]の[1]はj=1の要素である、1,1,0,0の内の始点の1だと思ってしまいました。 解説の中でif(nowStateとstateTransition[j][1]が等しい)について、水色の列から一致するものを探すという説明があり、一つ前のfor文でjを増やしており、j=1の配列のみ見るものだと思っていたので、なぜ水色の列から一致するものを探すという方法を取るのかが分からないです。
@itgakko
@itgakko 4 ай бұрын
ご質問ありがとうございます! ご質問いただいたのは投映している資料の中で ----- ・i=1 のとき(input[i] = 0)※ nowState = 1」  → 配列stateTransition(要素数 = 6) の繰り返し処理 ----- このように説明している箇所だと思います。 ここで「if (nowState と stateTransition[j][1] が等しい)」の部分を ----- 水色の列から一致するものを探す  → j=1 と j=2 が見つかる ----- と表現しています。 これは画面上の資料にも映している通り、 「配列stateTransition(要素数 = 6) の繰り返し処理」 の処理のことを説明しています。 つまり、j=1の時だけの話ではなく、 j=1〜j=6までの繰り返し処理全体の説明になります。 そのため、 ・j=1の時:if (nowState と stateTransition[1][1] が等しい) ・j=2の時:if (nowState と stateTransition[2][1] が等しい) ・j=3の時:if (nowState と stateTransition[3][1] が等しい) ・j=4の時:if (nowState と stateTransition[4][1] が等しい) ・j=5の時:if (nowState と stateTransition[5][1] が等しい) ・j=6の時:if (nowState と stateTransition[6][1] が等しい) j=1〜6の6個分の処理を行った結果、 j=1とj=2の時にif文の条件が真(true)になったということで、 「水色の列から一致するものを探す」 という表現をしています。 以上となります。 混乱させて申し訳ありません。
@user-ex5sd8xy6c
@user-ex5sd8xy6c 4 ай бұрын
@@itgakko ありがとうございます!分からないことが多く混乱していたため、冷静になって考えることで理解できました。 申し訳ないのですが、追加で2点質問がございます。 1点目は問11について、for(iを1からcompareDataの要素数まで1ずつ増やす)について、これは問13のjを1からstateTransitionの要素数まで1ずつ増やすfor文と同様にi=1〜compareDataの要素数までの繰り返し処理全体の説明なのでしょうか?問題を解いた際、for文以降のif文からdelTarget1←iをループしてしまい、解けませんでした。 for文をしっかり理解していないことが原因なのでしょうか? 2点目は問10についてbyteと10000000の論理積をして判断したビット値を反転させて、一番「右」の桁に設定するのはなぜなのでしょうか?普通に考えて、ビットに数値を入れる際は右から入れるからなのでしょうか。(10進数なら1の位から数を入れるように。)
@itgakko
@itgakko 4 ай бұрын
それぞれ回答しますね! > 1点目は問11について、for(iを1からcompareDataの要素数まで1ずつ増やす)について、これは問13のjを1からstateTransitionの要素数まで1ずつ増やすfor文と同様にi=1〜compareDataの要素数までの繰り返し処理全体の説明なのでしょうか? →そうですね、この問題では1行1行トレースしているわけではなく、  for文全体の処理について説明しています。 > 問題を解いた際、for文以降のif文からdelTarget1←iをループしてしまい、解けませんでした。 > for文をしっかり理解していないことが原因なのでしょうか? →解く時にトレースしてみたということでしょうか?  であれば、お話を聞く限りfor文への理解というより、  まずは時間がかかってもいいから1行1行確実に  トレースしていくことに注意するのが良いと思います。 > 2点目は問10についてbyteと10000000の論理積をして判断したビット値を反転させて、一番「右」の桁に設定するのはなぜなのでしょうか?普通に考えて、ビットに数値を入れる際は右から入れるからなのでしょうか。(10進数なら1の位から数を入れるように。) →まず前提として、右から設定しなければいけないという決まりはないです。  関数の目的であるビット反転が実現できれば右からでも左からでも問題ありません。  その上でこの問題のプログラムで1番右の桁に設定している理由について、     ・for文による繰り返し処理で8回繰り返し処理を行うことを考えた時に、    各繰り返し処理では毎回同じ場所(桁)に対して処理することになる。   ・ビット値の操作については、左シフト・右シフト・論理積・論理和がある。    ※これは公式のサンプル問題に合わせています  上記から、まず右の桁に値を設定して、それを左シフトすることを繰り返せば  最終的に元の値をビット反転した値が得られるということで  こういったプログラムにしています。 以上、よろしくお願いします。
@user-ex5sd8xy6c
@user-ex5sd8xy6c 4 ай бұрын
@@itgakko ありがとうございます!1からトレースして、再度解き直したら、正解することができました。その際、他の選択肢が間違っている理由も理解することができました。 本当にありがとうございます。今は応用編の動画を学習しており、ビット値操作の問題がこの動画で勉強したおかげで、スムーズに解くことができました!
@itgakko
@itgakko 4 ай бұрын
よかったです!
@user-eo7vp6mx5o
@user-eo7vp6mx5o 5 ай бұрын
間がない話し方で脳が理解に追いついていけず聞き取りにくいです🥲
@itgakko
@itgakko 5 ай бұрын
ご意見ありがとうございます! 改善しますね!
@user-uf9bm4kf3h
@user-uf9bm4kf3h 5 ай бұрын
問10について質問です。 i=1というのは、 01010101の場合 12345678 と一番左から順番に名前を付けていてそれぞれ論理積して確認しているということでしょうか。 見当違いなことを聞いていましたらすみません。
@itgakko
@itgakko 5 ай бұрын
すみません! ご質問の内容が理解できませんでした。 お手数ですがもう少し詳細に教えていただけますか?
@user-uf9bm4kf3h
@user-uf9bm4kf3h 5 ай бұрын
for(iを1~8まで1ずつ増やす)とありますが、 i=1、i=2、i=3は、どのような状況のことを表現しているのでしょうか。 i=1からトレースをして考えたいのですが、i=1が何を表しているのかわからない状況です。@@itgakko
@itgakko
@itgakko 5 ай бұрын
そういうことですね! 動画内 43:03 あたりから説明しているページの内容が 関数invert(01010101)として呼び出した場合のi=1の場合の処理になっていますので、 こちらを参考にi=2以降もトレースしてみてください。
@user-uf9bm4kf3h
@user-uf9bm4kf3h 5 ай бұрын
i=1は、1ビット左シフト i=2は、2ビット左シフト ということでしょうか。 @@itgakko
@itgakko
@itgakko 5 ай бұрын
​@@user-uf9bm4kf3h おっしゃっている内容だけではあっているともあってないとも言えません。 動画内で説明している具体例において、 変数byteの値は、関数が呼び出されてから i=1〜i=3にかけて以下のように変化していきます。 ・関数が呼び出されたタイミング  byte=01010101 ・i=1の時のfor文内の処理が実行された後  byte=10101010  ※「01010101」を1ビット左シフト ・i=2の時のfor文内の処理が実行された後  byte=01010100  ※「10101010」を1ビット左シフト ・i=3の時のfor文内の処理が実行された後  byte=10101000  ※「01010100」を1ビット左シフト このように変数byteの値は変化していきます。
@user-mv3ux2mh6k
@user-mv3ux2mh6k 7 ай бұрын
視聴メモ 41:35
@user-kh7jr7rp5d
@user-kh7jr7rp5d 6 ай бұрын
1〜9 ○ 10〜 △
@user-kh7jr7rp5d
@user-kh7jr7rp5d 6 ай бұрын
12 ✖︎
@user-uc2eo3ml8q
@user-uc2eo3ml8q Жыл бұрын
問10の最上位ビットが1のときの処理 resultByte = resultByte v 00000000 はやる意味があるのでしょうか? この一行を実行するかしないかでresultByteの中身は変わらない気がしてます
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます! おっしゃる通り意味がないです。 2択の処理をわかりやすくするために残してますが、実際にプログラミングするんだったら不要なコードです。
@user-ut5jw4gk2h
@user-ut5jw4gk2h Жыл бұрын
あああ問13だけ難しくてわからねえええ 受かる気がしねぇ
@itgakko
@itgakko Жыл бұрын
一見複雑な問題でも1行1行トレースすることでやることはシンプルになります。 是非あきらめずにトライしてみてください! 不明な箇所を教えて頂ければコメントで解説しますのでお知らせください。
@buru398
@buru398 Жыл бұрын
17:38 問5ってdata[3]が出力されるから、出力されるのは6じゃね? 配列はdata[0]からだから3+1番目の6になると思うんやけど さらに、if内の「data[i]の値を出力する」だとi=4の時data[4]は存在しないからエラーになると思うんだけど、私の勘違いかな この問題の言語たぶんCだよね?
@itgakko
@itgakko Жыл бұрын
質問ありがとうございます。 この問題は基本情報技術者試験の科目Bアルゴリズムで用いられる擬似言語と同じで配列の要素番号は1から始まることを前提にしております。 動画内での説明が不足しておりすみません。
@buru398
@buru398 Жыл бұрын
@@itgakko なるほど!!むしろそれ知らないと本番絶対間違えてたな・・・ 教えてくれてサンクス!
@itgakko
@itgakko Жыл бұрын
基本情報技術者試験頑張ってください!
@user-oo5qv9111o
@user-oo5qv9111o Жыл бұрын
i = 1. j = 1 出力0 i = 2. j = 2 出力1 i = 2. j = 3 出力0 i = 3. j = 4 出力1 i = 3. j = 5 出力0 i = 4. j = 6 出力0 出力結果:010100 間違ってたら教えてください
@user-kn3jd9lf2f
@user-kn3jd9lf2f 7 ай бұрын
それ私も思いました!! どなたか教えてください!!
@itgakko
@itgakko 7 ай бұрын
返信ができておらず失礼しました。 問13はお手数ですが概要欄で訂正を入れさせて頂いております。 以下の「繰り返しを抜ける」が不足しておりました。 こちらで正しい解答になりますのでお手数ですがご確認下さい。 -----  ■対象:問13.繰り返し文(応用)   ・プログラムに以下1行が不足しておりました。    お手数ですが以下の行を追加したものとして動画の視聴をお願いします。    動画内で喋っている解説自体は合っております。    ----------     if (nowState と stateTransition[j][1] が等しい)      if (input[i] と stateTransition[j][3] が等しい)       stateTransition[j][4] の値を出力する       nowState ← stateTransition[j][2]       繰り返しを抜ける        ←←← この行が不足しておりました      endif     endif    ---------- ------
@user-tt7uk9gr9l
@user-tt7uk9gr9l 4 ай бұрын
問13難しすぎて笑ってしまうw 基本情報ってこんなに難しいのか・・・。
@itgakko
@itgakko 4 ай бұрын
勉強頑張ってください!
@user-td8ex7gg9p
@user-td8ex7gg9p 9 ай бұрын
A:630 ,B:390でした( ノД`)シクシク…来月リベンジします!
@itgakko
@itgakko 9 ай бұрын
勉強頑張って下さい!
@hifine7599
@hifine7599 9 ай бұрын
配列の要素番号が1からになってるのは問題文に定義してほしい。
@itgakko
@itgakko 9 ай бұрын
ご意見ありがとうございます! 参考にさせて頂きます。
@user-rl3gi1zr2q
@user-rl3gi1zr2q 10 ай бұрын
科目Bの効率的な勉強法があったらお聞きしたいです。よろしくお願いいたします。7月末に受験したら科目Bは400点でした。した。
@itgakko
@itgakko 10 ай бұрын
質問ありがとうございます! アルゴリズムについては、擬似言語の文法が理解できていないのであれば、まず覚えて下さい。本動画で説明した内容が理解できるレベルになればOKです。 文法が理解できたら、あとは「問題演習→解説確認して理解」の繰り返しです。解説はただその問題の解答を理解するのでなく、解き方・考え方を理解して類似問題になるべく対応できるようにするのが良いです。 あとこれは全ての方にお勧めはできないのですが、どうせ後でプログラミング学習する予定があるのであれば、実際にアルゴリズムの問題をプログラミングしてみるのもお勧めです。実際にプログラミングすることでアルゴリズムの勘所が理解できますし、プログラムを動かして見ることで処理の流れについても理解を深めることができます。 セキュリティについても同様で、基本的な問題の解き方が理解できれば、「問題演習→解説確認して理解」の繰り返しが一番効果的だと思います。解き方は以下の動画で詳しく解説しているのでご確認いただければと思います。 ✅【最短最速】科目B公式問題|基本情報技術者試験(2023年新方式対応) kzfaq.info/get/bejne/qLxxpLVez83Ij40.html ✅【最速】科目B公式過去問を徹底解説(基本情報技術者試験) kzfaq.info/get/bejne/ZtGmgbVlrcixnWg.html
【2023年版】基本情報技術者試験完全攻略(科目B解説編)
33:55
エンジニア養成コーチ:IT学校さいとうさん
Рет қаралды 68 М.
【問題演習付き】科目Bオブジェクト指向完全攻略(基本情報技術者試験|アルゴリズム)
1:48:49
エンジニア養成コーチ:IT学校さいとうさん
Рет қаралды 28 М.
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 82 МЛН
Homemade Professional Spy Trick To Unlock A Phone 🔍
00:55
Crafty Champions
Рет қаралды 57 МЛН
Неприятная Встреча На Мосту - Полярная звезда #shorts
00:59
Полярная звезда - Kuzey Yıldızı
Рет қаралды 6 МЛН
【絶対するな】知らないと損する基本情報技術者試験勉強法
16:24
エンジニア養成コーチ:IT学校さいとうさん
Рет қаралды 22 М.
【勉強モチベーション】基本情報技術者試験のやる気が勝手にあがる動画
12:29
【基本情報技術者試験YouTuber】すーさん
Рет қаралды 38 М.
【問題演習付き】科目Bアルゴリズムはこう解け(基本情報技術者試験)
1:49:28
エンジニア養成コーチ:IT学校さいとうさん
Рет қаралды 85 М.
【2024年最新版】基本情報技術者試験の概要と勉強法を解説
17:10
【基本情報技術者試験YouTuber】すーさん
Рет қаралды 66 М.
【最短最速】科目B公式問題|基本情報技術者試験(2023年新方式対応)
1:21:13
エンジニア養成コーチ:IT学校さいとうさん
Рет қаралды 159 М.
【Python超入門講座】この動画1本でゼロから基礎をマスター!【初心者向け】
1:18:21
セイト先生のWeb・ITエンジニア転職ラボ
Рет қаралды 399 М.
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 82 МЛН