Microsoft PowerPoint - lectureNote13.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - lectureNote13.ppt"

Transcription

1 i217 関数プログラミング第 13 回プログラム検証 2 二木厚吉 緒方和博 計算機による検証支援 SML のプログラム ( 関数 ) の性質を帰納法等により明らかにすることは可能である. つまり プログラムを検証 ( プログラムが望ましい性質を満たすことを証明 ) することは可能である. ただし SML の処理系は 検証 ( あるいは証明 ) を支援しない. 検証を支援するための計算機言語やツールがある. CafeOBJ はそのような言語 / ツールの 1 つである. CafeOBJ は,JAIST を中心に開発された, 計算機システム ( プログラム等 ) の要求仕様や設計仕様を書くための計算機言語で, 要求仕様や設計仕様が望ましい性質を満たすことの検証を支援するツールでもある. 2

2 CafeOBJ に関するページ CafeOBJ official homepage: CafeOBJ の入手先 : 本学の計算機環境にもインストール済 /pkg/all/bin/cafeobj CafeOBJ 入門 : 3 CafeOBJ の起動 CafeOBJ を起動するとバージョン等の情報に引続き プロンプト CafeOBJ> が表示される. > cafeobj -- loading standard prelude ; Loading c: cafeobj prelude std.bin CafeOBJ> -- CafeOBJ system Version 1.4.6(PigNose0.99,p5) -- built: 2005 Nov 22 Tue 7:00:04 GMT prelude file: std.bin *** 2007 Oct 25 Thu 1:16:05 GMT Type? for help *** -- Containing PigNose Extensions built on Allegro CL Enterprise Edition 6.2 [Windows] (Nov 22, :59) 4

3 CafeOBJ の終了 コマンド quit で終了する. CafeOBJ> quit [Leaving CafeOBJ] ; Exiting > 異常状態からは :q で復帰できることがある. ( 特に windows 上の emacs において有効 ) 5 モジュール CafeOBJ 文書 ( 仕様 ) の基本単位はモジュールである. モジュールの例 : mod! PNAT+ { [Pnat] op zero : -> Pnat op s : Pnat -> Pnat op _+_ : Pnat Pnat -> Pnat {l-assoc prec: 40} vars X Y : Pnat eq X + zero = X. eq X + s(y) = s(x + Y). } モジュールの基本形は mod! ModName { } である. に ソート 演算子 ( 関数 ) 変数および等式が宣言される. 6

4 ソート宣言 ソートは ものの集まりを表しており, プログラミング言語における型に相当する概念である. ブラケット ([ と ]) で囲って宣言する. [SortName 1 SortName 2 SortName n ] モジュール PNAT では : [Pnat] ソート ( 名 )Pnat が宣言されている. Pnat はすべての自然数の集まりを表している. 7 演算子宣言 (1) ソート ( ものの集まり ) の上の関数の型情報 (SML の関数の仕様 ) に相当するものを宣言する. 演算子宣言の基本形 : op fname : Sort 1 Sort n -> Sort : と -> の間にあるソート列をこの演算子のアリティ (arity) と呼ぶ. -> の右のソートをこの演算子のコアリティ ( あるいはソート ) と呼ぶ. アリティとコアリティの 2 つを, この演算子のランク (rank) と呼ぶ. 式 ( 項 )fname(t 1,,t n ) のソートは Sort である. ただし,t 1,,t n は,Sort 1,,Sort n の項 ( 値や式 ) である. 同じランクの演算子を複数同時に宣言する場合,op ではなく,ops を用いる. ops f 1 f m : Sort 1 Sort n -> Sort ソート宣言と演算子宣言をあわせて, モジュールのシグネチャ (signature) と呼ぶ. 8

5 演算子宣言 (2) モジュール PNAT では : op zero : -> Pnat op s : Pnat -> Pnat op _+_ : Pnat Pnat -> Pnat {l-assoc prec: 40} _+_ 演算子は中置記法で使われ, 左結合で, 結合度 40 を持つ. l-assoc が _+_ は左結合 (a + b + c は (a + b) + c のこと ) であることを指定する. Pnat の項は以下のようなものである. zero, s(zero), s(s(zero)), zero + zero, s(zero) + zeor, zero + s(zero),s(zero) + s(zero), Pnat は, このような項の集まりを表す. zero は自然数の 0,s は後者関数 (+1),_+_ は自然数の加算を表す. 9 変数宣言 変数宣言の基本形 : var vname : Sort 変数 vnameは, ソートSortの任意の項を現す. 等式で用いる. 同じソートの変数を複数同時に宣言する場合,varではなく, varsを用いる. vars v 1 v n : Sort モジュールPNATでの例 : vars X Y : Pnat 10

6 等式宣言 (1) 演算子の定義や性質を記述する. 等式宣言の基本形 : eq term 1 = term 2. term 1 は, 変数以外の項である. term 2 に含まれる変数は,term 1 にも含まれていなければならない. 最後は, 必ずフルストップ ( ピリオド ). で終わらなければならない, ことに注意. モジュールに宣言される等式は, そのモジュールの公理とも呼ばれる. 11 等式宣言 (2) モジュール PNAT での例 : eq X + zero = X. eq X + s(y) = s(x + Y). この 2 つの等式で, 演算子 _+_( 自然数の加算 ) を定義している. 12

