ISD実習E 2009年7月13日 LISPシステム入門 (第6回) 関数の定義 eval load 関数.

Slides:



Advertisements
Similar presentations
論理回路 第3回 今日の内容 前回の課題の解説 論理関数の基礎 – 論理関数とは? – 真理値表と論理式 – 基本的な論理関数.
Advertisements

プログラミング演習( 2 組) 第 9 回
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プログラミング入門B(10)クラス 第3回の巻 テキスト補助資料
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
情報処理実習 看護2班 レポート課題 情報(実習) レポート課題 2016年6月29日(水).
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 M2 平石 拓
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
ISD実習E 2009年6月29日 LISPシステム入門 (第5回) 関数ポインタ eval システム関数.
プログラミング言語としてのR 情報知能学科 白井 英俊.
計算機リテラシーM 第2回 メール 伊藤 高廣.
初年次セミナー 第4回 整数と実数の取り扱い.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
ファーストイヤー・セミナーⅡ 第8回 データの入力.
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
最適化ソルバーのための Python言語入門
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
ISD実習E 2009年6月1日 read関数 read-macro back-quote 文字列のread 課題
第13回 プログラミングⅡ 第13回
2006/10/19 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井英二郎
学術情報メディアセンター メディアコンピューティング分野 助教 平石 拓
INSERT(x,p,L)の例 (一部) 磯 直行 2009年5月5日
Tokuda Lab. NISHIMURA Taichi
初年次セミナー 第2回 文字の出力.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
データベース設計 第9回 Webインタフェースの作成(1)
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
第7回 条件による繰り返し.
プログラミング 2 ファイル処理.
関数の定義.
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 D1 平石 拓 2005/10/18
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
知能情報工学演習I 第12回(後半第6回) 課題の回答
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
第7回 条件による繰り返し.
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
Cプログラミング演習資料.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
C言語 はじめに 2016年 吉田研究室.
オブジェクト指向プログラミング クラス 継承
プログラミング演習I 2003年7月2日(第11回) 木村巌.
プログラミングⅡ 第2回.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第4回 C言語によるプログラミング入門 条件判断と反復
応用プロジェクト後半 第5回 (1/5) 担当:奥田・橋本
~sumii/class/proenb2010/ml2/
C#プログラミング実習 第2回.
~sumii/class/proenb2009/ml6/
応用プロジェクト後半 第6回 (1/20) 担当:奥田
コンパイラ 2012年10月11日
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
Cプログラミング演習資料.
応用プロジェクト後半 第5回 (12/17) 担当:奥田教授
プログラミング演習II 2003年12月10日(第7回) 木村巌.
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
プログラミング演習II 2003年10月29日(第2,3回) 木村巌.
Presentation transcript:

ISD実習E 2009年7月13日 LISPシステム入門 (第6回) 関数の定義 eval load 関数

eval関数(V1.0) ユーザによる関数定義ができる。 lamda.cを追加 関数evalは、eval_lambdaを呼び出す。 sp_defineは 関数定義に対応するように変更した。 if文のためにsp_ifを追加。 判定のための関数 = とeq? を追加。

関数の定義 sp_define は、第一引数がリストのとき sp_define_func (lambda.cにある)を 呼び出す。 (define (fact n) (if (= n 0) 1 (* n (fact (- n 1))) ) sp_define は、第一引数がリストのとき sp_define_func (lambda.cにある)を 呼び出す。

load関数 ファイルに書かれた、Lispの式をシステムに 読み込んで、それらをevalするのが loadである。 (load 'fact) で確認。load.cを見よ. 注。 ファイル名に拡張子をつけてはいけない。

関数定義の練習 以下の動作をする関数をdefineせよ。 (positive? 3) -> #t (square 5) -> 25 (first '( x y z)) -> x (second '(x y z)) -> y (nsum 10) -> 55 これは、10 から1までの和

関数定義の練習2 (null? () ) -> #t 他は、#f を返す。 (memq 'x '(h x y)) -> (x y) 見つからないときは#fを返す。 (remq 'x '(h x y x g)) -> '(h y g) (append '(x y ) '(2 3)) -> (x y 2 3)

課題 V1.0に、機能の追加をする。 たとえば、 実数型を追加する。 文字列型を追加する。 システム関数を増やす。 gbc(ごみ集め)を作る。 while ループを作る。

提出先 sato@u.dendai.ac.jp に送る。 メールのタイトルは実習E 本文にも、実習Eを含めること。 7月27まで。 結果のファイル(zipまたはtgzに圧縮) と、何をやったかのレポートを sato@u.dendai.ac.jp に送る。 メールのタイトルは実習E 本文にも、実習Eを含めること。 7月27まで。