【基本情報技術者試験科目B】サンプル問題全20問完全解説~Vol.3(問13~問16)
HTML-код
- Опубликовано: 25 авг 2024
- 「基本情報技術者試験7つの超速合格術」
科目B完全対応!合格メソッドを圧倒的なタイパとコスパでご提供します
masuyaplus.com...
---------------------------------------------------------------------------------------------
IPAのサイトにて2022年12月26日に公開された基本情報技術者試験科目Bのサンプル問題全20問を徹底解説します。専門講座やテキストにはない裏情報がある…かも。
解説は4つの動画に分かれています。Vol.3は問13~問16を解説します。
---関連動画-----------------------------------------------------------------------
【基本情報技術者試験科目B】サンプル問題全20問完全解説~Vol.4(問17~問20)
• 【基本情報技術者試験科目B】サンプル問題全2...
【基本情報技術者試験科目B】サンプル問題全20問完全解説~Vol.2(問7~問12)
• 【基本情報技術者試験科目B】サンプル問題全2...
【基本情報技術者試験科目B】サンプル問題全20問完全解説~Vol.1(問1~問6)
• 【基本情報技術者試験科目B】サンプル問題全2...
【改訂基本情報技術者試験】科目Bサンプル問題 超ゆるゆる解説(2022年4月25日公開全6問解説)
• 【基本情報技術者試験】科目Bサンプル問題 超...
【2023年4月改訂】基本情報技術者試験・情報セキュリティマネジメント試験の攻略ポイント
• 【2023年4月改訂】基本情報技術者試験・情...
---------------------------------------------------------------------------------------------
株式会社マスヤプラス 尖ったセミナーを真面目にやる会社
masuyaplus.com/
【問13の「どうしたら無限ループを回避できる?」の答え:ア、エ】
#基本情報技術者試験 #科目B #サンプル問題
一番わかりやすい!!
ありがとうございます😊
今後ともよろしくお願いいたします👍
この動画で勉強して今日合格できました!
わかりやすい説明ありがとうございました!!!
合格おめでとうございます!
本動画が多少なりともお役に立てたようで何よりです。とは言え、合格は紛れもなくご自身の実力よるところだと思います😊
アもイもelseの処理でreturnしていますが、returnをすればwhileを抜けることができるのでしょうか。処理を抜ける条件は満たしていないと思うのですが。
恐らく問13かと思われますが、おっしゃる通りreturnでwhileを抜ける…と言いますか、プログラム自体を抜けて終了します。
この問題では、whileはないに等しいとも言えますww
分かりやすい動画で本当に助かっています。
問13について質問なのですが、
解答群の中で『要素の値の』という表現がされており、 アについて考えた時に、『その要素の値=1』としている考え方がわからないので教えていただきていです。
要素数が1だと要素番号が1しか存在しないのは理解できていますが、その要素の値と言われた時に中身に値はわからないのでは?と思っていましまいます。
ご視聴ありがとうございます。
改めて動画を見返してみましたが、確かにtargetに1を勝手に設定しているような言い回しで紛らわしかったですね。申し訳ありません(-_-;)
例えばアの選択肢の場合は、targetと要素の値が等しければ何でもよいわけですが、1にするのが手っ取り早いと当時の私は思っていたのだと思いますww
@@masuyaplus
お忙しいところ返信頂きましてありがとうございます🙇♀️
また誤字が多くてすみません🙏
繰り返し質問になってしまいますが、
配列の要素の値が指定されていない時は、考えやすいように、都合のいい値を入れて解答郡に照らし合わせていいということなのでしょうか?
はい。その通りです😉
この問題では、targetと対象となる要素の値が同じであればOKです👌
@@masuyaplus 遅い時間なのにご回答頂きありがとうございました🥹
スッキリしました✨
今後ともよろしくお願いいたします!
ありがとうございます。問13なのですが、値を返した時点でループからは抜け出すのでしょうか?
return1をし続ける、もしくはwhileから抜けて1と-1を返す事はないのでしょうか。。
こちらこそありがとうございます。
おっしゃる通り、値を返した(returnが実行された)時点でループから抜けてプログラムも終了します。
一般的に、returnは実行されたらすべてが終わる、との認識でよろしいかと思います。
ちなみに、return1をし続けることはありませんが、targetがなければwhileから抜けて-1を返すことはあります。
問15が個人的には初見殺しすぎた
キーポイントが見つからないとハマりますね。
初見だとあの表もワケ分からなくなる可能性ありますし😅
@@masuyaplus です!
理解できて、擬似言語もなく、いけそうと思ったんですが、
Aの方を指す場合、Bの方を指す場合の今の盤面で考えると読んで、自分の手番だと解釈し、エを選んでしまいました。。
@@mochhy6803問題を考えた人の日本語の問題ですねw
こんにちは。とても丁寧な解説わかりやすかったです!私も実際にサンプル問題を解いたのですが、どうしても時間が足りないくなってしまいます。そこで、なにか問題を早く解くコツなどあれば教えていただきたいです。
あと科目Bにおけるおすすめの時間配分があれば教えてください!
ご視聴ありがとうございます。
科目Bの時短解法・時間配分については、説明欄にリンクのある有料講座で…と言いたいところですが、さすがにそれでは露骨に申し訳ないのでひとつアドバイスさせていただきますと、問題文とプログラムをザっと見て問題の意図がイマイチ理解できない、難しそうと感じたら迷わず飛ばして後に回すことです。これを徹底するだけでも得点率はまったく違います。
あとは、選択肢の数が多い問題を優先的に解くというやり方もありかと思います。
細かい話(気にしすぎ)かも知れませんが、問13の選択肢のアのところで"要素の値"とありますが、この値は要素番号の1ではなく要素数1の配列に中に入っている値という認識だったのですが間違えてますかね?
いいえ、間違えてはおらずおっしゃる通りです。
問13は要素番号と要素の値を同値にしても特に問題ありませんが、細かい話どころか、明確に区別して考えることは科目Bを攻略するうえでめちゃめちゃ重要です。特に2次元配列では混乱しがちですので、むしろ気にしすぎるくらいがよいかもしれません。
@@masuyaplus 遅い時間にわざわざありがとうございます!!
分かりました^_^
繰り返し練習して慣れて、絶対合格したいと思います!社長の動画にはお世話になってます🙇
こちらの動画の解説のお陰で今日受験して合格点を取ることができました。ありがとうございました!
次は安全確保支援士にチャレンジします。今後ともわかりやすい動画を作っていただけると嬉しいです!
合格おめでとうございます!本動画がほんの少しでもお役に立てたようで何よりです。
この勢いでSG試験や登録セキスペも突破していきたいですね😉本業の合間を見て新しい動画もアップしていきたと思います
13番解答群アでelseでmiddle返した後、while(low≦high)の条件に戻ってこの処理無限に繰り返すから無限ループになる気がするんですけど違いますかね?
「elseでmiddle返す」ということはreturnが実行されることになりますが、プログラミングの一般論として、returnは値を返すと同時にプログラムを完全に終了させます。
一方、選択肢のウだけは、if(data[middle])<target)を延々と繰り返すためreturnに到達しない、つまり無限ループになるということです。
@@masuyaplus なるほど、returnでプログラムが完全終了するという前提が理解できていませんでした。返信の方ありがとうございます!
画面に余白無くてテロップ表示するのにどこか隠さないといけないって場面で問題文や解答群より自分の顔の方が表示優先度高いの面白いですね笑
基本出たがりなんでww
問13の、どうすれば無限ループを回避できるかという問題で(ア)が無限ループになぜなるのかを教えていただきたいです。
ご指摘ありがとうございます。「または」にしたかったのか計算ミスかはうろ覚えですが、アも回避できますね。説明欄を修正させていただきました。
@@masuyaplus わかりました、ありがとうございます!
問16いきなり難易度上がりすぎだろって思ったけど、捨て問なんですかね、、、
解説しといてなんですが、明らかに捨て問ですww
しかも9択なので、当てずっぽうも期待できない周到さもイヤらしいですね
問13のイとウでdataの先頭要素、末尾要素が1,2とのことですがなぜその値になるかわかりません…。
配列dataの要素番号の話ですね。選択肢イ・ウはどちらも「要素数が2」と言っているので、先頭が1番目、末尾が2番目という意味です。
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)のように関数のカッコの中にカンマ区切りで複数の数字があると、いつもどう解釈すればいいか分からなくなってしまいます…
まず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となります。
引数が複数の場合は、まずその引数の属性(配列とか実数型とか)を確認したうえで、上記のように具体的な数字を地道に埋めていくのが結局一番早いです。
@@masuyaplus 回答ありがとうございます。いつもプログラム最初数行って代入とか四則演算などの具体的作業がなくさらっと読み流していたのですが、カッコ内で表された引数の属性(宣言というのでしょうか?)をしっかりチェックするようにします!
本問でいえば、プログラムにある〇二つのうち
一つ目〇は「findRankは、sortedDataという配列とpという実数の引数2つで構成され、最終的にその戻り値は sortedData[i+1]」」
二つ目〇は「summarizeは、sortedDataという配列の引数で構成され、最終的にその戻り値はrankData」
という認識で正しいでしょうか?(今書いてて気づいたけど、〇がある行の関数とreturnが対応するつくりになっている?)
一つ目も二つ目もおっしゃる通りです。
〇印は、サンプル問題の冒頭にある「疑似言語の記述形式」にもある通り、関数を宣言している箇所になります。つまり、2つの関数で構成されているという意味となり、1つ目の関数を2つ目の関数の中で使用するということを直感的に気付けるかどうかがポイントとなります。
ちなみに、この問題の関数はどちらも値を返すのでreturn(戻り値)が存在しますが、問10のように特定の処理を目的とする関数であればreturnが存在しない場合もあります。
問16難しかったです。科目B用の参考書は買った方がいいのでしょうか?
問16は、捨て問題と割り切れた人の方が合格に近づくという理不尽な問題ですねww
参考書については、無意味とは言いませんが、期待するほどの効果はないです。当社有料セミナーでもお話ししているのですが、それ以上にサンプル問題や過去問題のアルゴリズムなどを徹底的に追求した方が効果は高いです。
※宣伝になって申し訳ないですが、科目Bは当社「基本情報技術者試験7つの超速合格術」でバッチリ対応できます