140 likes | 360 Views
アルゴリズム(第 4 回) 10 月 19 日. <前回の授業> 1.1.2 データ構造(P 16 ~ 38 ). リスト ( P.28) 線形リスト、単方向リスト データ部とポインタ部からなる データを格納する為に固定領域を確保する必要がない データサイズが変動する場合 は便利なデータ構造. スタック ( P.30) データの追加と取り出しを一方向からのみに制限したデータ構造 後入れ先出し( Last In First Out ) LIFO Push ・・・データを追加する Pop ・・・スタックからデータを取り出す. キュー ( P.32)
E N D
アルゴリズム(第4回)10月19日 <前回の授業>1.1.2 データ構造(P16~38) リスト(P.28) 線形リスト、単方向リスト データ部とポインタ部からなる データを格納する為に固定領域を確保する必要がない データサイズが変動する場合は便利なデータ構造 スタック(P.30) データの追加と取り出しを一方向からのみに制限したデータ構造 後入れ先出し(Last In First Out)LIFO Push・・・データを追加する Pop ・・・スタックからデータを取り出す キュー(P.32) 待ち行列 先入れ後出し(First In First Out)FIFO
スタックを使って、括弧の対応が正しいかを調べるスタックを使って、括弧の対応が正しいかを調べる スタックを使って、数式の計算をする 3050+412+/ ①数字が現れたら、その数値をスタックに積む ②演算子(+-*/)が現れたら、スタックの上から2つの数字を取り出して、演算子に対応した加減乗除を行い、その結果をスタックに積む
<課題4> スタックとキューの二つのデータ構造がある。(解説)<課題4> スタックとキューの二つのデータ構造がある。(解説) 次の手続きを順に実行した場合、変数Xに代入されるデータは何か。 push(a)→push(b)→enq(pop( ))→push(d) →enq(c)→push(deq( )) →→→ X ← pop() ここで、 データaをスタックに挿入することを、 push(a) スタックからデータを取り出すことを、 pop( ) データaをキューに挿入することを、 enq(a) キューからデータを取り出すことを、deq( )とそれぞれ表す。
<課題5> 図のような単方向リストがある。”東京“がリストの先頭であり、そのポインタに は次のデータのアドレスが入っている。また、”千葉“はリストの最後であり、 そのポインタには0が入っている。アドレス150に置かれた”新小岩“を、”錦糸町“ と”市川“の間に挿入する場合、どのような処理を行えばよいか。
章末問題(1)P.38 解説 (a) 商品の在庫 (b) トラックの積荷 (c) 小学校の各クラスの人数 (d) 五十音順に並んでいる顧客名簿 FIFO キュー FILO スタック 配列 リスト(双方向)
今日の授業 フローチャート(P39) flowchart フローチャートとは、プログラム流れ図のことを示す 処理や作業の流れをわかりやすく図で表現したもの 流れ図記号 (P40) • プログラムにおける一連の演算を表す • 実際に行う演算を示す処理記号 • 論理演算に基づき、それに続く経路を定める記号も含む • 制御の流れを示す線記号 • その他(説明の為の特殊記号)
今日の授業 フローチャート(P39) flowchart フローチャートとは、プログラム流れ図のことを示す 処理や作業の流れをわかりやすく図で表現したもの 流れ図記号 (P40)
サブルーチン、モジュール 1個以上の命令の集まり 初期設定、スイッチ設定等 1個の入口と2個以上の出口を持つ 複数の処理が並列して行われる 繰り返しの始まりと終わり
任意のデータ データ入力、データ出力 どれか1個を選択して実行する 流れ図の他の場所へ出力 他の場所からの入口 プログラムの開始と終了
処理は上から下へ 処理記号の中に複数の処理を書いても良い 同じ処理を表す!
(例) 開始 コメントを書く 処理1 判断? ○を出力 終了
章末問題(P.48) レポート用紙に各課題を示し、提出しなさい章末問題(P.48) レポート用紙に各課題を示し、提出しなさい <課題6> (P5)図1.2の処理手順をフローチャートで書きなさい。 <課題7>(P48)章末問題(3) 2種類のフローチャート <課題8> (P48)章末問題(1) GP1、GP2、GP3のフローチャートを描きなさい。 また、それぞれの処理の長所と短所について、気がついたところがあれば記せ