一覧に戻る

アルゴリズムとプログラミング

基礎理論 › アルゴリズムとプログラミング · 32 問

1. 出典: 平成21年度 秋期 ITパスポート試験 問62

小文字の英字からなる文字列の暗号化を考える。次表で英字を文字番号に変換し,変換後の文字番号について1文字目分には1を,2文字目分には2を,…,n文字目分にはnを加える。それぞれの数を26で割った余りを新たに文字番号とみなし,表から対応する英字に変換する。 例 fax → 6, 1, 24 → 6+1, 1+2, 24+3 → 7, 3, 27 → 7, 3, 1 → gca この手続で暗号化した結果が「tmb」であるとき,元の文字列はどれか。 | 文字番号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---| | 英字 | a | b | c | d | e | f | g | h | i | j | k | l | m | | 文字番号 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 英字 | n | o | p | q | r | s | t | u | v | w | x | y | z |

図
  • she
  • shy
  • ski
  • sky

手続

2. 出典: 平成21年度 秋期 ITパスポート試験 問90

出荷処理において,引当数の求め方を流れ図で表すとき,次の図の c,d に入る適切な字句の組合せはどれか。 流れ図(網掛けの部分は,表示していない): - 「開始」から,条件 [ c ] の判定へ進む。 - [ c ] が Yes のとき:右側の条件 [ d ] の判定へ進む。 - [ c ] が No のとき:左側の網掛けの条件(非表示)の判定へ進む。 - 左側の網掛けの条件が No のとき:「在庫数を引当数とする」。 - 左側の網掛けの条件が Yes のとき:「注文数を引当数とする」。 - [ d ] が No のとき:「注文数を引当数とする」。 - [ d ] が Yes のとき:右側の網掛けの処理(非表示)。 - いずれの処理のあとも「終了」へ進む。

図
  • c:通常注文か d:注文数≦在庫数の70%
  • c:通常注文か d:注文数>在庫数の70%
  • c:優先注文か d:注文数≦在庫数の70%
  • c:優先注文か d:注文数>在庫数の70%

流れ図 · フローチャート · 選択 · 条件式

3. 出典: 平成21年度 春期 ITパスポート試験 問72

図1のように二つの正の数値 A1, A2 を読み取り, 二つの数値 B1, B2 を出力するボックスがある。B1 には A2 と同じ数値を出力し, B2 には A1 を A2 で割った余りを出力する。図2のようにこのボックスを2個つないだ場合, A1=15, A2=6 のとき後方のボックスの B1 に出力される数値は幾らか。 図1(ボックスの動作): 入力 A1, A2 → 「A2→B1」「A1/A2の余り→B2」→ 出力 B1, B2。 図2(ボックスを2個直列に接続): 入力 15, 6 → ボックス1 → ボックス2 → 出力 B1, B2。

図
  • 0
  • 3
  • 6
  • 15

手続 · 入出力 · 関数 · 引数 · 戻り値

4. 出典: 平成21年度 春期 ITパスポート試験 問91

〔テクノロジ〕 M さんは,障害の原因を特定するための手順を,流れ図に書いて考えてみることにした。このとき,次の図の X に入る適切な字句はどれか。 なお,次の流れ図は,作成途中のものである。 [流れ図] (端子)「問題の切分け」  ↓ 〈判断1〉「PC2 からプリンタに出力できるか」  ・No → 右へ分岐(以降は表示していない)  ・Yes ↓ 〈判断2〉「PC1 と PC2 をハブにつないでいるケーブル c と d をハブ側で差し替え,PC2 からプリンタに出力できるか」  ・No → (処理)「X」  ・Yes → (処理)網掛けの箱(表示していない) 注 網掛けの部分は,表示していない。

図
  • PC1 とハブをつなぐソケット,すなわちハブの障害ではないか
  • PC1 とハブをつなぐケーブル c の障害ではないか
  • プリンタとハブをつなぐケーブル b の障害ではないか
  • プリンタの障害ではないか