7 コマンド open と close コマンド open でモジュールを開き, モジュール内に宣言されているソート, 演算子, 変数および等式を利用可能にする. CafeOBJ> open PNAT+ -- opening module PNAT.. done. %PNAT+> コマンド close で, 開いたモジュールを閉じる. %PNAT+> close CafeOBJ> select モジュール名 または auto context on を使う方法もある. 13 コマンド parse(1) 入力したものが正規の項であるかどうか判定し, 正規のものであれば, その項のソートを含めた情報を返す. %PNAT+> parse s(s(zero)) + zero. (s(s(zero)) + zero) : Pnat 正規のものでなければ, エラーメッセージを返す. %PNAT+> parse s(s(zero)) + zoro. [Error] no successfull parse parsed:[ s(s(zero)) ], rest:[ (+ zoro) ] (parsed:[ s(s(zero)) ], rest:[ ("+" "zoro") ]) : SyntaxErr + の前後には ( 基本的に ) スペースが必要である. 14

8 コマンド parse(2) verbose( 多弁 ) モードを on にすることで, 項の構文木を表示するようになる. %PNAT+> set verbose on %PNAT+> parse s(s(zero)) + zero. (s(s(zero)) + zero) : Pnat _+_:Pnat / s:pnat zero:pnat s:pnat zero:pnat 15 コマンド red 式 ( 項 ) を計算する. 等式を左から右への書換え規則とみなし, 項を書換える ( 簡約する ). %PNAT+> red s(s(zero)) + zero. -- reduce in %PNAT : s(s(zero)) + zero s(s(zero)) : Pnat (0.000 sec for parse, 1 rewrites(0.000 sec), 1 matches) %PNAT+> red s(s(zero)) + s(s(zero)). -- reduce in %PNAT : s(s(zero)) + s(s(zero)) s(s(s(s(zero)))) : Pnat (0.000 sec for parse, 3 rewrites(0.000 sec), 5 matches) 16

9 自然数の乗算 モジュールPNAT+ に以下の演算子宣言を加える. op _*_ : Pnat Pnat -> Pnat {l-assoc prec: 30} prec: nは結合度を指定. nが小さいほど結合力は大きい. _+_ の結合度は40であった. この演算子を定義する等式を宣言する. eq X * zero = zero. eq X * s(y) = (X * Y) + X. 得られたモジュールを PNAT* とする. 17 階乗の計算 モジュール PNAT* に以下の演算子宣言を加える. op fact1 : Pnat -> Pnat op fact2 : Pnat -> Pnat op sf2 : Pnat Pnat -> Pnat これらの演算子を定義する等式を宣言する. eq fact1(zero) = s(zero). eq fact1(s(x)) = fact1(x) * s(x). eq fact2(x) = sf2(x,s(zero)). eq sf2(zero,y) = Y. eq sf2(s(x),y) = sf2(x,s(x) * Y). 得られたモジュールを FACT とする. 18

10 等価判定の演算子 モジュール FACT に以下の演算子宣言を加える. op _=_ : Pnat Pnat -> Bool {comm} Bool はブール値 ( の集まり ) を表すソートである. {comm} は 演算子 _=_ が交換律を満たすことを指示している (m = n であれば n = m). この演算子を定義する等式を宣言する. eq (X = X) = true. eq (zero = s(x)) = false. eq (s(x) = s(y)) = (X = Y). 得られたモジュールを FACT= とする. 19 パラメタ付モジュール モジュールはパラメタを持てる. 例 ( 汎用のリストのモジュール ): mod! LIST (M :: EQTRIV) { } M がこのモジュールの仮パラメタである. 実パラメタは モジュール EQTRIV に記述されている要件を満たす必要がある. モジュール EQTRIV は以下のとおり. mod* EQTRIV { [Elt] op _=_ : Elt Elt -> Bool } 要件とは, 実パラメタのモジュールは少なくとも Elt に対応するソートと _=_ に対応する演算子を有する, ということである. モジュール PNAT はこの要件を満たす. 20

11 モジュール LIST のシグネチャ [List] op nil : -> List op _::_ : Elt.M List -> List op _@_ : List List -> List {assoc} op _=_ : List List -> Bool {comm} op rev1 : List -> List op rev2 : List -> List op ar2 : List List -> List {assoc} は, 演算子 _@_ が結合律 c と c) は同じ ) を満たすことを指定する. 21 モジュール LIST の公理 eq (L = L) = true. eq (nil = (X :: L)) = false. eq ((X :: L) = (Y :: L1)) = (X = Y) and (L = L1). eq L = L. eq (X :: L = X :: L). eq rev1(nil) = nil. eq rev1(x :: L) = (X :: nil). eq rev2(l) = ar2(l,nil). eq ar2(nil,l) = L. eq ar2(x :: L1,L) = ar2(l1,x :: L). 22

