【擬似言語⑤課題】最小値 | 最大値探索の関数を流用する(基本情報技術者, 科目B, アルゴリズム)
このNoteでは、最小値を見つける関数を作ります。最大値を見つける関数を流用するので超簡単ですよ。>【擬似言語⑤】最大値のNote
テキストの基礎を生かして、プログラム的な考察/工夫を学んでいきます。基礎と実用にギャップを感じる方のために作りました。
>【FEB】擬似言語の教科書Note
ぜひ一緒に学習を進めていきましょう!
このNoteは、私がIT専門学校で授業したことを基に作成しています。
IT専門学校でFEは第一目標として、カリキュラムが構築されています。何も知らずに入学しても、1年生10月にはFE合格していきますよ。実績ある教育ノウハウを詰め込んだので、少しでも信頼して頂けたら嬉しいです。
>全Noteへのリンク(FE節)
※科目Aのテーマ別/科目B/旧FE午後など沢山作りました!
最大値→最小値
最大値を見つける「findMax関数」の流れ。
❶1番目のデータを暫定チャンピオン(最大値)にする
❷data配列を順番に、暫定チャンピオンと比べる
でdataを全て比べたら最大値が分かる寸法。
〇findMax(整数型の配列: data)
整数型: maxVal
整数型: i
maxVal ← data[1]
for (i を 2 から dataの要素数 まで 1 ずつ増やす)
if (data[i] > maxVal)
maxVal ← data[i] / チャンピオンの交代 */
endif
endfor
maxVal を表示する最小値を見つける「findMin関数」も全く同じですね。
ただし、❷の判定で不等号を変える必要あり。
〇findMin(整数型の配列: data)
整数型: minVal
整数型: i
minVal ← data[1]
for (i を 2 から dataの要素数 まで 1 ずつ増やす)
if (data[i] < minVal)
minVal ← data[i] / チャンピオンの交代 */
endif
endfor
minVal を表示するこれだけです。
関数名と変数名をちょいと変えて。
findMaxをfindMinに。
maxValをminValに。
※変えなくても動きますが不等号を変える。
「data[i] > maxVal」を「data[i] < minVal」に。
初期値を1番目のデータにしてて良かった
暫定チャンピオンを1番目のデータにしてたのが良かったです。
maxVal ← data[1] minVal ← data[1]もし初期値を使っていた場合、検討が必要でした。
例えば、0~100点のテストの場合。
maxVal ← -1 minVal ← 101などのように範囲外の値を代入して、「1番目のデータが必ずチャンピオン(最大値, 最小値)」に変わるようにする必要がありました。
もし0~100点って範囲がない値だったら大変です。
なので「どーせ、実データを入れるんだから、強制的に1番目を入れちゃえ」って発想になったんです。>【擬似言語⑤】最大値のNote(データで初期化)
まとめ
お疲れ様でした!
関数を流用して簡単でしたね。初期化もしっかり検討されてたので良かった。>【擬似言語⑤】最大値のNote
流用だけじゃ非効率な場合は改良します。それはまた今度。>【擬似言語アルゴ②課題C】複数個分のシフトのNote*
中央値や最頻値を算出する関数も作りたいですね。
>中央値のNote(企画中*)
>最頻値のNote(企画中*)
ではでは。
最後に私のお薦めの演習順番。
❶学習前の”分からせ”
>【FEB】サンプル問題2のNote
❷テキスト
>【FEB】擬似言語の教科書Note
>【FEB】擬似言語の理解演習Note ←いまこの辺
↓※必要なら
うかる! 基本情報技術者 [科目B・セキュリティ編](amazon)
うかる! 基本情報技術者 [科目B・アルゴリズム編](amazon)
❸各年度の公開問題
>【FEB】令和07年科目BのNote
>【FEB】令和06年科目BのNote
>【FEB】令和05年科目BのNote
➍解法の総復習(➋や➌と併用可)
>【FEB】擬似言語の11の解法Note
➎模擬試験
>【FEB】サンプル問題1のNote(擬似言語)
>【FEB】サンプル問題1のNote(セキュリティ)
>全Noteへのリンク(FE節)
※科目Aのテーマ別/科目B/旧FE午後など沢山作りました!
いいなと思ったら応援しよう!
学習方法・問題特集のNoteは全て無料提供を続けます▼
もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼
もちろんコメントでも結構です(・ω・▼)ノシ