この問題は、二つの文字列配列XとYを連結して新たな文字列配列Zを作成するアルゴリズムに関するものです。問題文より、配列Xの長さはm、配列Yの長さはnであり、1文字が1つの配列要素に格納されます。アルゴリズムは、まず配列Xの要素を配列Zの先頭から順にコピーし、次に配列Yの要素を配列ZのXの要素が格納された後から順にコピーする処理を行います。
読み込み中...
読み込み中...
長さm,nの文字列をそれぞれ格納した配列X、Yがある。図は、配列Xに格納した文字列の後ろに、配列Yに格納した文字列を連結したものを、配列Zに格納するアルゴリズムを表す流れ図である。図中のa, bに入れる処理として、適切なものはどれか。ここで、1文字が一つの配列要素に格納されるものとする。
結論 → 詳細 → 補足 の 3 層構成
この問題は、二つの文字列配列XとYを連結して新たな文字列配列Zを作成するアルゴリズムに関するものです。問題文より、配列Xの長さはm、配列Yの長さはnであり、1文字が1つの配列要素に格納されます。アルゴリズムは、まず配列Xの要素を配列Zの先頭から順にコピーし、次に配列Yの要素を配列ZのXの要素が格納された後から順にコピーする処理を行います。
正解であるアは、「a X(k) → Z(k)」で配列Xのk番目の要素を配列Zのk番目にコピーし、「b Y(k) → Z(m+k)」で配列Yのk番目の要素を配列Zのm+k番目にコピーすることを示しています。これは、配列Xのm個の要素がZの0からm-1番目に格納された後、配列Yの要素がZのm番目から順に格納されるという文字列連結の定義に合致しています。
他の選択肢について見ていきましょう。イは「b Y(k) → Z(n+k)」としていますが、配列Yの要素を格納する開始位置は配列Xの長さmに依存するため、n+kは適切ではありません。ウは「a Y(k) → Z(k)」としており、配列Yの要素をZの先頭にコピーしようとしていますが、これはXとYの連結ではなく、YとXの連結の誤りです。エも同様に、「a Y(k) → Z(k)」であるため、文字列連結の順序が誤っています。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
アルゴリズムとプログラミング の他の問題
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報技術者 勉強時間の目安|社会人・学生・未経験別の合格モデル
基本情報技術者試験の合格に必要な勉強時間を、社会人・学生・IT未経験の3パターン別に分解。週次の時間配分例と科目A/Bの配分指針を実例で解説します。
基本情報技術者 科目B完全対策|疑似言語・アルゴリズムを確実に解く方法
基本情報技術者試験の科目Bは疑似言語とアルゴリズムが中心。トレース力の鍛え方・頻出パターン(ソート・再帰・リスト)の解法を、AIコパイロット活用法とともに解説します。
基本情報のアルゴリズムが苦手な人の克服ステップ|挫折せずに科目Bを突破する
基本情報技術者試験の科目Bで多くの受験者が挫折するアルゴリズム分野。苦手意識を解消し、確実に得点できるようになるための学習ステップと心の作り方を解説します。
基本情報技術者試験 出題傾向の最新分析|2024〜2025年で増えた論点と捨て論点
基本情報技術者試験の直近2年の出題傾向を分析し、増加している新論点・減少している論点・捨てて良い論点を整理。学習計画の優先度付けに活用できます。