令和7年ITパスポート学習記録~プログラムとアルゴリズム編その②~

ITパスポート
この記事は約6分で読めます。

前回の学習内容はこちら。

アルゴリズムは得意分野です。今日もはりきってまいりましょー!

スポンサーリンク

ITパスポート学習記録~プログラムとアルゴリズム編その②~

疑似言語の順次・選択・繰返し・関数

順次処理

●文字列の変数を使ったプログラム

 問題 
次の処理の出力結果を書け。
1 文字列型:name1, name2
2 name1 ← "田中"
3 name2 ← "太郎"
4 "お名前は" + name1 + name2 + "さんです。" を出力する

 解答 
お名前は田中太郎さんです。

●数値の変数を使ったプログラム

 問題 
次の処理の出力結果を書け。
1 実数型:base, height, area
2 base ← 5.0
3 height ← 7.0
4 area ← base * height / 2.0
5 area を出力する

 解答 
17.5

●配列を使ったプログラム

 問題 
次の処理の出力結果を書け。
1 /* 配列の作成 */
2 文字列型の配列:fruits ← {"apple", "banana", "cherry", "orange", "kiwi"}
3
4 /* リストの要素数を表示 */
5 fruits を出力する

 解答 
apple
banana
cherry
orange
kiwi

●配列のインデックス

 問題 
次の処理の出力結果を書け。
1 文字列型の配列:fruits ← {"apple", "banana", "cherry", "orange", "kiwi"}
2
3 fruits[2] を出力する

 解答 
cherry

選択処理

●2つの値を比較する表現

 問題 
次の処理の出力結果を書け。
1 整数型:age ← 25
2 if (age >= 20)
3 "お酒のWebサイトです。" を出力する
4 else
5 "ジュースのWebサイトです。" を出力する
6 endif

 解答 
お酒のWebサイトです。

●3つ以上の条件で判断する表現

 問題 
次の処理の出力結果を書け。
1 文字列型:weather ← "晴れ"
2 if (weather = "晴れ")
3 "Tシャツとショートパンツを着て出かけましょう。" を出力する
4 elseif (weather = "曇り")
5 "長袖とジーンズを着て出かけましょう。" を出力する
6 elseif (weather = "雨")
7 "レインコートを着て、傘を持って出かけましょう。" を出力する
8 else
9 "該当する天気がありません。" を出力する
10 endif

 解答 
Tシャツとショートパンツを着て出かけましょう。

繰り返し処理

●for文

 問題 
次の処理の出力結果を書け。
1 文字列型の配列:fruits ← {"apple", "banana", "cherry", "orange", "kiwi"}
2 for (iを0から4まで1ずつ増やす)
3 fruits[i] を出力する
4 endfor

 解答 
apple
banana
cherry
orange
kiwi

●while文

 問題 
次の処理の出力結果を書け。
1 整数型:number ← 5
2 while (number > 0)
3 number を出力する
4 number ← number - 1
5 endwhile

 解答 
5
4
3
2
1

関数

●関数と引数

 問題 
次の処理の出力結果を書け。
1 ◯整数型:add_numbers (整数型: a, 整数型: b)
2  return a + b
3
4 result ← add_number(3, 4)
5 result を出力する

 解答 
7

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

合計値を求めるアルゴリズム

問.これは何のアルゴリズムか?
1 ◯整数型:sigma (整数型:max)
2  整数型:calcX ← 0
3  整数型:n
4  for (nを1から maxまで1ずつ増やす)
5   calcX ← calcX + n
6  endfor
7  return calcX

正解.合計値を求めるアルゴリズム

最大値を求めるアルゴリズム

問.これは何のアルゴリズムか?
1 整数型の配列;numbers ← {15, 22, 84, 14, 23}
2 整数型:max ← numbers[0]
3 for (iを1から4まで1ずつ増やす)
4 if (numbers[i] > max)
5 max ← numbers[i]
6 endif
7 endfor
8 max を出力する

正解.最大値を求めるアルゴリズム

サーチアルゴリズム

線形探索法線形探索法は、データの集合を最初から最後までひとつずつ順番に調べて、目的の要素を探し出す方法である。データの量が多いほど時間がかかるため、効率はあまり良くない。ただし、未ソートのデータであっても探索が可能。
二分探索法二分探索法は、ソート済みのデータに対して使用される探索方法である。データの中央の値を見て、探している値が左右のどちらにあるかを判断し、不要な部分を捨てることで、探索範囲を半分に絞ることができる。探索範囲を半分に絞っていくため、線形探索法よりかは効率が良い。

ソートアルゴリズム

バブルソートバブルソートでは、配列内の隣接する要素を比較して、順序が正しくない場合は入れ替えを行い、配列の最後の要素まで行うことで、最後の要素が確定する。次は最後の要素を除いた要素で同様のことを繰返し、次に最後にあたる要素を確定させる。これをソートが完了するまで繰り返す。
選択ソート選択ソートは、配列から最小値(または最大値)を繰り返し選択し、この値を配列の前方へ移動することでソートを行う。
クイックソートクイックソートは、まず基準となる数(ピボット)を1つ選択する。ピボットの選択方法はアルゴリズムにより異なる。ピボット以外の数を「ピボットより小さい数群」と「ピボットより大きい数群」にグループ分けし、それぞれのグループごとにまたピボットを設定し、大小でグループ分けを繰り返してソートを行う。かなり高速でソートができる手法である。

Ankiアプリ用データ

以下のサイトより、Ankiアプリで活用できるITパスポートのストラテジ系+マネジメント系+テクノロジ系(ハードウェア+ソフトウェア+ネットワーク+コンピュータとデジタル情報+プログラムとアルゴリズム)の暗記データがダウンロードできます。

パスワードは半角で、「shirakawa」です。

ぜひ、学習にご活用ください。

firestorageダウンロード

Ankiアプリの使い方

Ankiアプリの簡単な使い方をご紹介しています。ぜひ、ご一読ください。

合わせて読みたい

参考文献

今回、学習用として参考にさせていただいているのがこちらの教本です。AmazonではPDF版もあるようです。セクションごとにQRコードを読み取って小テストを受けることができ、学習の確認もできて頼りがいのある一冊です。また、YouTubeでの解説動画もありますので、そちらも参考に学習を進めると良いでしょう。

コメント

タイトルとURLをコピーしました