流れ図 · フローチャート · 選択

5. 出典: 平成21年度 春期 ITパスポート試験 問92

〔テクノロジ〕 問92 Mさんは,今回の障害の原因を特定するための手順を,流れ図として完成させようと考えた。このとき,次の図のYに入る適切な字句はどれか。 なお,次の流れ図は,作成途中のものである。 [図] 流れ図(作成途中): - 開始端子「問題の切分け」 - 判断「PC2からプリンタに出力できるか」 - Yes → 判断「PC1とPC2をハブにつないでいるケーブルcとdをハブ側で差し替え,PC2からプリンタに出力できるか」 - Yes →(網掛けの処理ボックス,表示なし) - No →(網掛けの処理ボックス,表示なし) - No → 判断「PC1からサーバにアクセスできるか」 - Yes →(下方へ続く) - No → 処理「Y」 注 網掛けの部分は,表示していない。

図
  • ハブの障害ではないか
  • プリンタとハブをつなぐケーブルbの障害ではないか
  • プリンタとハブをつなぐケーブルb,または,ハブの障害ではないか
  • プリンタの障害ではないか

流れ図 · フローチャート · 選択

6. 出典: 平成22年度 秋期 ITパスポート試験 問69

二つの変数 x と y に対して,次の手続を (1) から順に実行する。処理が終了したとき,x の値はいくらになるか。 〔手続〕 (1) x に 2 を代入し,y に 3 を代入する。 (2) y の値から 1 を引いたものを y に代入する。 (3) x の値と y の値を加えたものを x に代入する。 (4) y≠1 なら手続 (2) に戻り,y=1 なら処理を終了する。

  • 4
  • 5
  • 7
  • 8

繰返し · 代入 · 条件式

7. 出典: 平成22年度 春期 ITパスポート試験 問53

変数AとBに格納されているデータを入れ替えたい。データを一時的に格納するための変数をTMPとすると, データが正しく入れ替わる手順はどれか。ここで「x←y」は, yのデータでxの内容を置き換えることを表す。

  • [図] TMP ← A → A ← B → B ← A
  • [図] TMP ← A → A ← B → B ← TMP
  • [図] TMP ← B → A ← B → B ← TMP
  • [図] TMP ← B → A ← B → B ← A

代入 · 手続

8. 出典: 平成22年度 春期 ITパスポート試験 問95

担当者には,社員からの文献の問合せが多い。担当者は,社員から電話で文献名を聞き,貸出可能かどうかを調べている。そこで,文献検索機能を文献システムに追加し,社員に利用させることにした。追加する文献検索機能について,その処理の流れを図のとおりにまとめた。図の d〜f に入る適切な字句の組合せはどれか。 〔文献検索機能の概要〕 (1) 問い合わせる文献名で,文献表をあいまい検索して結果を表示する。 (2) 該当する文献があるかを確認し,該当するものがある場合は,貸出可能かどうかを調べる。 (3) 貸出中であるか,貸出可能であるかを表示する。 (処理の流れ:開始 → 「文献名で文献表をあいまい検索して結果を表示する」 → 「該当する文献はあるか」 No → 「“文献なし”と表示する」 → 終了 / Yes → d → 「該当する貸出レコードはあるか」 No → e → 終了 / Yes → f → 終了) ① “貸出可能”と表示する ② “貸出中”と表示する ③ 文献番号で貸出表を検索し,返却日が空白値の貸出レコードを抽出する ④ 文献番号で貸出表を検索し,最も古い貸出日の貸出レコードを抽出する

図
  • d:③ e:① f:②
  • d:③ e:② f:①
  • d:④ e:① f:②
  • d:④ e:② f:①

流れ図 · フローチャート · 選択

9. 出典: 平成23年度 秋期 ITパスポート試験 問64

