大岩 元 慶応大学環境情報学部 ohiwa@sfc.keio.ac.jp 数式の表現と日本語 大岩 元 慶応大学環境情報学部 ohiwa@sfc.keio.ac.jp.

Slides:



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

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

大岩 元 慶応大学環境情報学部 ohiwa@sfc.keio.ac.jp 数式の表現と日本語 大岩 元 慶応大学環境情報学部 ohiwa@sfc.keio.ac.jp

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

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

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

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

スタックを用いた計算 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 AB ABC ABC*+ ABC*+D ABC*+D- ABC*+D-E ABC*+D-E/

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

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