プログラミング言語論 プログラミング言語論 プログラミング言語論 演習1 解答と解説 演習1解答と解説 1 1.

Slides:



Advertisements
Similar presentations
2009/11/10 10 進数と r 進数を相互に変換できる コンピュータのための数を表現できる 2進数の補数を扱える コンピュータにおける負の数の表現を説明で きる コンピュータでの演算方法を説明できる 文字や記号の表現方法を示せる 第7回 今日の目標 § 2.2 数の表現と文字コード.
Advertisements

7章 情報の表現と基礎理論. 数の表現(書き方) 「数」と「数の書き方」をわけて考える 「数の書き方」と,「数そのものの性質」は別のもの 例:13 は素数・・・”13”という書き方とは無関係 ここでは書き方(表現方法)について考える 567.
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
基本編の用語説明 その2 エディタと日本語入力 エディタ  エディタ (editor) :文書を作成、編集する アプリケーションソフトウェア  教育用計算機システムのエディタは、 テキストエディット テキストエディット  基本的な編集方法はここここ  カーソル:文字が入力される位置を表している目印.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
プログラミング言語ADP 大藤雄久.
『基礎理論』 (C)Copyright, Toshiomi KOBAYASHI,
富山大学 公開講座 2008 「QRコードを作ろう!」 ~ QRコードを作ろう! ~.
「情報」 (中村) オリジナル PPT (2010/05/07) 1 1.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
プログラミング言語としてのR 情報知能学科 白井 英俊.
文字のディジタル化 Copyright(C)2009 Tsutomu Ohara All rights reserved.
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * 数字はstAへ 演算子はstBへ stA stB.
コードの歴史 ASCII(American Standard Code for Information Interchange)  ANSI ISO 646 = 95文字のラテン文字 アルファベット+数字+特殊文字 制御コード: LF, CR などの表示制御と   ACK,DEL などの通信制御 、など.
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
プログラミング言語論 第4回 式の構文、式の評価
第2章 ソフトウェアの基礎知識 電子制御設計製図Ⅰ    2010年5月11日 Ⅲ限目.
第2章 ソフトウェアの基礎知識.
情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健.
2012年度 情報数理 ~ QRコードを作ろう!(1) ~.
2008年度 情報数理 ~ QRコードを作ろう!(1) ~.
プログラミング論 II 電卓,逆ポーランド記法電卓
Outlook メール文字化けの原因と対策
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
報告4:蔵書評価における文字コード問題について
2010年度 情報数理 ~ QRコードを作ろう!(1) ~.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラムの制御構造 選択・繰り返し.
プログラミング言語論 プログラミング言語の基礎 水野嘉明
プログラミング言語論プログラミング言語論 プログラムの意味論 水野嘉明
プログラミング言語論 第3回 BNF記法について(演習付き)
文字コード 情報処理3 今井孝明.
最適化の方法 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第11章.
ネットワークプログラミング論 平成28年11月7日 森田 彦.
文字の表現.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
コンピュータに計算させる命令を確かめよう!
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第7回 条件による繰り返し.
第4回 コンピューティングの要素と構成 平成22年5月10日(月)
文字エンコーディング 2010年7月.
第2章 ソフトウェアの基礎知識 電子制御設計製図Ⅰ    2010年5月19日 Ⅱ限目.
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
2007/6/12(通信コース)2007/6/13(情報コース) 住井
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
補講:アルゴリズムと漸近的評価.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
第14回 前半:ラムダ計算(演習付) 後半:小テスト
本時の目標 同じパターンの式の展開を乗法の公式としてまとめ、その公式を使って式の展開ができるようにする。
日本語独特のL10N問題とは? 各社仕様の拡張文字 複数の符号化 規格の混乱など Unicodeとのマッピング
情報処理Ⅱ 第2回 2006年10月13日(金).
~sumii/class/proenb2010/ml2/
2006/6/27(通信コース)2006/7/5(情報コース) 住井
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
オペレーティングシステム 作成 T21R003 荏原 寛太.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 2003年6月11日(第9回) 木村巌.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
プログラミング1 プログラミング演習I 第2回.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング言語論 プログラミング言語論 演習5 解答と解説 演習5 解答と解説 1 1.
プログラミング言語論 プログラミング言語論 演習7 解答と解説 演習7 解答と解説 1.
Presentation transcript:

プログラミング言語論 プログラミング言語論 プログラミング言語論 演習1 解答と解説 演習1解答と解説 1 1

演習1.1 解答 (1) / + 7 5 2 = / (+ 7 5) (2) ← この2項の商 = / 12 2 = 6 プログラミング言語論 演習1.1 解答 (1) / + 7 5 2 = / (+ 7 5) (2) ← この2項の商 = / 12 2 = 6 (2) 10 3 - 25 5 / * = (10 3 -) (25 5 /) * ←2項の積 = 7 5 * = 35 括弧は、通常は用いない。説明のために付加した。 2 演習1解答と解説 2

