プログラミング言語論 第1回 イントロダクション 担当:犬塚. 講義内容と目的  プログラミング言語パラダイム  プログラミング言語の諸要素  プログラム理論  プログラムの意味論 講義の目的  プログラミング言語に関するアイデアを一通り習得する こと。

Slides:



Advertisements
Similar presentations
SPSSによるHosmer-Lemeshow検定について
Advertisements

東京工科大学 コンピュータサイエンス 亀田弘之
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
第 3 回 iPhone アプリ開発勉強会 Objective-C 基礎講座 - インスタンスメソッド - 三井 相和.
9.線形写像.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
つくばだいがくについて 芸術専門学群のこと. 筑波大学ってこんなところ 東京教育大学を前身とする大学で、その 創立は日本で最も古い大学のひとつ。 大学の敷地面積は日本で二番目に広い大 学で、やたら坂が多い。移動時間が15分 しかないのに上り坂を三つ超えることがよ くある。
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
論理回路 第2回 今日の内容 前回の課題の説明 数の体系 – 数の表現 – 代表的な数 – 基数の変換 – 補数.
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
公開鍵暗号系 2011/05/09.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
プログラミング入門2 第4回 式文 代入式 論理演算子 ループの脱出、スキップ 情報工学科 篠埜 功.
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
複素数.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
人工知能特論II 第7回 二宮 崇.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
3.プッシュダウンオートマトンと 文脈自由文法
6.符号化法(6章).
ビット. 十進数と二進数 十進数  0から9までの数字を使って 0、1、2、3、4、5、6、7、8、9、 10、11、12 と数える 二進数  0と1を使って 0、1、10、11、100、101、11 0、111 と数える.
人工知能特論 II 第 4 回 二宮 崇 1. CCG (COMBINATORY CATEGORIAL GRAMMAR) 組合せ範疇文法 2 今日の講義の予定.
平成22年度予算の国立大学法人関連要望事項に係るパブリックコメント説明会
3.正方行列(単位行列、逆行列、対称行列、交代行列)
年度 情報数理学. 2 履修にあたって 2009 年度 大学院奇数セメスター(前期)開講 K336→ 大学院棟 D 416(次回から)教室: 時限: 火曜日3時限( 12:50 - 14:20 ) 担当 草苅良至 4/21( 火) 休講 → 補講 ?/? ? 時限 D416.
学習者の意欲を高める音読指導の 一時例 1 Speak を使った 音読指導 鈴木政浩(西武文理大学)
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
C言語応用 構造体.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
Automatic Language Acquisition, an Interactive Approach † Robert J. Martin † 大西昇 ‡ 山村毅 † 名古屋大学 ‡ 愛知県立大学.
HSPによる学習機能付き シューティングゲームの製作
1 中野研究室 4 年ゼミのイロハ 斉藤(修士 2 年) ( 2009 年 ”4 年ゼミのイロハ ” を参考に作りました)
移動エージェントプログラムの 動作表示のためのアニメーション言 語 名古屋大学情報工学コース 坂部研究室 高岸 健.
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
プログラミング言語論 第9回 論理型プログラミング言語 担当:犬塚.
1 プログラミング言語論 第5回 手続き呼出し 担当:犬塚. 2 今日の講義 手続きや関数などの呼出しに関わること  手続きの宣言、手続きの定義  名前の束縛とスコープ  ブロック構造  スコープ規則  引数渡し  引数渡しと評価(計算)方式.
プログラミングⅠ( 2 組) 第 1 回 / pLB1.pptx.
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
ことばとコンピュータ 2007 年度 1 学期 第 1 回. 2 ことばとコンピュータ 授業科目名:言語情報処理論 授業題目名:ことばとコンピュータ 履修コード: 5067 教室: 323 一学期開講 授業の進め方 – 基本的に講義中心ですすめ,時々コンピュー タを使う.
自立型走行ロボットの 設計・製作 AKI-80を用いたアセンブリ言語の プログラミング開発 矢萩・橋本研究室 工E12019 山田 正樹
1 プログラミング言語論 第4回 抽象データ型 担当:犬塚. 2 今日の講義 データ抽象に関する事柄を見る。  データ抽象とは  抽象データ型とは  抽象データ型の諸概念、利点  ADTのバリエーション 引数つきの抽象データ型 モジュール単位のカプセル化  データ不変条件.
音の変化を視覚化する サウンドプレイヤーの作成
プログラミングの基礎知識 プログラミングの手順と重要概念 アルゴリズム. プログラミングの手順 コーディング エディタなどでコードを記述 コンパイル・インタープリタ 実行可能な形に翻訳 デバッグ(虫取り、不具合の調整) 完成!
Self-efficacy(自己効力感)について
1 オペレーティングシステム #7 計算機工学 III オペレーティングシステム #7 主記憶管理:主記憶管理基礎 2006/05/26 津邑 公暁.
本文. 考えながら読みましょ う 「いろいろなこと」( 3 行目)は何で すか 「①電話料金はコンビニで支払いをしていま す。いつでも払えますから、便利です。」 「②夕食はコンビニで買います。お弁当やお かずがいろいろありますから。」今、若者に 人気のあるコンビニは、いろいろなことをす るのに非常に便利な場所になった。
今日の内容 高階関数  関数を値として扱う 関数を引数にとる 関数を返す関数 プログラミングの例題  クイックソート.
2015/11/19. To foster Historical Thinking Skill by Creating Story Necessary Relationships and Elements of Characters In historical learning, historical.
英語勉強会 名手⇒詫間 2015/10/22. 原文 This study says acquiring motor skills support system. There is how to acquire moor skills that coach advises learner. Motor.
Presentation transcript:

プログラミング言語論 第1回 イントロダクション 担当:犬塚

講義内容と目的  プログラミング言語パラダイム  プログラミング言語の諸要素  プログラム理論  プログラムの意味論 講義の目的  プログラミング言語に関するアイデアを一通り習得する こと。

初期のプログラミング言語  最初の言語=機械語 複雑な計算を書くのに大変時間がかかる デバッグに多大な時間が取られる  数式を書くように記述して、自動的にプログラ ムを出す仕組みが欲しい  自動数式変換 = FORmula TRANslator FORTRAN 1956

プログラミング言語 記述と抽象度のレベル  機械語  アセンブリ言語  高級言語 実行の形式  コンパイラ言語  インタプリタ言語  スクリプト言語 用途  科学技術計算用言語  ビジネス用  人工知能用言語  ネットワークプログラミング用  特殊用途用(シミュレーション用、データベース管理、 … )

パラダイム  プログラミング言語の分野だけでなく、広く 使われている言葉。 (本当は、もっと厳密に意味が決まっている) 科学研究の1つのコミュニティ(分野)で共有さ れるアイデアの全体 その分野での、用語、考え方、成功事例等の全体。 パラダイムを共有していない集団は、話が通じな い。 トーマス・クーン 科学革命(パラダイム転換)

プログラミング言語パラダイム  プログラミングに関する考え方の総体 ( 必ずしも、クーンの使い方とは一致していない )  プログラミング言語パラダイム 計算モデル プログラミング言語に組み込まれる仕掛け 場合によって プログラミング作法 ライブラリ 開発環境 そのプログラムを使った開発事例

プログラミング言語パラダイム  命令型(代入型,状態遷移型)言語パラダイ ム  関数型言語パラダイム  論理型言語パラダイム  オブジェクト指向型言語パラダイム

計算モデル  計算するとはどういうことであるかの説 明。  計算モデルが変わるとプログラミング言 語の 設計も変わる。  計算モデルはプログラミング言語パラダ イムの最重要かつ主要な構成要素

計算モデル1 状態モデル  計算とは、計算機の内部状態を変えてゆくもの。  計算が終わったときの計算機の内部状態が計算 の結果。 x:35x:36 実行前の 内部状態 実行後の 内部状態 for i:=1 to 10 do X:=X+1 X:=X+1 x:35x:45

状態モデルに基づく プログラミング言語  命令型言語、代入型言語 FORTRAN( 1954, 1957 ) John W. Backus ALGOL (1958) PASCAL( 1970 ) Niklaus Wirth C (1972)  状態を変えるための命令手順書の形式  変数と変数への代入  変数の値に関する仕組み=データ型  命令を構造化する仕組み=構造化プログラミン グ  命令を機能別にまとめる仕組み=手続き

計算モデル2 関数モデル  計算とは、関数を適用することである。 f (x) ただし f (x) = x + 1 23

関数モデルに基づく プログラミング言語  関数型言語 Lisp (1958) John McCarthy FP ( 1978 ) Scheme ML(1974) Common Lisp  プログラムは関数の定義、関数の適用  ラムダ計算、再帰的定義、関数抽象  リストとリスト操作関数  ガーベージコレクション

計算モデル3 証明モデル  計算とは、ある条件式を満足するものが存在す ることを証明することである。  プログラムとは条件を定義すること。  論理プログラミング=導出原理 Prolog(1972)  構成的論理=条件を満たすものの存在を証明す るため、それが何なのかを実際に示せ。 を証明せよ。

計算モデル4 ものモデル  計算とは、ものの相互作用である。  ものにはその性質、状態、機能がある。  もの=オブジェクトが互いに働きかけることで、 その状態を変化させ、計算が進む。  オブジェクトのクラス、クラス継承 関連概念:抽象データ型、カプセル化  Smalltalk 、C++、 Java

その他の計算モデル  プロセスに基づくモデル 平行プログラミング  分散アルゴリズム  ネットワークプログラミング  テキスト処理言語  データベース管理言語

プログラミング言語の諸要素  文法BNF  制御構造構造化プログラミング  変数、値、データ型型代数、オブジェクト指向 抽象データ型  サブルーチンと呼出しクラス、継承、カプセル化  実行部分計算、ネットワーク対応 検証、アサーション  入出力イベント駆動

プログラム理論  プログラムの正しさ 正当性と停止性  2つのプログラムが等しいということ 入力と出力の関係が等しいこと プログラムの計算の仕方も含めて等しいこと  プログラムによって計算できること、できない こと 数学的に定義できる関数 プログラミング言語によって表現できる関数 停止が飛翔できるプログラムで表現できる関数

プログラムの意味論  プログラミング言語は言語である。  言語は何かを表現するためのもの。  表現しているものがその文の意味。  プログラムは何を表現しているのか。  プログラムは、計算機に何を要請しているのか。  プログラムが正しいということは、何を期待し ているのか

プログラミング言語意味論  操作的意味論 プログラムは状態をどのように変化させていくのか。  公理的意味論 プログラムの実行によってどんな性質が満たされる のか。  表示的意味論 プログラムが意味するものを、具体的に対応付ける。

参考書  Robert W Sebesta, Concepts of Programming Languages, Addison Wesley,  Peter Van Roy and Self Haridi, Concepts, Techniques, and Models of Computer Programming, MIT Press,  ラビ・セシィ(神林靖 訳),プログラミング言語の概念と構造(新装版), ピアソン・エデュケーション,  Bill Kinnerslev,Collected Information On About 2500 Computer Languages, Past and Present.  R. バード(土居範久 訳),プログラム理論入門,培風館, 1981 .