• 検索結果がありません。

( その 1: 導入 ) 「プログラミング言語」

N/A
N/A
Protected

Academic year: 2021

シェア "( その 1: 導入 ) 「プログラミング言語」"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

工学部専門科目

「プログラミング言語」

(

その

1:

導入

)

五十嵐 淳

[email protected]

京都大学 大学院情報学研究科 通信情報システム専攻

(2)

本日のメニュー

講義導入

SICP第1〜2章(「アルゴリズムとデータ構造入 門」)の復習

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 2 / 16

(3)

事務的情報

名前: 五十嵐 淳(いがらし あつし)

所属: 情報学研究科 通信情報システム専攻 計算機 ソフトウェア分野

オフィス: 総合研究7号館224号室

▶ オフィスアワー: 火曜15:00〜17:00 よろず相談窓口: [email protected]....

▶ TAの井上 裕昭君,樹下 稔君と五十嵐に連絡でき ます

講義WWWページ: http://www.fos.kuis.

(4)

成績評価

宿題 30%

▶ 宿題提出システムへの登録が必要(後述) 期末試験 70%

随意課題によりさらに加点

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 4 / 16

(5)

講義内容

シラバスより

プログラミング言語についてコンピュータサイエンス の立場から論じる.使用するプログラミング言語は

Schemeであり,高度なプログラミングの概念について

学ぶとともに,実際にプログラミングに適用すること を通じて,プログラミングの本質を習得する.

教科書の前半(第1章および第2章)は「アルゴリズ ムとデータ構造入門」(第1学年後期配当,91150)で 取り上げ,本講義では第3章および第4章を取り上

(6)

第

3

章

: Modularity, Objects, and State

状態変化を伴う部品を使ったシステム記述について Modularity(モジュール性)…システム全体を,より小 さく,独立して開発/保守可能な部分システム(モ ジュール)に「自然に」分割可能であること

Objects(オブジェクト)…(時間を経て変化する)内部 状態を持つシステム部品

State…状態

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 6 / 16

(7)

第

4

章

: Metalinguistic Abstraction

超言語的抽象について

プログラミング言語自体(の意味)の変更による抽象 化の実現

▶ Scheme 処理系を Scheme 自身で記述

▶ 処理系を変更して「Schemeの亜種」を作る,特殊 形式を追加する

(8)

SICP 第 1 〜 2 章の復習

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 8 / 16

(9)

問題

1:

正整数

n

に対し,階乗

n!

を返 す手続

factorial

を定義せよ

(define (factorial n)

)

(10)

問題

2:

問題

1

で定義した

factorial

を 使って

5!

を計算する過程を示せ

(factorial 5)

−→

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 10 / 16

(11)

問題

3:

以下の入力列を与えた時

(

最後 の入力に対する

) Scheme

処理系からの 応答はどうなるか答えよ.

(define (foo x)

(lambda (y) (* (+ 2 x) y))) (define x 6)

(define bar (foo 5)) (define x 1)

(bar 4)

(12)

問題

4:

以下の式を評価した結果作られ る構造を図示せよ

例: (cons 1 2)

(cons 1 nil) (list 1 2)

(cons (cons 1 2) 3) (cons 1 (list 2 3)) (list (list 2 3) 4)

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 12 / 16

(13)

問題

5: x

を評価した結果,以下が表示 される時,

x

の指す構造を図示せよ.

また

x

に

car, cdr

を使って

2

を得る 方法を示せ.

例: (1 . 2) (cdr x) −→ 2

(14)

問題

6:

手続き

length

を以下のように 定義する.この時,以下の式の値は何 か

(define (length xs) (if (null? xs) 0

(+ 1 (length (cdr xs))))) (length ’(4 8 2))

(length ’((1 2) 3 (4 5 (6))))

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 14 / 16

(15)

重要

:

宿題提出システムへの登録

以下の要領でメイルを [email protected]... へ送信 Subject: 提出システム登録願

本文先頭4行に,氏名,氏名のふりがな,学籍番号,

メイルアドレス,をこの順で明記 数日以内に受領の返事が届くはず To: [email protected] Subject: 提出システム登録願

---

五十嵐 淳

(16)

宿題:

4/15

午前

10:30

締切

宿題提出システムへの登録

教科書 3.1 までを読み,以下の問いについて考えて おこう

▶ 「銀行口座」における状態とは何か?

▶ 手続き withdraw が今までの手続きとは根本的に 異なる挙動を示している,という説明があるが,

それはどういうことか?

▶ withdraw と new-withdraw の違いは何か?

▶ (擬似)乱数を状態を使って実現することのメリッ トは何か?

▶ 破壊的代入(assignment)による状態変化を導入す ることによって何が複雑になるといっているか?

五十嵐 淳(京都大学 大学院情報学研究科 通信情報システム専攻)導入 April 8, 2014 16 / 16

http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/pl/

参照

関連したドキュメント

情報理工学研究科 情報・通信工学専攻. 2012/7/12

鈴木 則宏 慶應義塾大学医学部内科(神経) 教授 祖父江 元 名古屋大学大学院神経内科学 教授 高橋 良輔 京都大学大学院臨床神経学 教授 辻 省次 東京大学大学院神経内科学

Instagram 等 Flickr 以外にも多くの画像共有サイトがあるにも 関わらず, Flickr を利用する研究が多いことには, 大きく分けて 2

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

本人が作成してください。なお、記載内容は指定の枠内に必ず収めてください。ま

関谷 直也 東京大学大学院情報学環総合防災情報研究センター准教授 小宮山 庄一 危機管理室⻑. 岩田 直子

東京大学大学院 工学系研究科 建築学専攻 教授 赤司泰義 委員 早稲田大学 政治経済学術院 教授 有村俊秀 委員.. 公益財団法人

 昭和大学病院(東京都品川区籏の台一丁目)の入院棟17