12 練習問題 1. モジュール FACT= に, 自然数 n を与えると総和 (1+ +n) を表す演算子 sum を宣言し, 総和を再帰的に計算する等式 (sum を定義する等式 ) を追加して, モジュール SUM を定義せよ. 2. モジュール LITS に リスト l を引数に与えると l の長さ ( 要素数 ) を表す演算子 length の宣言と, 長さを再帰的に計算する等式 (length を定義する等式 ) を追加し, モジュール LISTlen を定義せよ. ヒント : モジュール LISTlen はモジュール SUM を輸入する必要がある. このためには モジュール LISTlen に protecting(sum) or pr(sum) を以下を追加する. 23

Microsoft PowerPoint - ProD0107.ppt

Microsoft PowerPoint - ProD0107.ppt プログラミング D M 講義資料 教科書 :6 章 中田明夫 nakata@ist.osaka-u.ac.jp 2005/1/7 プログラミング D -M- 1 2005/1/7 プログラミング D -M- 2 リスト 1 リスト : 同じ型の値の並び val h=[10,6,7,8,~8,5,9]; val h = [10,6,7,8,~8,5,9]: int list val g=[1.0,4.5,

More information

Programming D 1/15

Programming D 1/15 プログラミング D ML 大阪大学基礎工学部情報科学科中田明夫 nakata@ist.osaka-u.ac.jp 教科書 プログラミング言語 Standard ML 入門 6 章 2005/12/19 プログラミング D -ML- 1 2005/12/19 プログラミング D -ML- 2 補足 : 再帰関数の作り方 例題 : 整数 x,y( ただし x

More information

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ 2-1 / 32 4. 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリティ n を持つ関数記号からなる Σ の部分集合 例 : 群 Σ G = {e, i, } (e Σ

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 7 - Higher-Order Functions 高階関数 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2013 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 Introduction カリー化により

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回のつづき ) 前回の復習 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 ( 復習 ) true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e

More information

第8回 関数

第8回 関数 1 関数型プログラミング 第 8 回関数 萩野達也 hagino@sfc.keio.ac.jp 2 関数定義 square n = n * n 与えられた数の 2 乗を計算する square 関数を定義している. 変数 square に 2 乗を計算する関数を束縛 (bind) したい. a = 10 変数 a に定数 10 を束縛する. square =... 3 高階関数 関数も値の一つである.

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回の復習 ) データの表現 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e 2 else

More information

4 ソフトウェア工学 Software Engineering 抽象データ型 ABSTRACT DATA TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様

4 ソフトウェア工学 Software Engineering 抽象データ型 ABSTRACT DATA TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様 4 ソフトウェア工学 Software Engineering 抽象データ型 STRT DT TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様のみを記述 スタック (stack) の例 D push(d,s) S) pop(s) top(s)= top(s)=

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 10 - Declaring Types and Classes 型とクラスの定義 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 型宣言 (Type Declarations)

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

プログラミングD - Java

プログラミングD - Java プログラミング D 講義資料 中田明夫 nakata@ist.osaka-u.ac.jp ML 教科書 プログラミング言語 Standard ML 入門 :1,2 章 講義のねらい 関数型プログラムを知る 関数型プログラムを知る利点 プログラムを統一的, 抽象的に捕らえる リスト処理, 高階関数, 再帰関数定義 リストやツリーなどのデータ構造は再帰的に定義 再帰関数で扱うとプログラミングが容易 数学的な裏付け

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦   正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語 オートマトン 形式言語及び演習 3. 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ とは ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械 : 言語を記号列で定義 - 記述しやすい ( ユーザフレンドリ ) 例 :01 + 10 - UNIX の grep コマンド - UNIX の

More information

形式手法入門VDM++チュートリアル.key

形式手法入門VDM++チュートリアル.key 目的 n 世界的に成功したほとんどの形式手法仕様システムは 以下の導入方法で成功している n 参考資料 : IPA 形式手法適用調査調査概要資料 l https://www.ipa.go.jp/files/000004548.pdf) l 1 週間程度のセミナー受講 l 経験ある専門家のコンサルティング n 今回のチュートリアルは 上記導入方法の肝を紹介することで形式手法導入のための基礎知識を得ることを目的としている

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

kantan_C_1_iro3.indd

kantan_C_1_iro3.indd 1 章 C# の学習を始める前に プログラムの 01 基本 Keyword プログラムプログラミング言語 プログラムとは プログラムとは コンピューターへの命令の集まりです 学校の先生が プリントを持ってきて と生徒に指示した場合を考えてみましょう 先生をプログラマー ( プログラムの作成者 ) 生徒をコンピューターとしたとき プリントを持ってきて という指示がプログラムです 人間とは違い コンピューターは曖昧な指示を理解できません

More information

プログラミングD - Java

