2014 年度 デーや構造とアルゴリズム 2014 年 4 月 16 日 1.データ構造の基礎 2.アルゴリズム(Algorithm)の基礎 1.1.変数 ]の考え方。[13:解法手順 ◎ アルゴリズム…[12:問題を解くため ]を格納するための一つの領域。領 ◎ 変数…[1:単独のデータ 5 ]を代入する。 記述: a ← k … 変数 a に[3:式の計算結果(値)k ]、x←[5:a/2 a/2 コンピュータに対する処理手続きを記述したもの。 2.1.演算アルゴリズム x ] 例:変数 a,d に対して、以下の処理①~⑤を順に施した時、それぞれの変数の値の推移 を表に調べよ。 手順 a ① a←3 ① 3 ② b←5 ② ③ w←a ③ ④ a←b ④ ⑤ b←w ⑤ b ある処理装置の働き(演算機能)を簡単な計算式(の組み合わせ)を用いて表わす。 例 1: 以下の機能を持つ処理装置 P において、入力 a,b,c にそれぞれ 3,5,8 を与えたと w きの出力 d の値を答えよ。 装置 P の処理 5 手順 3 5 3 1.2.配列 処理内容 式表現 ① a,b,c に値を入力する。 入力:a,b,c ② 入力 a の値と入力 b の値を乗じた結果を x とする。 x←[15:a*b ③ 値 x から入力 c の値を減じた結果を d とする。 d←[16:x-c ④ d を出力する。 出力:d ◎ 配列…複数の変数領域をひとまとめにしたもの.その[6:ま とめた領域につける ] ] a ]名前が配列名. P b ◎ (配列)要素…配列の個々の領域.要素番号(添え字)を付けて区別する.要素番号は [7:0 ]をコンピュータ用の言語で記述したもの。 ◎ プログラム…[14:アルゴリズム a a : 変数名。 x : 変数名。 例: a←[4:5 算法(さんぽう)と訳されることもある。 ]。 域につける名前が[2:変数名 ]。 3 5 8 7 d c ]から始まるものとする。 練習 A:上の処理装置 P に対して、右の表のような入力を与 a : 配列名。 えたときの出力は? a[k] : 配列 a の k 番目の領域(要素). 利用できる要素番号は、[8:0~(全要素数-1) 75 ] 68 70 記述:a[j]←n … 配列要素 a[j]に値 n を代入する。 例: a[0]←[9:75 ]、a[2]←[10:92 a[0] a[1] a[2] ] 記述:x←d[k] … 変数 x に配列要素 d[k]の値を代入する。 例: p←[11:d[5] ] 練習 B:下の処理装置 Q に対して、右の表のような入力を与 p d[5] えたときの出力は? 例:2 個の要素を持つ配列 a と変数 x に対して、以下の処理①~③を順に施した時、そ れぞれの要素と変数の値の推移を調べよ。 ① a[1]←4 ② x←-2 ③ a[0]←x+a[1] 手順 a[0] x 4 ① b c Q ① x←2*a+b ② d←2*c-x d b 2 3 -4 c 1 5 6 d -6 11 8 a 6 5 4 b 8 5 8 c 4 5 1 d 44 20 31 -2 ② ③ a[1] a a 3 -2 4 2 1/2 2014 年度 デーや構造とアルゴリズム 2014 年 4 月 16 日 (3) 反復処理 2.2.フローチャート フローチャート(流れ図)…アルゴリズムを[17:視覚的 ]に表現した図式。[18: フローチャート内の条件は、反復処理を意識して、 ● フローチャートで用いる主な記号 記号 名称 END 処理内容または意味 端子 NO 条件 反復する]処理。 ]がわかりやすい。 処理の流れや手順 START 条件が満たされている間、指定された処理を[22: フローチャートの開始と終了 YES 順次処理 『@(条件式)』のように記述することにする。 例 2: (1) 例 1 の処理装置 P の処理のしくみは以下のように記述され、そ 入力(式) or 入力(式) 入力記号 データの入力 START のフローチャートは右のようになる。 a,b,c ① 入力:a,b,c 出力(式) or 出力(式) 出力記号 データの出力,表示 ② x←a*b x←a*b ③ d←x-c ④ 出力:d 処理記号 処理(式) 判定(式) 計算,一般の処理 d (2) 2 つの変数 a,b にそれぞれ NO 判定記号 判定,条件判断や反復判定 YES a,b(整数) き「×」を出力する。 ]の 3 つの基本 構造化定理…すべてのアルゴリズムは、[19:順次・選択・反復 ① 入力:a,b(整数) ② a>b を判定 処理を組み合わせて記述できる。 ②YES 出力:「○」 (1) 順次処理 ]処理。 順次処理 1 END START 整数値を入力し、a>b のと き「○」を、そうでないと 2.3.構造化定理 入出力処理、代入処理などの[20:単独 d←x-c NO YES 「×」 END @(k≦10) ① sum←0 選択する]処理。 フローチャート内の条件は、選択処理を意識して、 『?(条件式)』のように記述することにする。 NO 条件 k←1 ②NO 出力:「×」 (3) 1 から 10 までの整数の総和を求めて出力する。 条件判断の結果によって、実行すべき処理を[21: sum←0 「○」 順次処理 2 (2) 選択処理 START ?(a>b) NO YES sum←sum+k ② k←1 ③ k≦10 の間、以下の処理を繰り返す。 YES ③1 sum←sum+k 順次処理 Y 順次処理 N ③2 k←k+1 ④ 出力:sum k←k+1 sum END 2/2
© Copyright 2024 ExpyDoc