1~4の番号をもつ四つの状態があり,四つの状態は図のようにつながれており,時計回りや反時計回りに状態を遷移することができる。 図:四つの状態が環状に並んでおり,上に「1」,右に「2」,下に「3」,左に「4」が配置され,隣り合う状態どうしが両方向の矢印で結ばれている。時計回りは 1→2→3→4→1,反時計回りは 1→4→3→2→1 の向きである。 現在,状態1にいて,次の手順を2回実施した後はどの状態にいるか。 〔手順〕 今いる状態の番号を11倍し,それを3で割った余りによって次の処理を行う。 ・余りが0の場合:時計回りに一つ次の状態に遷移する。 ・余りが1の場合:反時計回りに一つ次の状態に遷移する。 ・余りが2の場合:時計回りに二つ次の状態に遷移する。

図
  • 1
  • 2
  • 3
  • 4

繰返し

10. 出典: 平成23年度 秋期 ITパスポート試験 問73

ワイルドカードの“%”が 0 個以上の連続した任意の文字列を表し,“_”が任意の 1 文字を表すとき,文字列全体が“_%イ%ン_”に一致するものはどれか。

  • アクセスポイント
  • イベントドリブン
  • クライアントサーバ
  • リバースエンジニアリング

条件式 · 選択 · 繰返し

11. 出典: 平成23年度 秋期 ITパスポート試験 問91

ディジタル画像を右に90度回転させる処理を流れ図で表すとき, 図3のaに入れる適切な字句はどれか。 図3 ディジタル画像を右に90度回転させる処理 回転前の画像を右に90度回転すると回転後の画像になる。流れ図は次のとおり。 ``` 開始 iでの繰返し(i=1,2,…,7) jでの繰返し(j=1,2,…,7) 回転前のi行j列の画素を回転後の[ a ]の画素に設定する jでの繰返し iでの繰返し 終了 ```

図
  • (8-i)行j列
  • (8-j)行i列
  • i行(8-j)列
  • j行(8-i)列

流れ図 · フローチャート · 繰返し

12. 出典: 平成23年度 特別試験 ITパスポート試験 問93

〔テクノロジ〕 関数の処理の流れを図1に示す。図1のaに入れる適切な条件式はどれか。 図1 関数の処理の流れ図 - 開始 - 判定 [ a ] : No の場合 → L=-1 → 終了 - 判定 [ a ] : Yes の場合 ↓ - 判定 [ J+K≧20 ] : No の場合 → L=3,000×J+1,000×K → 終了 - 判定 [ J+K≧20 ] : Yes の場合 → L=0.9×(3,000×J+1,000×K) → 終了

図
  • 0≦J≦20 and 0≦K≦20
  • 0≦J≦20 or 0≦K≦20
  • 0≦J+K≦20
  • J>20 and K>20

流れ図 · フローチャート · 条件式

13. 出典: 平成23年度 特別試験 ITパスポート試験 問96

1日券,2日券といった日数の異なる種類のチケットの金額計算に対応できるように,〔処理内容〕の②及び関数の仕様を変更し,引数にチケットの日数を表すMを追加した。Mには使用できる日数が入る。種類別のチケット金額を設定する配列をTP(M, N)とする。Nは大人の場合は1,子供の場合は2とする。配列の値は次のとおりである。引数がJ=10, K=20, M=2のときの合計金額は何円か。 なお,関数は,引数に応じてこの配列を参照し,チケット金額を決定する。 TP(1, 1) = 3,000, TP(1, 2) = 1,000, TP(2, 1) = 4,000, TP(2, 2) = 1,500, TP(3, 1) = 5,000, TP(3, 2) = 2,000

  • 45,000
  • 50,000
  • 63,000
  • 70,000

関数 · 引数 · 条件式 · 戻り値

14. 出典: 平成25年度 春期 ITパスポート試験 問53

コンピュータを利用するとき、アルゴリズムは重要である。アルゴリズムの説明として、適切なものはどれか。

  • コンピュータが直接実行可能な機械語に, プログラムを変換するソフトウェア
  • コンピュータに, ある特定の目的を達成させるための処理手順
  • コンピュータに対する一連の動作を指示するための人工言語の総称
  • コンピュータを使って, 建築物や工業製品などの設計をすること