プログラミングD - Java プログラミング D ML 大阪大学基礎工学部情報科学科中田明夫 nakata@ist.osaka-u.ac.jp 教科書 プログラミング言語 Standard ML 入門 1,2 章 講義のねらい 関数型プログラムを知る 関数型プログラムの特徴 利点 : 数学的な裏づけ プログラムの正しさの証明が容易 リスト処理, 高階関数, 再帰関数定義 リストやツリーなどのデータ構造は再帰的に定義 再帰関数で扱うとプログラミングが容易

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 : if 文, if~else 文 条件分岐 条件分岐とは ある条件が成立したときとしないときで処理の内容を変更する場合に応じた, 複雑な処理を行うことができる 条件分岐 yes 成績が良かったか? no ご褒美に何か買ってもらう お小遣いが減らされる C 言語では,if 文,if~else 文,if~else if~else 文,switch 文で条件分岐の処理を実現できる

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 12 Lazy Evaluation 遅延評価 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 用語 評価 (evaluation, evaluate)

More information

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード] 属性文法 コンパイラ理論 8 LR 構文解析補足 : 属性文法と conflicts 櫻井彰人 Racc (Yacc 系のcc) は属性文法的 非終端記号は 値 (semantic value) を持つ パーザーは パーザースタックをreduceするとき ( 使う規則を X ::= s とする ) s に付随する semantic value (Racc では配列 valueにある ) を用いて action

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›]

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›] 4. リスト, シンボル, 文字列 説明資料 本日の内容 1. リストとは 2. Scheme プログラムでのリストの記法 list 句 3. リストに関する演算子 first, rest, empty?, length, list-ref, append 4. 数字, シンボル, 文字列を含むリスト 1. Scheme でのシンボルの記法 2. Scheme での文字列の記法 リストとは 15 8

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

スライド 1

スライド 1 ブール代数 ブール代数 集合 { 0, 1 } の上で演算 AND, OR, NOT からなる数学的体系 何のため? ある演算をどのような回路で実現すればよいのか? どうすれば回路が小さくなるのか? どうすれば回路が速く動くのか? 3 復習 : 真理値表とゲート記号 真理値表 A B A B 0 0 0 0 1 0 1 0 0 1 1 1 A B A+B 0 0 0 0 1 1 1 0 1 1 1

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

不偏推定量

不偏推定量 不偏推定量 情報科学の補足資料 018 年 6 月 7 日藤本祥二 統計的推定 (statistical estimatio) 確率分布が理論的に分かっている標本統計量を利用する 確率分布の期待値の値をそのまま推定値とするのが点推定 ( 信頼度 0%) 点推定に ± で幅を持たせて信頼度を上げたものが区間推定 持たせた幅のことを誤差 (error) と呼ぶ 信頼度 (cofidece level)

More information

Microsoft PowerPoint - 3.ppt [互換モード]

Microsoft PowerPoint - 3.ppt [互換モード] 3. プッシュダウンオートマトンと文脈自由文法 1 3-1. プッシュダウンオートマトン オートマトンはメモリがほとんど無かった この制限を除いた機械を考える 理想的なスタックを利用できるようなオートマトンをプッシュダウンオートマトン (Push Down Automaton,PDA) という 0 1 入力テープ 1 a 1 1 0 1 スタッb 入力テープを一度走査したあと ク2 入力テプを度走査したあと

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2

More information

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦   正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ 正規言語の性質 正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると仮定してを使い 矛盾を導く 閉包性正規言語を演算により組み合わせて得られる言語が正規言語となる演算について調べる

More information

オートマトンと言語

オートマトンと言語 オートマトンと言語 回目 4 月 8 日 ( 水 ) 章 ( 数式の記法, スタック,BNF 記法 ) 授業資料 http://ir.cs.yamanashi.ac.jp/~ysuzuki/public/automaton/ 授業の予定 ( 中間試験まで ) 回数月日 内容 4 月 日オートマトンとは, オリエンテーション 4 月 8 日 章 ( 数式の記法, スタック,BNF) 3 4 月 5 日

More information

Si 知識情報処理

Si 知識情報処理 242311 Si, 285301 MS 第 12 回 竹平真則 takemasa@auecc.aichi-edu.ac.jp 2015/12/21 1 本日の内容 1. 先週のおさらい 2. PHP のスクリプトを実際に動かしてみる 3. RDB についての説明 2015/12/21 2 資料の URL http://peacenet.info/m2is 2015/12/21 3 注意事項 ( その

More information

Microsoft PowerPoint - 03BNFScanner.ppt [互換モード]

Microsoft PowerPoint - 03BNFScanner.ppt [互換モード] コンパイラ理論 3 BNF と EBNF そして構文解析へ 3 章ステップ 1: 問題の把握 櫻井彰人 と文法 と EBNF 言語仕様 プログラムと言語仕様との関係 コンパイラ入門 C# で学ぶ理論と実践 より 3.2 BNF(Backus Naur Form) 文法 を記述する表記法 コンピュータ言語を表す為に使われることが多い 英文法 単語と単語の構成 関係を表す 5 文型は単語の品詞から英文の型を表現している

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

基礎プログラミング2015

