①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語 アルゴリズムと プログラミング ①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 ①データ構造 (p219~) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 (1)データとデータ構造 変数 プログラム実行中に データを一時的に記憶する領域 配列(p221) 変数をグループ化したもの 「添字」で位置を指定する D = Input(画面) (イメージ)学年別 「外国人数」配列 2年生の 外国人数 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 「ポインタ」で連結した一連の変数群 データの追加・削除が容易 並べ替え 追加・削除 が面倒 配列・リスト(中間+期末) 双方向リスト (p221) 単方向リスト 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 リストの追加(例) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 リストの削除(例) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 (3)スタックとキュー “特有な”追加・削除ができるデータ構造 スタック・キュー(中間+期末) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
キュー(Queue、p219) First In First Out (先入れ先出し) 窓口での待ち行列 A B C D Dequeue Enqueue A B C D First In First Out (先入れ先出し) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
スタック(Stack、p219) Last In First Out (後入れ先出し) 本の摘み置き 挿入:Push 削除:Pop C B A D Last In First Out (後入れ先出し) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
データ構造を使って どう処理するか (p222~) ②アルゴリズム データ構造を使って どう処理するか (p222~) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 基本構造=> どんなプログラムも (1)流れ図(p223の図) JIS規格 (2)アルゴリズムの基本構造 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 (3)代表的なアルゴリズム 合計 繰返し構造 探索 線形探索法 最初のデータから逐次探索する 二分探索法(p225) 整列したデータを二分しながら探索する 選択構造 二分探索(小テスト) 選択構造(小テスト) (省略)バブルソート(p224) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 ③プログラム言語 (p226~) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 プログラム(Program) 配列の合計 を求める コンピュータに対する 計算などの手順を示したもの 手順を示す作業 =プログラミング 手順を記述する言葉 =プログラム言語 JISでは「プログラム言語」 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 (1)プログラム言語の種類 低水準言語 マシン語(p226)、アセンブリ言語(p228) 事務処理用言語(企業の基幹情報システム) COBOL(p227) オープン系、Web系 Java(p227) C(p226) ソースプログラム (Javaの例) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 コンパイラ(Compiler) COBOL、C 翻訳 一括実行 インタプリタ(Interpreter) Perl(p228)などのスクリプト言語(p226) 通訳 逐次実行 実行:速い インタプリタ(小テスト) JavaScript 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 ④マークアップ言語(ML) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 Webページを作成するML XML(p326) タグを独自に定義できるML HTML・XML(小テスト、中間の選択肢) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
HTMLの仕組み HTML で記述 ブラウザ で見ると タグ 論理構造 XMLでは 自分でタグを定義できる
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 End 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 Link先 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 繰返し構造の例(配列の合計) (戻る) ・・・ < I:10 繰り返しアルゴリズム(中間+期末) 何回 繰り返すか S=A(1)+A(2)+・・・+A(10) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 探索(「11」を探すケース) (戻る) (p225) 探索:速い ③ ② ① 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 Fin 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 使わない 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 木構造 データを小さい順に記憶できる (戻る) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 昇順or降順にデータを並べ替える 選択ソート 1番、2番、・・・を順に探して並べ替える バブルソート(p224) 隣接するデータを比較し続ける 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 基本選択法(ソート、整列) (戻る) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 (戻る) ・・・ 1回目:1~n個で交換を繰り返す→最大=A(n) 2回目:1~n-1個で交換を繰返す→最大=A(n-1) : 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
併合 (整列した複数のデータ群をまとめて整列する) 内部ソート ⇒ 外部ソート(整列) 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016
『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016 Java 14回 インターネット用オブジェクト指向 コンパイラが「JavaVM(仮想マシン)言語」に翻訳 「JavaVM環境」下で実行 環境(プラットフォーム)に依存しない Javaアプレット(p162) ブラウザと連動して動作する Javaサーブレット サーバ側で動作する JavaScript(p163) HTMLファイルに埋め込まれるスクリプト言語 アプレット サーブレット インタプリタ 『プログラミング』 (C)Copyright, Toshiomi KOBAYASHI,2009-2016