流れ図 · 順次 · 手続

15. 出典: 平成27年度 秋期 ITパスポート試験 問48

表に示す構成のデータを,流れ図の手順で処理する場合について考える。流れ図中のx,y,zをそれぞれデータ区分A,B,Cと適切に対応させれば,比較(「xか?」,「yか?」,「zか?」)の回数の合計は,最低何回で済むか。 | データ区分 | 件数 | | --- | --- | | A | 10 | | B | 30 | | C | 50 | | その他 | 10 | [図]流れ図:「開始」→「xか?」(No→「yか?」,Yes→「xの処理」);「yか?」(No→「zか?」,Yes→「yの処理」);「zか?」(No→「その他の処理」,Yes→「zの処理」);各処理後→「終わりか?」(No→「次のデータ」へ戻る,Yes→「終了」)。注記:流れ図中のx,y,zはデータ区分のA,B,Cのいずれかと対応させる。

図
  • 170
  • 190
  • 230
  • 250

流れ図 · フローチャート · 選択 · 条件式

16. 出典: 平成27年度 春期 ITパスポート試験 問59

プログラムの処理手順を図式を用いて視覚的に表したものはどれか。

  • ガントチャート
  • データフローダイアグラム
  • フローチャート
  • レーダチャート

流れ図 · フローチャート

17. 出典: 平成31年度 春期 ITパスポート試験 問71

図1のように二つの正の整数 A1, A2を入力すると, 二つの数値 B1, B2を出力するボックスがある。B1は A2と同じ値であり, B2は A1を A2で割った余りである。図2のように, このボックスを2個つないだ構成において, 左側のボックスの A1として49, A2として11を入力したとき, 右側のボックスから出力される B2の値は幾らか。

図
  • 1
  • 2
  • 4
  • 5

手続 · 戻り値 · 引数 · 流れ図

18. 出典: 令和3年度 ITパスポート試験 問74

流れ図Xで示す処理では、変数 i の値が、1→3→7→13と変化し、流れ図Yで示す処理では、変数 i の値が、1→5→13→25と変化した。図中の a、b に入れる字句の適切な組合せはどれか。 〔流れ図X〕 開始 → i に1を格納する → 変換(ループ端) k:1, 1, 3 〔注〕 → [ a ]を計算し、その結果を i に格納する → 変換(ループ端) → 終了 〔流れ図Y〕 開始 → i に1を格納する → 変換(ループ端) [ b ] 〔注〕 → [ a ]を計算し、その結果を i に格納する → 変換(ループ端) → 終了 〔注〕ループ端の繰返し指定は、変数名:初期値,増分,終値を示す。

図
  • a=2i+k, b=k:1,3,7
  • a=2i+k, b=k:2,2,6
  • a=i+2k, b=k:1,3,7
  • a=i+2k, b=k:2,2,6

流れ図 · フローチャート · 繰返し

19. 出典: 令和4年度 ITパスポート試験 問78

関数 checkDigit は、10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列 originalDigit を引数として、次の手順で計算したチェックデジットを戻り値とする。プログラム中の a に入れる字句として、適切なものはどれか。ここで、配列の要素番号は1から始まる。 〔手順〕 (1) 配列 originalDigit の要素番号1~9の要素の値を合計する。 (2) 合計した値が9より大きい場合は、合計した値を 10 進の整数で表現したときの各桁の数字を合計する。この操作を、合計した値が 9 以下になるまで繰り返す。 (3) (2)で得られた値をチェックデジットとする。 〔プログラム〕 ○整数型: checkDigit(整数型の配列: originalDigit)  整数型: i, j, k  j ← 0  for (i を 1 から originalDigit の要素数 まで 1 ずつ増やす)   j ← j + originalDigit[i]  endfor  while (j が 9 より大きい)   k ← j ÷ 10 の商 /* 10進9桁の数の場合, j が2桁を超えることはない */     a  endwhile  return j

