見出し画像

【擬似言語⑤課題】最小値 | 最大値探索の関数を流用する(基本情報技術者, 科目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は全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ

この記事が参加している募集