基礎プログラミング2015 応用プログラミング 第 10 回 構造体 2017 年 11 月 22 日 ( 水 ) 第 11 章 構造体 構造体 * 国民の個人情報を管理したい例 : マイナンバー (id), 名前 (na), 年齢 (ag) * 管理する方法は? 配列を用いる方法 ただし, 年齢などでソートするとき面倒 id[0] id[1] id[2] id[3] id[4] na[0] na[1] na[2] na[3]

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer

More information

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - lec4.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 最大公約数の計算例題 2. 自然数の和 while 文例題 3. フィボナッチ数列例題 4. 自然数の和 for 文例題 5. 九九の表繰り返しの入れ子 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も, 見やすいプログラムを書くために,

More information

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数 関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数 関数の定義 戻り値の型 関数名 引数の型 引数の名前 int funcname ( int a, char b) { int c ; c = a * b ; return c ; 引数の型 引数の名前 戻り値 戻り値の型は int 変数 c の型も int return

More information

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作 マイナンバー管理表 操作説明書 管理者用 2015 年 11 月 30 日 ( 初版 ) 概要 マイナンバー管理表 の動作環境は以下の通りです 対象 OS バージョン Windows7 Windows8 Windows8.1 Windows10 対象 Excel バージョン Excel2010 Excel2013 対象ファイル形式 Microsoft Excel マクロ有効ワークシート (.xlsm)

More information

オートビュー

オートビュー IODEP マニュアル PKB-065 プログラマブルキーボード rev 1.0 2013/04/18 株式会社 Javatel 2013 Javatel 1 目次 IODEP マニュアル MOXA E2000 シリーズ rev 1.0... 1 目次... 2 1 この文書について... 3 2 変更履歴... 4 3 ハードウェアの準備... 5 3.1 MOXA E2000 シリーズの準備...

More information

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 9 回 メソッド (3) 授業の前に自己点検 以下の質問に答えられますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか 戻り値はどのように利用しますか 変数のスコープとは何ですか

More information

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順

More information

Microsoft Word _VBAProg1.docx

Microsoft Word _VBAProg1.docx 1. VBA とマクロ 1.1 VBA とは VBA(Visual Basic for Applications) は 1997 年に Microsoft 社がマクロを作成するために開発された言語である Windows 対応のアプリケーションを開発するためのプログラミング言語 Visual Basic をもとにしているため 次のような特徴がある 1 VBA は Excel Word, Access,

More information

2018 年度前期プロジェクト活動 Ritsumeikan Compiler Construction 班活動報告書 佐々木章徳青木雅典西見元希松本幸大

2018 年度前期プロジェクト活動 Ritsumeikan Compiler Construction 班活動報告書 佐々木章徳青木雅典西見元希松本幸大 2018 年度前期プロジェクト活動 Ritsumeikan Compiler Construction 班活動報告書 佐々木章徳青木雅典西見元希松本幸大 目次 1. 活動の概要 2. 関数型プログラミング言語 3. Standard ML 3.1 Standard ML の特徴 3.2 開発環境 3.3 式の評価, 束縛, 関数, コメント, ファイル 3.4 主なデータ型 3.5 関数定義, パターンマッチング,

More information

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作ります FORTRAN の場合 OPEN 文でファイルを開いた後 標準入力の場合と同様に READ 文でデータを読みこみます

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 p 1 S = T i = 1 2 p i p i+1 i=0 i=0

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 8 回メソッド (2) 授業開始前に自己点検 前回までの必須課題はすべてできていますか 前回までの学習項目であいまいな所はありませんか 理解できたかどうかは自分自身の基準をもとう Java 1 第 8 回 2 前回のテーマ メソッドとは いくつかの命令の列を束ねて 一つの命令として扱えるようにしたもの 今回学ぶメソッドの役割は その他のプログラミング言語では関数またはサブルーチンと呼ばれることがある

More information

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する 実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する次の項目を調べよ このとき CGIプログラムを置く場所 ( CGI 実行ディレクトリ) と そこに置いたCGIプログラムが呼び出されるURLを確認せよ

More information

MSI Tip: システム検索による INSTALLDIRの設定

MSI Tip: システム検索による INSTALLDIRの設定 MSI Tip: カスタムアクションによるログファイルへの出力 この文書は Acresso Software の次の文書を元に記載しています http://www.acresso.com/webdocuments/pdf/msi_writing_to_the_log_file.pdf Tip: MSI Tip: Writing to the Log File from a Custom Action

More information

連立1次方程式Ax=bの解法:公式にしたがって解くのは,計算量大

連立1次方程式Ax=bの解法:公式にしたがって解くのは,計算量大 Common Lisp プログラミング入門 概要 Lisp は記号の構造的な表現である S 式を操作するインタープリタ方式を基調とするプログラミング言語である. ここでは, 思考のツールとしての Lisp を強調した解説を行う.. Lisp のしくみ Lisp で中心となるのは,S 式 (Symbolic Expression) と呼ばれる記号の構造的な表現である.Lisp ユーザはインタープリタを使って,S

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

PostgreSQL Plus 管理者ガイド

PostgreSQL Plus 管理者ガイド 2.4 旧バージョンからの移行 ここでは PostgreSQL Plus V1.0 および V1.1 から PostgreSQL Plus V2.0 にインスタンスの資産 を移行する手順について説明します PostgreSQL Plus V1.0 および V1.1 は PostgreSQL 7.3 をベースとしています また PostgreSQL Plus V2.0 は PostgreSQL 7.4

More information

Microsoft Word - no202.docx

Microsoft Word - no202.docx 1.4 ポインタと配列 ポインタ変数は前回説明したように 値の入っているアドレスを示す変数です では 配列はどの ようにメモリ上に格納されるか調べてみましょう ex07.c /* ポインタと配列の関係 */ int a[3]={1, 2, 3; /* int 型の大きさ 3 の配列として宣言 */ int *i; /* int 型へのポインタとして宣言 */ double x[3] = {1.0,

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H Micro Focus Enterprise Developer チュートリアル 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red Hat Enterprise Linux Server release 6.5 x64 使用した WebSphere MQ : IBM WebSphere MQ 7.5.0.1

More information

Microsoft Word - no12.doc

Microsoft Word - no12.doc 7.5 ポインタと構造体 構造体もメモリのどこかに値が格納されているのですから 構造体へのポインタ も存在します また ポインタも変数ですから 構造体のメンバに含めることができます まずは 構造体へのポインタをあつかってみます ex53.c /* 成績表 */ #define IDLENGTH 7 /* 学籍番号の長さ */ #define MAX 100 /* 最大人数 */ /* 成績管理用の構造体の定義

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 多分岐選択 条件式 If Then Else IIF Select Switch 今日の目的 Dim n As Long n = 10 If n = 10 Then 条件式 Debug.Print ゆっくりしていってね! End If 比較演算子 その他 よく使用する演算子 文字列型にたいする条件式 条件式 オブジェクト型 バリアント型に対する条件式 比較演算子 = 等しい 等しくない >=

More information

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Microsoft PowerPoint - 第3回目.ppt [互換モード] 第 3 回プログラミング応用 目的ファイル入出力 1. ファイルの概念 2. ファイルの読み込み 3. ファイルの書き込み CPU 演算 判断 ファイルの概念 内部記憶装置 OS 機械語プログラム 入力装置 キーボード 出力装置 ディスプレイ ファイル 外部記憶装置ハードディスク CD-ROM CPU が外部とデータをやり取りするための媒介 printf 関数や scanf 関数でもうすでにファイルのやり取りの基本は学んでいる

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2019 年 5 月 13 日 東邦大学金岡晃 場合に応じた処理 1 こういうプログラムを作りたい 5 教科のテスト 100 点以上各科目の点数の合計が 100 点未満 おめでとう! これで 100 点越えのプレゼントを獲得! というメッセージを出力 残念!100 点越えのプレゼントまであと ** 点! というメッセージを出力 5 教科の点数の合計が

More information

文法と言語 ー文脈自由文法とLR構文解析2ー

文法と言語 ー文脈自由文法とLR構文解析2ー 文法と言語ー文脈自由文法とLR 構文解析 2 ー 和田俊和資料保存場所 http://vrl.sys.wakayama-u.ac.jp/~twada/syspro/ 前回までの復習 最右導出と上昇型構文解析 最右導出を前提とした場合, 上昇型の構文解析がしばしば用いられる. 上昇型構文解析では生成規則の右辺にマッチする部分を見つけ, それを左辺の非終端記号に置き換える 還元 (reduction)

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

Prog1_12th

Prog1_12th 2013 年 7 月 4 日 ( 木 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Microsoft PowerPoint - 2.ppt [互換モード]

Microsoft PowerPoint - 2.ppt [互換モード] 0 章数学基礎 1 大学では 高校より厳密に議論を行う そのために 議論の議論の対象を明確にする必要がある 集合 ( 定義 ) 集合 物の集まりである集合 X に対して X を構成している物を X の要素または元という 集合については 3 セメスタ開講の 離散数学 で詳しく扱う 2 集合の表現 1. 要素を明示する表現 ( 外延的表現 ) 中括弧で 囲う X = {0,1, 2,3} 慣用的に 英大文字を用いる

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

ML 演習 第 4 回

ML 演習 第 4 回 ML 演習第 4 回 おおいわ Mar 6, 2003 今回の内容 補足 Ocaml のモジュールシステム structure signature functor Ocaml コンパイラの利用 2 識別子について 利用可能文字 先頭文字 : A~Z, a~z, _ ( 小文字扱い ) 2 文字目以降 : A~Z, a~z, 0~9, _, 先頭の文字の case で 2 つに区別 小文字 : 変数,

More information

並列計算導入.pptx

並列計算導入.pptx 並列計算の基礎 MPI を用いた並列計算 並列計算の環境 並列計算 複数の計算ユニット(PU, ore, Pなど を使用して 一つの問題 計算 を行わせる 近年 並列計算を手軽に使用できる環境が急速に整いつつある >通常のP PU(entral Processing Unit)上に計算装置であるoreが 複数含まれている Intel ore i7 シリーズ: 4つの計算装置(ore) 通常のプログラム

More information

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦   形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, オートマトン 形式言語及び演習 1 有限オートマトンとは 酒井正彦 wwwtrscssinagoya-uacjp/~sakai/lecture/automata/ 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, } 形式言語 : 数学モデルに基づいて定義された言語 認識機械 : 文字列が該当言語に属するか? 文字列 機械 受理

More information

テキストファイルの入出力1

テキストファイルの入出力1 テキストファイルの入出力 1 0. 今回の目的前回までは 2 回にわたって繰り返しについて学んできました 今回からテキストファイルの入出力について学ぶことにします 1. テキストファイルへの出力 1.1 テキストファイルについてテキストファイルとは コンピュータで扱うことが出来るファイルの中で最も基本的なファイルであり どの様な OS でもサポートされているファイル形式です Windows においては

More information

Adaptec RAID Controller Installation and User’s Guide

Adaptec RAID Controller Installation and User’s Guide Adaptec Flash Utility の使用 この付録には... システム要件... 148 まず始めに... 148 メニューベースの AFU の起動... 149 コマンドラインから AFU の実行... 150 AFU コマンドラインを使用してフラッシュをアップデート... 153 本章では テキストベースの DOS ユーティリティの AFU(Adaptec Flash Utility)

More information

Microsoft PowerPoint - sakurada3.pptx

Microsoft PowerPoint - sakurada3.pptx チュートリアル :ProVerif による結合可能安全性の形式検証 櫻田英樹日本電信電話株式会社 NTT コミュニケーション科学基礎研究所 アウトライン 前半 :ProVerif の紹介 後半 :ProVerifを用いた結合可能安全性証明 [Dahl Damgård, EuroCrypt2014, eprint2013/296] の記号検証パート 2 ProVerif フランス国立情報学自動制御研究所

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

Microsoft PowerPoint - C4(反復for).ppt

Microsoft PowerPoint - C4(反復for).ppt C 言語プログラミング 繰返し ( for 文と while 文 ) 例題 (10 個のデータの平均を求める ) 手順 入力データをx1,x2,,x10 として, (x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10 を計算する データ数が,1000 個,10000 個, となったらどうする? データ数個分の 変数の宣言, scanf 関数の呼出し, 加算式の記述 が必要 1 総和を求めること

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

Microsoft PowerPoint - while.ppt

Microsoft PowerPoint - while.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 自然数の和例題 2. 最大公約数の計算例題 3. ベクトルの長さ while 文例題 4. 九九の表 for 文と繰り返しの入れ子例題 5. ド モアブルの公式計算誤差の累積 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も,

More information

Formal Engineering Methods for Software Development --An Introduction to SOFL--

Formal Engineering Methods for Software Development --An Introduction to SOFL-- 13~15. 形式設計仕様に基づく Java プログラムの作成と Suica カード システムの small プロジェクト 6 ー実装 目標 : 1.SOFL で作成した形式設計仕様に基づ き その仕様を実現した Java プログラムを作成す る 作成方法 : 次の 3 レベルのものから Java プログラムを作成する (a) モジュールから Java プログラムクラスの作成 つまり 一つの SOFL

More information

Microsoft Word - Cプログラミング演習(12)

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 前提条件 2.3. 対象読者 2.4. 注意事項 3. 概要 3.1. OData 連携について 3.2. OData について 3.3. SAP HANA 連携について 3.4. アクター 3.5. セットアップの手順について

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2017 年 5 月 15 日 東邦大学金岡晃 前回の復習 (1) このプログラムを作成し実行してください 1 前回の復習 (2) このプログラムを作成し実行してください 2 前回の復習 (3) 3 前回の復習 演算子 代入演算子 インクリメント シフト演算子 型変換 4 場合に応じた処理 5 こういうプログラムを作りたい 5 教科のテスト

More information

Microsoft PowerPoint - ca ppt [互換モード]

Microsoft PowerPoint - ca ppt [互換モード] 大阪電気通信大学情報通信工学部光システム工学科 2 年次配当科目 コンピュータアルゴリズム 良いアルゴリズムとは 第 2 講 : 平成 20 年 10 月 10 日 ( 金 ) 4 限 E252 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ 第 1 講の復習

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Microsoft PowerPoint - class2-OperatorOverLoad.pptx

Microsoft PowerPoint - class2-OperatorOverLoad.pptx クラス Class (3) メンバ関数と演算子のオーバロード 上級プログラミング講義資料 成蹊大学理工学部情報科学科 1 多重定義 ( オーバロード ) 関数のオーバロード C++ の関数では シグニチャ ( 関数名, 引数の型および個数のこと ) が異なることによって 同名の関数が複数存在することが出来る 演算子のオーバロード四則演算子をはじめとする演算子を 新たに定義したクラスを取り扱うように多重定義することが出来る

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx 9/7/8( 水 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 拡大とスカラー倍 行列演算と写像 ( 次変換 拡大後 k 倍 k 倍 k 倍拡大の関係は スカラー倍を用いて次のように表現できる p = (, ' = k ' 拡大前 p ' = ( ', ' = ( k, k 拡大 4 拡大と行列の積 拡大後 k 倍

More information

Oracle9i Application Server for Windows NT/2000 リリース・ノート追加情報 リリース

Oracle9i Application Server for Windows NT/2000 リリース・ノート追加情報 リリース Oracle9i Application Server for Windows NT/2000 リリース ノート追加情報 リリース 1.0.2.1 2001 年 5 月 部品番号 : J03818-01 原典情報 : Oracle9i Application Server Release Notes Addendum, Release 1.0.2.1 for Windows NT/2000 (A88731-02)

More information

IWF30SupportMatrix_v3.8.xlsx

IWF30SupportMatrix_v3.8.xlsx IceWall Federation Version 3.0 動作環境更新履歴 Rev. 3.8 (2019/9 更新版 ) IceWall Federation Version 3.0 動作環境 更新月 Version 更新内容 2010/11 1.0 HP IceWall Federation 3.0 のサポートマトリックスの公開を開始しました 2011/11 1.1 2012/5 1.2 2012/10

More information

1 自動ライセンス認証を実施する場合 ホスト OS が Windows Server 2016 Datacenter Edition でライセンス認証済みであり ゲスト OS が Windows Server 2016 Standard Datacenter または Essentials Editi

1 自動ライセンス認証を実施する場合 ホスト OS が Windows Server 2016 Datacenter Edition でライセンス認証済みであり ゲスト OS が Windows Server 2016 Standard Datacenter または Essentials Editi プロダクトキー置換手順 Windows Server 2016 ゲスト OS のプロダクトキー置換とライセンス認証手順について説明します Windows Server 2012 R2 以降の OS には 自動ライセンス認証 (AVMA: Automatic Virtual Machine Activation) 機能が追加されています Windows Server

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

計算機プログラミング

計算機プログラミング プログラミング言語 C 第 6 講 制御 ( 選択 ) フローチャートと C 言語 図形と命令の対応表 図形 C 言語 図形 C 言語 START main()? if END? else 整数型変数 int? switch printf case scanf break 選択 (1) if else 文 条件 処理 A 処理 B 構文 if ( 条件 ) IF THEN ELSE 型 処理 A;

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション レッスン (1) あるワークシート中のあるセルを指定する Worksheets(" ワークシート名 ").Range(" セル ").Value ( 例 ) Worksheets(" データ収集 ").Range("A2").Value あるワークシートのセルから 別のワークシートのセルへ転記する Worksheets(" シート A").Range(" セル ").Value = Worksheets("

More information

第12回 モナドパーサ

第12回 モナドパーサ 1 関数型プログラミング 第 13 回モナドパーサ 萩野達也 hagino@sfc.keio.ac.jp Slide URL https://vu5.sfc.keio.ac.jp/slide/ 2 モナドパーサ モナドを使って構文解析を行ってみましょう. data Parser a = Parser (String -> Maybe (a, String)) 字句解析も構文解析の一部に含めてしまいます.

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション KDDI クラウドプラットフォームサービス (KCPS) CPU 脆弱性 (Meltdown/Spectre) に対するパッチ適用 確認手順書 _WindowsOS KCPS ver.1 の手順書となります はじめに 本資料は KDDI クラウドプラットフォームサービス ( 以下 KCPS) ナレッジサイトにおいて情報を発出している KCPS に関する Meltdown および Spectre 脆弱性への対応ついて

More information

ModelSim-Altera Edition インストール & ライセンスセットアップ Linux ver.11

ModelSim-Altera Edition インストール & ライセンスセットアップ Linux ver.11 ALTIMA Corp. ModelSim-Altera Edition インストール & ライセンスセットアップ Linux ver.11 2012 年 3 月 Rev. 1 ELSENA,Inc. ModelSim-Altera Edition インストール & ライセンスセットアップ 目次 1. はじめに... 3 2. ModelSim-Altera について... 3 2-1. ModelSim-Altera

More information

スライド 1

スライド 1 ver. 2018/4/13 プログラミング 計算機利用上の Tips 補足資料 分類 項目 ページ 計算機利用 ホスト計算機への接続方法 Unix (Linux) の基本的なコマンド容量制限についてターミナルで文字を大きくする方法 xtermで文字を大きくする方法 Fortran プログラミングについて最近あった事例 : コンパイル 実行時のエラーコンパイルオプションプログラムは正しそうなのに エラーが出る場合データファイルは正しそうなのに

More information

memo

memo 計数工学プログラミング演習 ( 第 1 回 ) 2016/04/05 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 担当メンバー : 担当 : 担当教員 : 定兼 ( 数理 2 研 ) 補佐 : 松島 ( 数理 6 研 ) 学生アシスタント : 鈴木, 石山, 中村 担当へのコンタクト e メールアドレス ( 演習についての一般的な相談 ): miprogramming2016+general@gmail.com

More information