図
  • j ← j − 10 × k
  • j ← k + (j − 10 × k)
  • j ← k + (j − 10) × k
  • j ← k + j

擬似言語 · 繰返し · 関数 · 引数 · 戻り値 · 代入

20. 出典: 令和4年度 ITパスポート試験 問79

流れ図で示す処理を終了したとき,x の値はどれか。 [流れ図] 開始 ↓ x を 98 とする ↓ y を 42 とする ↓ 繰返し(x = y)(注) ↓ (分岐)x : y  ・「>」の場合: x - y の計算結果を新たな x とする  ・「≦」の場合: y - x の計算結果を新たな y とする ↓ 繰返し ↓ 終了 (注)ループ端の条件は,終了条件を示す。

図
  • 0
  • 14
  • 28
  • 56

流れ図 · フローチャート · 繰返し · 選択

21. 出典: 令和4年度 ITパスポート試験 問96

関数calcXと関数calcYは、引数inDataを用いて計算を行い、その結果を戻り値とする。関数calcXをcalcX(1)として呼び出すと、関数calcXの変数numの値が、1→3→7→13と変化し、戻り値は13となった。関数calcYをcalcY(1)として呼び出すと、関数calcYの変数numの値が、1→5→13→25と変化し、戻り値は25となった。プログラム中のa、bに入れる字句の適切な組合せはどれか。 [プログラム1] ○整数型: calcX(整数型: inData)  整数型: num, i  num ← inData  for (i を 1 から 3 まで 1 ずつ増やす)   num ←  a  endfor  return num [プログラム2] ○整数型: calcY(整数型: inData)  整数型: num, i  num ← inData  for ( b )   num ←  a  endfor  return num

図
  • a:2×num+i b:iを1から7まで3ずつ増やす
  • a:2×num+i b:iを2から6まで2ずつ増やす
  • a:num+2×i b:iを1から7まで3ずつ増やす
  • a:num+2×i b:iを2から6まで2ずつ増やす

擬似言語 · 繰返し · 関数 · 引数 · 戻り値 · 代入

22. 出典: 令和5年度 ITパスポート試験 問60

手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで,配列の要素番号は 1 から始まる。 [プログラム] ○printArray() 整数型: n, m 整数型の配列: integerArray ← {2, 4, 1, 3} for (n を 1 から (integerArray の要素数 − 1) まで 1 ずつ増やす) for (m を 1 から (integerArray の要素数 − n) まで 1 ずつ増やす) if (integerArray[m] > integerArray[m + 1]) integerArray[m] と integerArray[m + 1] の値を入れ替える endif endfor endfor integerArray の全ての要素を先頭から順にコンマ区切りで出力する

  • 1,2,3,4
  • 1,3,2,4
  • 3,1,4,2
  • 4,3,2,1

バブルソート · 繰返し · 擬似言語

23. 出典: 令和5年度 ITパスポート試験 問64

関数 sigma は, 正の整数を引数 max で受け取り, 1から max までの整数の総和を戻り値とする。プログラム中の a に入れる字句として, 適切なものはどれか。 〔プログラム〕 ○整数型: sigma(整数型: max) 整数型: calcX ← 0 整数型: n for (n を 1 から max まで 1 ずつ増やす) a endfor return calcX

  • calcX ← calcX × n
  • calcX ← calcX + 1
  • calcX ← calcX + n
  • calcX ← n

関数 · 繰返し · 戻り値 · 引数 · 擬似言語

24. 出典: 令和5年度 ITパスポート試験 問69

配列に格納されているデータを探索するときの, 探索アルゴリズムに関する記述の うち, 適切なものはどれか。

  • 2分探索法は, 探索対象となる配列の先頭の要素から順に探索する。
  • 線形探索法で探索するのに必要な計算量は, 探索対象となる配列の要素数に比例する。
  • 線形探索法を用いるためには, 探索対象となる配列の要素は要素の値で昇順又は降順にソートされている必要がある。
  • 探索対象となる配列が同一であれば, 探索に必要な計算量は探索する値によらず, 2分探索法が線形探索法よりも少ない。