演習1.2 解答 (1) x - y * z - x * y z (2) b * b - 4 * a * c (1) x - y * z - x * y z (2) b * b - 4 * a * c - * b b * * 4 a c 3

演習1.2 解説 (1) x - y * z 全体は、項 x と項 y*z の差 項 y*z は、 *y z - x * y z 4

演習1.2 解説 (続き) (2) b * b - 4 * a * c 全体は、項 b*b と項 4*a*c の差 項 b*b は ⇒*bb 演習1.2 解説 (続き) (2) b * b - 4 * a * c 全体は、項 b*b と項 4*a*c の差 項 b*b は ⇒*bb 項4*a*cは、項4*a (⇒ *4a)と項cの積 ⇒ * * 4 a c - * b b * * 4 a c 5

演習1.3 解答 (1) x - y * z x y z * – (2) b * b - 4 * a * c プログラミング言語論 演習1.3 解答 (1) x - y * z x y z * – (2) b * b - 4 * a * c b b * 4 a * c * - 6 演習1解答と解説 6

演習1.2、1.3 解説 (2) の b * b - 4 * a * cは、 - * b b * 4 * a c (前置) プログラミング言語論 演習1.2、1.3 解説 (2) の b * b - 4 * a * cは、 - * b b * 4 * a c (前置) b b * 4 a c * * - (後置) としない。 四則演算は左結合、つまり 4 * a * c は (4 * a) * cであり、 4 * (a * c) ではない。 7 演習1解答と解説 7

演習1.2、1.3 解説 (続き) 前置記法 ⇔ 中置記法 ⇔ 後置記法の変換を行っても、項(変数)の順序は変わらない 演習1.2、1.3 解説 (続き) 前置記法 ⇔ 中置記法 ⇔ 後置記法の変換を行っても、項(変数)の順序は変わらない + a b ⇔ a + b ⇔ a b + 項と演算子の位置関係が変わるだけである 8

演習1.4 解答 解答例 (1) -- Java public static int fib (int n) { プログラミング言語論 演習1.4 解答 解答例 (1) -- Java public static int fib (int n) { if (n <= 0) return 0; // fib(0)=0 else if (n == 1) return 1; // fib(1)=1 else return fib(n-1) + fib(n-2); } 9 演習1解答と解説 9

演習1.4 解答 (続き) 解答例 (2) -- C言語 int fib (int n) { if (n <= 0) プログラミング言語論 演習1.4 解答 (続き) 解答例 (2) -- C言語 int fib (int n) { if (n <= 0) return 0; // fib(0)=0 else if (n == 1) return 1; // fib(1)=1 else return fib(n-1) + fib(n-2); } 10 演習1解答と解説 10

演習1.4 解説 再帰を使うのは、演習のため 実際には、フィボナッチ数の計算では、再帰を使わない方がよい 再帰が適しているデータ構造もある Webサイトの資料 「木構造」 参照 11

演習1.4 解説 (続き) フィボナッチ数を求めるプログラムの非再帰版を、Webサイトに掲載しておいた 演習1.4 解説 (続き) フィボナッチ数を求めるプログラムの非再帰版を、Webサイトに掲載しておいた 再帰版の時間計算量はO(fib(n))であるが、非再帰版では O(n) である エラーチェックは、省略されている。 12

演習1.5 解答 (1) -1 (2) 10 (3) -10 ( 0xFFFF ) ( 0xA ) ( 0xFFF6 ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( 0xFFFF ) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 ( 0xA ) 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 ( 0xFFF6 ) 13

演習1.5 解答 (続き) (4) 255 (5)-255 ( 0x00FF ) ( 0xFF01 ) 演習1.5 解答 (続き) (4) 255 (5)-255 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 ( 0x00FF ) 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 ( 0xFF01 ) 14

演習1.6 解説 1バイト系文字コード ASCII (アメリカの規格、7ビット) 英数字、記号、制御記号 プログラミング言語論 演習1.6 解説 1バイト系文字コード ASCII (アメリカの規格、7ビット) 英数字、記号、制御記号 JISコード (JIS X0201) 英数字、記号、カタカナ、制御記号 ASCIIをほぼそのまま含む EBCDIC (IBM) メインフレームで使用 15 演習1解答と解説 15

演習1.6 解説 (続き) 多バイト系文字コード (漢字コード) EUCコード UNIXシステムで使用 Unicode 演習1.6 解説 (続き) 多バイト系文字コード (漢字コード) EUCコード UNIXシステムで使用 Unicode 世界中の文字を統一的に扱うため提案された UTF-7、UTF-8、UTF-16等の符号化方式がある 16

演習1.6 解説 (続き) JIS漢字コード (JIS X0208) 第1水準、第2水準、補助漢字などがある シフトJISコード 演習1.6 解説 (続き) JIS漢字コード (JIS X0208) 第1水準、第2水準、補助漢字などがある シフトJISコード Windowsなどで使用されている 17

演習1.7 解答 関係 「 ≧ 」は、 反射的である a≧a は、常に成り立つ 推移的である a≧b、 b≧c ならば a≧c 対称的ではない a≧b でも、 b≧a とは限らない 18