新教科「情報」現職教員等講習会テキスト(2)の「1 アルゴリズムの基礎」より 4 演習例 Aコース(主に普通教科「情報」対象) 演習1 1 次の記述を流れ図で表しなさい。  (1)3つの数字A,B,Cがある。これを昇順(小→大)に並び替えなさい。    考え方     @ A>B ならば AとBを入れ替える。     A A>C ならば AとCを入れ替える。     B B>C ならば BとCを入れ替える。  (2)ある西暦年号がうるう年であるかどうかを判定しなさい。    考え方     @ 西暦年号÷4   で 余りが出る  → うるう年でない     A 西暦年号÷100 で 余りが出る  → うるう年である     B 西暦年号÷400 で 余りが出る  → うるう年でない       西暦年号÷400 で 余りが出ない → うるう年である  (3)授業料の納付方法はつぎの要領である。     @ 推薦入学生       学習成績書を提出       推薦入学奨学金交付欄に押印     A 一般生徒       ア 現金納付の場合         会計備え付けの一般生徒授業料納付書に記入のうえ,         現金を添えて会計まで       イ 銀行振込の場合         会計備え付けの振込み用紙を利用         口座番号1234567に振込み     B 聴講生       会計備え付けの聴講生授業料納付書に記入のうえ,現金を添えて会計まで       ※銀行振込は取り扱わない  (4)ある人の給料(百円単位)がある。この給料の金種を求めなさい。   ※金種とは,現在流通している紙幣・貨幣の最小の組合せをいう。   考え方     @ 給料≧10000 → 1万円札の枚数計算                  給料から1万円札分の金額を引く     A 給料≧5000  → 5千円札が1枚                  給料から5千円分の金額を引く     B 給料≧1000  → 千円札の枚数計算                  給料から千円札分の金額を引く     C 給料≧500   → 5百円玉が1枚                  給料から5百円分の金額を引く     D 給料≧100   → 百円玉の個数計算                  給料から百円玉分の金額を引く    【応用問題】      この流れを,ループ5回の処理に変更しなさい。    【応用問題】      2千円札が入った場合の処理に変更しなさい。 2 次のように1列目のセルに市町村コード,2列目のセルに学校名,3列目のセルに  生徒数が入ったデータが15件ある。セル(16,C)に生徒数の合計,セル(17,C)  に生徒数の最大値,セル(18,C)に生徒数の最小値を求めるプログラムを作成しな  さい。 [A] [B] [C] [ 1] 100 刈丘高校    460 [ 2] 100 刈丘北高校 800 [ 3] 100 刈丘東高校 600 [ 4] 100 刈丘工業高校 320 [ 5] 200 碧北高校 1200 [ 6] 200 碧北商業高校 560 [ 7] 300 高城高校 670 [ 8] 300 高城東高校 870 [ 9] 300 高城南高校 450 [10] 300 高城農業高校 350 [11] 400 東尾高校 860 [12] 400 東尾西高校 750 [13] 400 東尾実業高校 380 [14] 500 千龍高校 700 [15] 500 千龍高校 680 [16] 合計 [17] 最大 [18] 最小 演習2 1 次のセルの数字を昇順に整列するプログラムを交換法で作成しなさい。 [A] [B] [C] [D] [E] [1] 24 17 16 31 18 [2] 2 次のような3列目のセル(学級名)と4列目のセル(担任名)を配列に格納し,セル  (1,A)の学級名から,セル(1,B)に担任名を表示する線形探索のプログラム  を作成しなさい。学級名が存在しない場合はエラーと表示する。    [A] [B] [C] [D] [ 1] 24 川上 哲伸 11 沢田 聖子 [ 2] 12 歌田 光 [ 3] 13 畠中みゆき [ 4] 14 林  寛子 [ 5] 15 武  雄高 [ 6] 21 小林 亜月 [ 7] 22 鈴木 一朗 [ 8] 23 星野 仙二 [ 9] 24 川上 哲伸 [10] 25 中根 郁子 [11] 31 鈴木 千鶴 [12] 32 松下 政治 [13] 33 福留 孝一 [14] 34 野口 次郎 [15] 35 山元 昌広  【応用問題】   二分探索法のプログラムを作成しなさい。 Bコース(主に専門教科「情報」対象) 演習1 1 次のように1列目のセルに市町村コード,2列目のセルに学校名,3列目のセルに  生徒数が入ったデータが15件ある。セル(16,C)に生徒数の合計,セル(17,C)  に生徒数の最大値,セル(18,C)に生徒数の最小値を求めるプログラムを作成しな  さい。 [A] [B] [C] [ 1] 100 刈丘高校    460 [ 2] 100 刈丘北高校 800 [ 3] 100 刈丘東高校 600 [ 4] 100 刈丘工業高校 320 [ 5] 200 碧北高校 1200 [ 6] 200 碧北商業高校 560 [ 7] 300 高城高校 670 [ 8] 300 高城東高校 870 [ 9] 300 高城南高校 450 [10] 300 高城農業高校 350 [11] 400 東尾高校 860 [12] 400 東尾西高校 750 [13] 400 東尾実業高校 380 [14] 500 千龍高校 700 [15] 500 千龍高校 680 [16] 合計 [17] 最大 [18] 最小 2 1のデータから市町村別の生徒数を下記のように求めるプログラムを作成しなさい。 [E] [F] 100 2180 200 1760 300 2340 400 1990 500 1380 合計 9650 演習2 1 次のセルの数字を昇順に整列するプログラムを作成しなさい。  整列手法は3種類(交換法,選択法,挿入法)すべてを行うこと。 [A] [B] [C] [D] [E] [1] 24 17 16 31 18 [2] 2 1の整列のプログラムで,次のように整列の流れがわかるようにプログラムを変更  しなさい。 [A] [B] [C] [D] [E] [1] 24 17 16 31 18 [2] [3] 16 17 24 31 18 [4] 16 17 24 31 18 [5] 16 17 18 31 24 [6] 16 17 18 24 31 [7] [8] 16 17 18 24 31 3 次のような3列目のセル(学級名)と4列目のセル(担任名)を配列に格納し,セル  (1,A)の学級名から,セル(1,B)に担任名を表示する線形探索及び二分探索の   のプログラムを記述しなさい。学級名が存在しない場合はエラーと表示する。    [A] [B] [C] [D] [ 1] 24 川上 哲伸 11 沢田 聖子 [ 2] 12 歌田 光 [ 3] 13 畠中みゆき [ 4] 14 林  寛子 [ 5] 15 武  雄高 [ 6] 21 小林 亜月 [ 7] 22 鈴木 一朗 [ 8] 23 星野 仙二 [ 9] 24 川上 哲伸 [10] 25 中根 郁子 [11] 31 鈴木 千鶴 [12] 32 松下 政治 [13] 33 福留 孝一 [14] 34 野口 次郎 [15] 35 山元 昌広