線形探索法 · 2分探索法

25. 出典: 令和6年度 ITパスポート試験 問62

関数 convert は, 整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert(arrayInput) として呼び出したときの戻り値が「AABAB」になる引数 arrayInput の値はどれか。ここで, arrayInput の要素数は 1 以上とし, 配列の要素番号は 1 から始まる。 [プログラム] 〇文字列型: convert(整数型の配列: arrayInput) 文字列型: stringOutput ← 「」 // 空文字列を格納 整数型: i for (i を 1 から arrayInput の要素数 まで 1 ずつ増やす) if (arrayInput[i] が 1 と等しい) stringOutput の末尾 に 「A」 を追加する else stringOutput の末尾 に 「B」 を追加する endif endfor return stringOutput

図
  • {0, 0, 1, 2, 1}
  • {0, 1, 2, 1, 1}
  • {1, 0, 1, 2, 0}
  • {1, 1, 2, 1, 0}

擬似言語 · 繰返し · 選択 · 条件式 · 関数 · 引数 · 戻り値

26. 出典: 令和6年度 ITパスポート試験 問85

関数binaryToIntegerは,1桁以上の符号なし2進数を文字列で表した値を引数binaryStrで受け取り,その値を整数に変換した結果を戻り値とする。例えば,引数として「100」を受け取ると,4を返す。プログラム中のa,bに入れる字句の適切な組合せはどれか。 〔プログラム〕 ○整数型: binaryToInteger(文字列型: binaryStr)  整数型: integerNum, digitNum, exponent, i  integerNum ← 0  for (i を 1 から binaryStr の文字数 まで 1 ずつ増やす)   digitNum ← binaryStr の末尾から i 番目の文字を整数型に変換した値   // 例: 文字「1」であれば整数値1に変換   exponent ← [ a ]   integerNum ← [ b ]  endfor  return integerNum

図
  • a:(2のi乗)−1 b:integerNum×digitNum×exponent
  • a:(2のi乗)−1 b:integerNum+digitNum×exponent
  • a:2の(i−1)乗 b:integerNum×digitNum×exponent
  • a:2の(i−1)乗 b:integerNum+digitNum×exponent

擬似言語 · 繰返し · 基数変換

27. 出典: 令和7年度 ITパスポート試験 問78

手続 calcMod3 を呼び出したときの出力はどれか。 〔プログラム〕 ○calcMod3()  整数型: totalValue, i  totalValue ← 0  for (i を 1 から 7 まで 1 ずつ増やす)   if (i ÷ 3 の余り が 0 と等しい)    totalValue ← totalValue + i   endif  endfor  totalValue を出力する

図
  • 2
  • 3
  • 7
  • 9

繰返し · 擬似言語 · 条件式 · 選択

28. 出典: 令和7年度 ITパスポート試験 問98

4個の要素から成るデータの並びを, 次の手順を繰り返して昇順に整列するとき, 整列が終了するまでに(1)から(3)の一連の手順は, 何回実行されるか。ここで, 最初はデータの並び全体を整列対象とする。 データの並び : [27, 42, 33, 12] [手順] (1) 整列対象中の要素の最大の値を選び, 最後の要素と入れ替える。 (2) 最後の要素を整列対象から外す。 (3) 整列対象に要素が1個以上残っていれば, (1)から(3)の一連の手順を実行する。残っていなければ, 整列完了なので終了する。

  • 2
  • 3
  • 4
  • 5

選択ソート · 繰返し

29. 出典: 令和7年度 ITパスポート試験 問99

