みなさんこんにちは!おさかなです!
今回から「誰でもわかる基本情報シリーズ」というテーマで「基本情報技術者試験」に合格するための知識をご紹介していきます!
第18弾は「アルゴリズム」について、書いていこうと思います!
それでは、レッツゴー!!!!!
・「基本情報技術者試験」を受験しようと思っている人
・「基本情報」に必要な知識を身に着けたい人
・IT初心者の人
前回の復習
前回は「AIと機械学習」について学習していきました。
今回は「アルゴリズム」に見ていきましょう!
アルゴリズム(algorithm)
「アルゴリズム」とは、コンピューターが何らかの問題を解くための「計算方法」のことで、コンピューターに対して「手順」を与えることで、問題を処理することができます。
アルゴリズ〇体操とか聞いたことあるぞ!!
変数
手順の前に、まずは「変数」という「データを格納する箱」を用意します。そのあと、数値や文字列、論理値(真偽)などの「データ型」を宣言します。
そうすることで、変数のデータを保持する「メモリ領域」が確保され、その場所を示す「アドレス」も与えられます。
例:数値8、変数intAに代入します。
8 → intA
アルゴリズムでは値の「代入する」とき「矢印」を使って表現するよ!
流れ図(フローチャート)
端子
プログラムのはじめと終わり、またはサブプログラムの入り口と出口を表す。
処理
任意の種類の処理を表す。
判断
二者択一の判定を表す。
ループ端
ループ(繰り返し)のはじめと終わりを表す。
線
データ、または制御の流れを表す。
制御構造
前項で紹介した「記号」を組み合わせて、アルゴリズムを表現することができます。
2.選択 … もしCだったらDをする
3.繰り返し … Eになるまで繰り返す
という3つの「制御構造」で処理を考えます。
「繰り返し」はループ記号を使わずに「矢印を戻す」ことで表現されることもあるよ!
選択
選択には、「双岐選択」と「多岐選択」の2種類があります。
・多岐選択 … 3つ以上の処理のうちいずれかを選択します
繰返し
繰り返しには、「前判定繰り返し」と「後判定繰り返し」があります。
終了条件次第で、処理を1回も実行しないことがあります。
・後判定繰り返し(do while型) … 繰り返し処理の後で「終了条件」の判定を行います。
終了条件にかかわらず、処理を少なくとも1回は実行します。
判定する「タイミング」で処理結果が変わってくるので注意しよう!
疑似言語
「基本情報」の午後問題で必須のアルゴリズムは、流れ図ではなく「疑似言語」で出題されます。
実際にプログラミング言語で記述するときと似ているイメージです。
C言語の文法と似ている!!!!
流れ図と違い、最初は戸惑うかもしれませんがゆっくり慣れていきましょう!
手続き、変数などの名前、型などを宣言する
変数に式を代入する
単岐選択処理を示す
条件式が真のときは処理を実行する
双岐選択処理を示す
条件式が真のときは、処理1を実行し、偽のときは処理2を実行する
前判定繰り返し処理を示す
条件式が真の間、処理を繰り返し実行する
後判定繰り返し処理を示す
処理を実行し、条件が真の間、処理を繰り返し実行する
それでは、これらの記号を使って実際に「疑似言語」で書いたものを見てみましょう!
〇整数型;SUM
〇整数型:N
N÷2の剰余が0か?
偶数のとき、SUMにNを加える
Nに1を加える
しっかり復習しておこう!
おさかなが参考にした「書籍」一覧↓
・(PDF・スマホ単語帳付)かんたん合格 基本情報技術者教科書 令和2年度
・令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 情報処理技術者試験
・キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)
感想・まとめ
今回は「アルゴリズム」について、書いていきました…!
いかがだったでしょうか?
「流れ図(フローチャート)」などの読み取り方や、変数の箱のイメージなどをしっかりとつかんでおくと良いと思います!
4月19日に予定されていた、「基本情報技術者試験」およびIPA主催のその他の試験は中止となりました。
詳しくはコチラをご覧ください。
↓次回は「配列」について解説していきます!
お楽しみに~!
おさかなびではプログラミング学習中の人、ブログ初心者に向けて、「デジタル時代を楽しむためのミニ知識」をご紹介しています!
ぜひ他のページも覗いてみてください…!
それでは今回はこの辺で!
ここまで読んでくださり、ありがとうございました!
おさかなでした!
【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!
「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!