数式の表現と日本語 データ構造とプログラミング(6)

Slides:



Advertisements
Similar presentations
データ構造とプログラミング技 法 (第3回) ー木構造ー. 木構造 (1) 根( root )と呼ばれる節 R が、 1 つだけ含まれ る。 R … TmTm T1T1 木構造: 1 個以上の節の有限集合 T であり、 次の二つの条件を満足するもの (2) 根以外の節は、 m (≧ 0 )個の互いに素な部.
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
自然言語処理:第3回 1.前回の確認 2.構文解析 3.格文法.
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
情報工学基礎(改訂版) 岡崎裕之.
基本情報技術概論(第4回) 埼玉大学 理工学研究科 堀山 貴史
プログラミング言語論 第4回 式の構文、式の評価
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
対話システム論 第六回 日本語によるプログラミング
SWAT I18N 概要 付け足した機能(実行時に言語の切り替え-i18nの範囲で) 問題点(細かい技術的問題、根本的問題) 今後
条件式 (Conditional Expressions)
プログラミング論 II 電卓,逆ポーランド記法電卓
アルゴリズムとデータ構造1 2009年6月25日
データ構造とアルゴリズム 第5回 スタック ~ データ構造(2)~.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
1. アナログ と ディジタル 五島 正裕.
言語プロセッサ2015 Language Processors 2015
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
コンピュータ概論B ー ソフトウェアを中心に ー #10 プログラミング・言語
プログラミング言語論 第2回 情報工学科 篠埜 功.
大岩 元 慶応大学環境情報学部 数式の表現と日本語 大岩 元 慶応大学環境情報学部
プログラミング言語論 プログラミング言語の基礎 水野嘉明
逆ポーランド電卓のつくりかた ── 脱ビギナ系 データ構造とアルゴリズム講座 「StackとRPN」
データ構造とアルゴリズム 第5回 スタック ~ データ構造(2)~.
言語プロセッサ 第7回目 平成27年11月16日.
東京工科大学 コンピュータサイエンス学部 亀田弘之
プログラミング言語入門.
データ構造と アルゴリズム第4回 知能情報学メジャー 和田俊和.
Structured programming
アルゴリズムとデータ構造 2010年6月28日
アルゴリズムとデータ構造1 2005年6月28日
二分探索木における要素削除 データ構造とプログラミング(10)
言語プロセッサ 第8回目 平成22年11月22日.
データ構造とアルゴリズム (第3回) ー木構造ー.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
逆ポーランド電卓のつくりかた ── 脱ビギナ系 データ構造とアルゴリズム講座 「StackとRPN」
プログラミング論 主成分分析
多種多様なプログラミング言語        チーム名  まほうびん 情報数学5 まほうびん 2019/04/08.
データ構造とアルゴリズム論 第9章 木構造 平成29年12月20日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成30年6月27日 森田 彦.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
プログラミング 3 スタックとキュー.
明星大学 情報学科 2012年度 後期   情報技術Ⅱ   第8回
スタックとキュー データ構造とプログラミング (第5回).
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
東京工科大学 コンピュータサイエンス学部 亀田弘之
執筆者:難波和明 授業者:寺尾 敦 atsushi [at] si.aoyama.ac.jp
形式言語とオートマトン 第14回 プッシュダウンオートマトンと全体のまとめ
プログラミング言語論 第2回 篠埜 功.
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
PROGRAMMING IN HASKELL
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
第10回 関数と再帰.
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
1.2 言語処理の諸観点 (1)言語処理の利用分野
 タイピング  情報教育の効果を高めるために 慶應義塾大学 環境情報学部教授 大岩 元.
プログラミングの原理 データ構造とプログラミング (第4回).
Presentation transcript:

数式の表現と日本語 データ構造とプログラミング(6) 大岩 元 慶応大学環境情報学部 ohiwa@sfc.keio.ac.jp

3通りの数式表現 Infix Notation Postfix (Inverse Polish) Notation (A + B) / C Postfix (Inverse Polish) Notation A B + C / Prefix (Polish) Notation / + A B C / C + A B

Postfix Notation の プログラミング言語 PostScript APL(A Programming Language) FORTH MIND 言霊

高級言語の役割 数式を書けば、機械語に翻訳される Infix Notation の数式をスタックを用いてPostfix Notationに翻訳する Postfix Notationの数式をスタックを用いて計算する

数式表現の比較 Infix Notation 数学 Postfix Notation 日本語 Prefix Notation 英語  数学 Postfix Notation  日本語 Prefix Notation  英語 A + B / C A B C / + + A / B C (A + B) / C A B + C / / + A B C A / B + C A B / C + + / A B C A / (B + C) A B C + / / A + B C

Infix と Postfix の比較 1 2 + 3 * 4 – 5 / ((1 + 2) * 3 –4) / 5 1 2 + 3 * 4 – 5 / ((1 + 2) * 3 –4) / 5 1 2 3 * + 4 – 5 * (1+2 * 3 –4) *5

括弧の効用と処理の問題点 全体の構造を一望できる 逐次処理が難しい ポーランド記法の利点 括弧が不要 逐次処理が容易

スタックとキュー スタックとは キューとは 中のものはとり出せない 情報を積み上げる とり出す時は上から Last In Fast Out(LIFO) キューとは 情報を並ばせる とり出す時は最初のものから First In First Out(FIFO) 中のものはとり出せない C B A

スタックを用いた計算 A B + C / (A+B)/C -- | 3 -- | 3 | 5 --| 8 --| 8 | 4 --| 2 A = 3 B = 5 C = 4

スタックを用いた数式変換 (A+B*C-D)/E --|( --|(|+ --|(|+|* --|(| --|(|- --| --|/

括弧の埋め込み構造 ((A+B)*C+B)/((A+B)/C) Infixの括弧は埋め込み構造を表現できる スタックの用いてInfixから Postfixに変換できる 埋め込み構造は複雑   なものを表現できる / C + A B * C

まとめ 典型的な情報処理を指示する数式は、木構造で表わされる抽象構造を持っている 数式の持つ抽象構造はInfix, Postfix, Prefixの3通りの具体表現を持つ 通常使うInfixによる数式表現は、括弧を用いて木構造を分り易く表現できる 人間に分り易い括弧による構造は、コンピュータ処理が難しくなり、スタックを用いた処理を必要とする 処理の具体構造の背後にある抽象構造を理解できる