関数 calculateAmountOfPrize は,業務改善の効果における改善額と短縮期間を,それぞれ improvement と period で受け取り,賞金額を戻り値とする。改善額が20万円で短縮期間が3日の業務改善と,改善額が5万円で短縮期間が14日の業務改善があった。この二つの賞金額の合計は何円か。ここで,改善額と短縮期間の値はそれぞれ0以上とする。 〔プログラム〕 ○整数型: calculateAmountOfPrize(整数型: improvement, // 改善額(円) 整数型: period) // 短縮期間(日) 整数型: prize // 賞金額(円) if (improvement が 100000 より小さい) if (period が 7 より小さい) prize ← 500 else prize ← 1000 endif else if (period が 7 より小さい) prize ← 2000 else prize ← 5000 endif endif return prize

図
  • 1,000
  • 1,500
  • 3,000
  • 5,500

条件式 · 選択 · 関数 · 戻り値 · 引数

30. 出典: 令和8年度 ITパスポート試験 問67

手続 sort は,要素数が2以上の整数型の配列を引数 numberArray で受け取り,その要素を昇順に並べ替えた結果を出力する。手続 sort の動作確認のために,処理の途中で j の値と workArray の全ての要素を出力する。配列 numberArray を {3, 5, 1, 2, 4} とし,手続 sort を sort(numberArray) として呼び出したとき,j の値が3と出力された直後の workArray の全ての要素の出力はどれか。ここで,配列の要素番号は1から始まる。 〔プログラム〕 ○sort(整数型の配列: numberArray) 整数型: minIndex, j, k 整数型の配列: workArray ← numberArray // 配列の複製を作る for (j を 1 から (workArray の要素数 − 1) まで 1 ずつ増やす) // j 番目から末尾までの要素の中で最も小さい値をもつ要素の要素番号を // 一つ求める minIndex ← j for (k を (j + 1) から workArray の要素数 まで 1 ずつ増やす) if (workArray[k] が workArray[minIndex] より小さい) minIndex ← k endif endfor workArray[j] と workArray[minIndex] の値を入れ替える // 動作確認のために,j の値と workArray の全ての要素を出力する j の値を出力する workArray の全ての要素 を先頭から順にコンマ区切りで出力する endfor workArray の全ての要素 を先頭から順にコンマ区切りで出力する

  • 1,2,3,4,5
  • 1,2,3,5,4
  • 4,5,3,2,1
  • 5,4,3,2,1

選択ソート · 擬似言語 · 繰返し

31. 出典: 令和8年度 ITパスポート試験 問85

関数 isPrime は,引数として与えられた正の整数が,素数であれば true を,素数でなければ false を戻り値とする。例えば,関数 isPrime は isPrime(2) として呼び出したときの戻り値は true である。プログラム中の a,b に入れる字句の適切な組合せはどれか。 〔プログラム〕 ○論理型: isPrime(整数型: num)  整数型: div ← 2  if (num が 2 [ a ])   return false  else   while (num が div [ b ])    if (num ÷ div の余り が 0 と等しい)     return false    else     div ← div + 1    endif   endwhile   return true  endif

図
  • a:以下 b:と等しい
  • a:以下 b:より大きい
  • a:より小さい b:と等しい
  • a:より小さい b:より大きい

擬似言語 · 条件式 · 繰返し · 関数 · 戻り値

32. 出典: 令和8年度 ITパスポート試験 問88

プログラミングすることによって,ペンの上げ下げ,直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1mの正六角形を描画させるプログラムを作成した。次の正六角形描画プログラムの a,b に入れる字句の適切な組合せはどれか。 〔正六角形描画プログラム〕 (1) ペンを下ろす。 (2) 処理回数のカウンタに| a |を設定する。 (3) 次の処理を順に実行する。  ・1m 直進する。  ・右回りに| b |度方向転換する。  ・処理回数のカウンタに1を加える。 (4) 処理回数のカウンタが6未満の場合は,(3) に戻る。 (5) ペンを上げる。

  • a:0 b:60
  • a:0 b:120
  • a:1 b:60
  • a:1 b:120

順次 · 繰返し · 流れ図