VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool

Size: px
Start display at page:

Download "VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool"

Transcription

1 VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool real rat int nat nat char token nil if cases let def let be forall exists exists

2 for for for for while trap tixe exit always VDM-SL VDM VDM VDM

3 1 VDM++ = <> bool true false 1 not b a and b a or b a => b a <=> b b a b a b a b not a or b a b 1: bool real rat int nat nat1 real rat int nat 0 nat x x abs x x absolute value floor x x x + y -, *, / x div y integer division x mod y rem mod modulus rem remainder x ** y x y a < b >, <=, >= 2: char char a b

4 <red> <Japan> <error-mode> token mk_token(3) mk_token({-1, true}) mk_token("vdm")... mk token char int <Japan> <France> <USA> nil [bool] [<Japan> <France> <USA>]... nil nat * bool * char seq of char * bool... mk_(3, true, a ) mk_({mk_token("vdm"), true})... mk t n t.#n compose RecordA of key : nat description : seq of char end : :- 4

5 RecordA :: key : nat description : seq of char mk_recorda(5, "VDM++") mk_recorda({1, "B Method"})... mk r i r.i r mu mu( r, key1 > val1, key2 > val2,... ) R is_r {1, 2, 3} { a, c, x } { }... 3 { exp pat1a, pat1b,... in set s1, pat2a, pat2b,... in set s2,... & cond } in set S : T m n {m,..., n} e in set s e s 3 in set {1,2,3} true e not in set s e s 3 in set {1,2,3} false s1 union s2 s1 s2 {1,2,3} union {2,4} {1,2,3,4} s1 inter s2 s1 s2 {1,2,3} inter {2,4} {2} s1 \s2 s1 s2 {1,2,3} \{2,4} {1,3} s1 subset s2 s1 s2 {2,3} subset {1,2,3} true s1 psubset s2 s1 s2 {2,3} psubset {2,3} false card s s card {2,5,6} 3 dunion ss ss dunion {{1,2,3}, {2,4},{1,2,5}} {1,2,3, 4,5} dinter ss ss dunion {{1,2,3}, {2,4},{1,2,5}} {2} power s s power {1,2} {{},{1}, {2},{1,2}} 3: 5

6 1.2.6 [1, 2, 3] [ a, c, x ] [ ]... 4 [ exp pat1a, pat1b,... in set s1, pat2a, pat2b,... in set s2,... & cond ] s1 s2 l m n l(m,..., n) l(i) l i [ a, b, c ](2) b hd l l hd [1,2,3] 1 tl l l tl [1,2,3] [2,3] len l l [1,2,3] 3 elems l l [1,2,3,2,3] {1,2,3} inds l l [1,2,3,2,3] {1,2,3,4,5} l1 ˆl2 l1 l2 [1,2]ˆ[3,2] {1,2,3,2} conc ll ll conc [[1,2], [3,2],[4,1]] [1,2,3,2, 4,1] l ++ m m l [ a, b, c, d ] ++ {1 -> x,4 -> y } [ x, b, c, y ] 4: {1 -> true, 2 -> false, 3 -> true} { A -> "41", B -> "42"} { -> } { e1 -> e2 pat1a, pat1b,... in set s1, pat2a,... in set s2,... & cond } 6

7 m(d) m d {1 -> a,2 -> b }(2) b dom m m dom {1 -> a,2 -> b } {1,2} rng m m rng {1 -> a,2 -> b } { a, b } inverse m m m inmap inverse {1 -> a, 2 -> b } { a ->1, b ->2} s <: m s <-: m m :> s m :-> s m s m s m s m s {1,2} <: {1 -> a,2 -> b, 3 -> c } {1,2} <-: {1 -> a,2 -> b, 3 -> c } {1 -> a,2 -> b, 3 -> c } :> { a, b } {1 -> a,2 -> b, 3 -> c } :-> { a, b } 5: {1 -> a, 2 -> b } {3 -> c } {1 -> a, 2 -> b } {3 -> c } m1 munion m2 m1 ++ m2 merge ms m1 comp m2 m ** n m1 m2 m1 m2 ms munion map A to B m2 map B to C m1 map A to C m n {1 -> a,2 -> b } munion {1 -> a,3 -> c } {1 -> a,2 -> b } ++ {1 -> x,3 -> c } merge {{1 -> a,2 -> b }, {1 -> a,3 -> c },} {2 -> b,4 -> d }} {1 -> a,2 -> b } comp { x ->1, y ->2} {1 ->2,2 ->3} {3 ->1} ** 2 {1 -> a, 2 -> b, 3 -> c } {1 -> x, 2 -> b, 3 -> c } {1 -> a, 2 -> b, 3 -> c, 4 -> d } { x -> a, y -> b } {1 ->3, 2 ->1, 3 ->2} 6: int +> bool int * seq of char +> ()... -> +> f a1 a2 an f (a1, a2,..., an) f 2 f 1 f 1 comp f 2 f n f ** n 7

8 2 VDM if if cond1 then e1 elseif cond2 then e2 else e3 if cond1 then s1 elseif cond2 then s2 else s3 cond1 e1 s1 cond2 e2 s2 e3 s3 elseif VDM++ Toolbox if else VDM-SL 2.2 cases cases e : p11, p12,..., p1n -> e1, p21, p12,..., p2n -> e2,..., pm1, pm2,..., pmn -> em, others -> eo end cases e : p11, p12,..., p1n -> s1, p21, p12,..., p2n -> s2,..., pm1, pm2,..., pmn -> sm, others -> so end e p11 p12 p1n e1 s1 others others 2.3 let let p1 : T1 = e1, p2 : T2 = e2,..., pn : Tn = en in e let p1 : T1 = e1, p2 : T2 = e2,..., pn : Tn = en in s 8

9 T1 p1 e1 p2 e2 e slet 2.4 def def p1 : T1 = e1; p2 : T2 = e2;...; pn : Tn = en in e def p1 : T1 = e1; p2 : T2 = e2;...; pn : Tn = en in s T1 p1 e1 p2 e2 e s in set S 2.5 let be let p in set S let p in set S be st cond in e be st cond in s p S cond e s in set S : T forall forall pat1a, pat1b,... in set s1, pat2a, pat2b,... in set s2,... patna, patnb,... in set sn, & cond forall pat1a pat1b s1 s2 cond true bool exists exists pat1a, pat1b,... in set s1, pat2a, pat2b,... in set s2,... & cond exists pat1a pat1b s1 s2 cond true bool 9

10 2.6.3 exists1 exists1 pat1a, pat1b,... in set s1, pat2a, pat2b,... in set s2,... & cond exists1 pat1a pat1b s1 s2 cond true bool 2.7 lambda pat1 : T1, pat2 : T2,..., patn : Tn & e pat1 patn e T1 Tn n 1 n iota 1 is is_bool(x) is_token(x) is(x, bool) new VDM++ new VDM++ isofclass isofbaseclass samebaseclass sameclass undefined var := e var e 10

11 2.9.2 atomic( var1 := e1 var2 := e2... varn := en ) 2.10 ( ) dcl var1:t 1 := e1, var2:t 2 := e2,..., varn:t n := en; s1; s2;... sn dcl s1 s2 sn dcl 2.11 for for for id = e1 to e2 by e3 do s id e1 e3 e2 s for for all pat in set S do s S pat s for for all pat in l do s l pat s in reverse l pat pat in set S pat : T 11

12 2.12 while while cond do s cond s trap trap pat with s1 in s2 s2 s2 trap pat s1 trap tixe tixe pat1 -> s1, pat2 -> s2,..., patn -> sn in s s s tixe pat1 pat2 patn si exit exit e e always always s1 in s2 s2 s1 12

13 2.14 return return exp skip error start VDM++ startlist VDM types Tname1 = T1; Tname1 = T1 inv pat == cond; Tname1 T1 pat cond VDM++ static Tname1 = :: values pat1 : T 1 = exp1; exp1 pat1 T1 VDM++ static pat1 13

14 3.3 VDM-SL state state statename of id1 : T1 id2 : T2... idn : Tn inv inv pat == inv cond init init pat == init cond end statename id1 T1 inv p at inv c ond init p at init c ond 3.4 VDM++ instance variables var1 : T 1 = exp1; T1 var1 := exp1 T1 VDM++ static var1 cond inv cond; 3.5 functions f (pat1 : T1, pat2 : T2,..., patn : Tn) varret : T ret pre precond post postcond; 14

15 1 f un1 3 pat1 T1 4 varret Tret 5 precond 6 postcond f (pat1 : T1, pat2 : T2,..., patn : Tn) varret : T ret == exp pre precond post postcond; 5 exp f : T1 * T2 *... * Tn -> Tret f un1 (pat1, pat2,..., patn) == exp pre precond post postcond; 1 f un1 3 T1 Tret > +> 4 pat1 5 exp 6 precond 7 postcond RESULT VDM++ static var1 is not yet specified is subclass responsibility 3.6 functions op1 (pat1 : T1, pat2 : T2,..., patn : Tn) varret : T ret ext mode1 var1a, var1b,..., var1p : Te1 15

16 mode2 var2a, var3b,..., var2q : Te2... modem varma, varmb,..., varmr : Tem pre precond post postcond; 1 op1 2 pat1 T1 3 varret Tret 4 8 VDM-SL VDM++ mode1 rd wr Te1 2 precond postcond op1 (pat1 : T1, pat2 : T2,..., patn : Tn) varret : T ret == s ext mode1 var1a, var1b,..., var1p : Te1 mode2 var2a, var3b,..., var2q : Te2... modem varma, varmb,..., varmr : Tem pre precond post postcond; 4 s op1 : T1 * T2 *... * Tn ==> Tret op1 (pat1, pat2,..., patn) == exp pre precond post postcond; 1 op1 2 T1 Tret 3 pat1 4 exp 5 precond 6 postcond RESULT VDM++ static var1 is not yet specified is subclass responsibility 16

17 3.7 VDM++ sync op1 cond1 per op1 => cond1 #req(op) #act(op) #fin(op) #active(op) #waiting(op) op op op op = #act(op) - #fin(op) op = #req(op) - #act(op) mutex(op1, op2,..., opn) mutex(all) 3.8 VDM++ thread s 17

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

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

More information

( ) ( ) lex LL(1) LL(1)

( ) ( ) lex LL(1) LL(1) () () lex LL(1) LL(1) http://www.cs.info.mie-u.ac.jp/~toshi/lectures/compiler/ 29 5 14 1 1 () / (front end) (back end) (phase) (pass) 1 2 1 () () var left, right; fun int main() { left = 0; right = 10;

More information

Copyright c 2008 Zhenjiang Hu, All Right Reserved.

Copyright c 2008 Zhenjiang Hu, All Right Reserved. 2008 10 27 Copyright c 2008 Zhenjiang Hu, All Right Reserved. (Bool) True False data Bool = False True Remark: not :: Bool Bool not False = True not True = False (Pattern matching) (Rewriting rules) not

More information

# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n

# let st1 = {name = Taro Yamada; id = };; val st1 : student = {name=taro Yamada; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n II 6 / : 2001 11 21 (OCaml ) 1 (field) name id type # type student = {name : string; id : int};; type student = { name : string; id : int; } student {} type = { 1 : 1 ;...; n : n } { 1 = 1 ;...; n = n

More information

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

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2

More information

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp 7 OCaml () 1. 2. () (compiler) (interpreter) 2 OCaml (syntax) (BNF,backus normal form ) 1 + 2; let x be 2-1 in x; ::= ; let be in ; ::= + - ::= * / ::= 7.1 ( (printable characters) (tokens) 1 (lexical

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A, B Z Z m, n Z m n m, n A m, n B m=n (1) A, B (2) A B = A B = Z/ π : Z Z/ (3) A B Z/ (4) Z/ A, B (5) f : Z Z f(n) = n f = g π g : Z/ Z A, B (6)

More information

() / (front end) (back end) (phase) (pass) 1 2

() / (front end) (back end) (phase) (pass) 1 2 1 () () lex http://www.cs.info.mie-u.ac.jp/~toshi/lectures/compiler/ 2018 4 1 () / (front end) (back end) (phase) (pass) 1 2 () () var left, right; fun int main() { left = 0; right = 10; return ((left

More information

Microsoft PowerPoint - 2012-05-11-SQiP-intro.pptx

Microsoft PowerPoint - 2012-05-11-SQiP-intro.pptx 青 字 : 不 具 合 が 埋 め 込 まれる 場 所 黒 字 : 不 具 合 が 発 見 される 場 所 赤 字 : 不 具 合 の 除 去 における コストの 増 加 率 1. 早 くバグ を 見 つける 2. バグ 検 出 の コストを 下 げる ピークコストを 下 げる 累 計 コストを 下 げる サイト 内 の 紹 介 資 料 class EventManager

More information

Pascal Pascal Free Pascal CPad for Pascal Microsoft Windows OS Pascal

Pascal Pascal Free Pascal CPad for Pascal Microsoft Windows OS Pascal Pascal Pascal Pascal Free Pascal CPad for Pascal Microsoft Windows OS 2010 10 1 Pascal 2 1.1.......................... 2 1.2.................. 2 1.3........................ 3 2 4 2.1................................

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

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

jssst-ocaml.mgp

jssst-ocaml.mgp Objective Caml Jacques Garrigue Kyoto University garrigue@kurims.kyoto-u.ac.jp Objective Caml? 2 Objective Caml GC() Standard MLHaskell 3 OCaml () OCaml 5 let let x = 1 + 2 ;; val x : int = 3 ;; val-:

More information

Copyright c 2006 Zhenjiang Hu, All Right Reserved.

Copyright c 2006 Zhenjiang Hu, All Right Reserved. 1 2006 Copyright c 2006 Zhenjiang Hu, All Right Reserved. 2 ( ) 3 (T 1, T 2 ) T 1 T 2 (17.3, 3) :: (Float, Int) (3, 6) :: (Int, Int) (True, (+)) :: (Bool, Int Int Int) 4 (, ) (, ) :: a b (a, b) (,) x y

More information

「計算と論理」 Software Foundations その3

「計算と論理」  Software Foundations   その3 Software Foundations 3 cal17@fos.kuis.kyoto-u.ac.jp October 24, 2017 ( ) ( 3) October 24, 2017 1 / 47 Lists.v ( ) ( ) ( ) ( 3) October 24, 2017 2 / 47 ( ) Inductive natprod : Type := pair : nat nat natprod.

More information

橡ボーダーライン.PDF

橡ボーダーライン.PDF 1 ( ) ( ) 2 3 4 ( ) 5 6 7 8 9 10 11 12 13 14 ( ) 15 16 17 18 19 20 ( ) 21 22 23 24 ( ) 25 26 27 28 29 30 ( ) 31 To be or not to be 32 33 34 35 36 37 38 ( ) 39 40 41 42 43 44 45 46 47 48 ( ) 49 50 51 52

More information

haskell.gby

haskell.gby Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]

More information

r3.dvi

r3.dvi 2012 3 / Lisp(2) 2012.4.19 1 Lisp 1.1 Lisp Lisp (1) (setq) (2) (3) setq defun (defun (... &aux...)...) ( ) ( nil ) [1]> (defun sisoku (x y &aux wa sa sho seki) (setq wa (+ x y)) (setq sa (- x y)) (setq

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double

More information

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu II 4 : 2001 11 7 keywords: 1 OCaml OCaml (first-class value) (higher-order function) 1.1 1 2 + 2 2 + + n 2 sqsum 1 3 + 2 3 + + n 3 cbsum # let rec sqsum n = # if n = 0 then 0 else n * n + sqsum (n - 1)

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A B f : A B 4 (i) f (ii) f (iii) C 2 g, h: C A f g = f h g = h (iv) C 2 g, h: B C g f = h f g = h 4 (1) (i) (iii) (2) (iii) (i) (3) (ii) (iv) (4)

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 5 3. 4. 5. A0 (1) A, B A B f K K A ϕ 1, ϕ 2 f ϕ 1 = f ϕ 2 ϕ 1 = ϕ 2 (2) N A 1, A 2, A 3,... N A n X N n X N, A n N n=1 1 A1 d (d 2) A (, k A k = O), A O. f

More information

XMPによる並列化実装2

XMPによる並列化実装2 2 3 C Fortran Exercise 1 Exercise 2 Serial init.c init.f90 XMP xmp_init.c xmp_init.f90 Serial laplace.c laplace.f90 XMP xmp_laplace.c xmp_laplace.f90 #include int a[10]; program init integer

More information

JavaCard p.1/41

JavaCard   p.1/41 JavaCard Email : nagamiya@comp.cs.gunma-u.ac.jp p.1/41 Hoare Java p.2/41 (formal method) (formal specification) (formal) JML, D, VDM, (formal method) p.3/41 Hoare Java p.4/41 (precondition) (postcondition)

More information

ohp07.dvi

ohp07.dvi 17 7 (2) 2017.9.13 1 BNF BNF ( ) ( ) 0 ( ) + 1 ( ) ( ) [ ] BNF BNF BNF prog ::= ( stat ) stat ::= ident = expr ; read ident ; print expr ; if ( expr ) stat while ( expr ) stat { prog expr ::= term ( +

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) double

More information

コンピュータ概論

コンピュータ概論 4.1 For Check Point 1. For 2. 4.1.1 For (For) For = To Step (Next) 4.1.1 Next 4.1.1 4.1.2 1 i 10 For Next Cells(i,1) Cells(1, 1) Cells(2, 1) Cells(10, 1) 4.1.2 50 1. 2 1 10 3. 0 360 10 sin() 4.1.2 For

More information

つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

つくって学ぶプログラミング言語 RubyによるScheme処理系の実装 Ruby Scheme 2013-04-16 ( )! SICP *1 ;-) SchemeR SICP MIT * 1 Structure and Interpretaion of Computer Programs 2nd ed.: 2 i SchemeR Ruby Ruby Ruby Ruby & 3.0 Ruby ii https://github.com/ichusrlocalbin/scheme_in_ruby

More information

連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines "" = [] lines s = let (l,s'

連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines  = [] lines s = let (l,s' 連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) nobsun@sampou.org 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines "" = [] lines s = let (l,s') = break ('\n'==) s in l : case s' of [] -> [] (_:s'')

More information

For_Beginners_CAPL.indd

For_Beginners_CAPL.indd CAPL Vector Japan Co., Ltd. 目次 1 CAPL 03 2 CAPL 03 3 CAPL 03 4 CAPL 04 4.1 CAPL 4.2 CAPL 4.3 07 5 CAPL 08 5.1 CANoe 5.2 CANalyzer 6 CAPL 10 7 CAPL 11 7.1 CAPL 7.2 CAPL 7.3 CAPL 7.4 CAPL 16 7.5 18 8 CAPL

More information

Jacques Garrigue

Jacques Garrigue Jacques Garrigue Garrigue 1 Garrigue 2 $ print_lines () > for i in $1; do > echo $i > done $ print_lines "a b c" a b c Garrigue 3 Emacs Lisp (defun print-lines (lines) (dolist (str lines) (insert str)

More information

第10回 コーディングと統合(WWW用).PDF

第10回 コーディングと統合(WWW用).PDF 10 January 8, 2004 algorithm algorithm algorithm (unit testing) (integrated testing) (acceptance testing) Big-Bang (incremental development) (goto goto DO 50 I=1,COUNT IF (ERROR1) GO TO 60 IF (ERROR2)

More information

RubyKaigi2009 COBOL

RubyKaigi2009 COBOL RubyKaigi2009 COBOL seki@druby.org 3360 Pragmatic Bookshelf druby Web $32.00 International Journal of PARALLEL PROGRAMING !? MapReduce Rinda (map, reduce) map reduce key value [, ] [, ID] map()

More information

untitled

untitled 146,650 168,577 116,665 122,915 22,420 23,100 7,564 22,562 140,317 166,252 133,581 158,677 186 376 204 257 5,594 6,167 750 775 6,333 2,325 298 88 5,358 756 1,273 1,657 - - 23,905 23,923 1,749 489 1,309

More information

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1 Java (9) 1 Lesson 7 2008-05-20 Java System.out.println() 1 Java API 1 Java Java 1 GUI 2 Java 3 1.1 5 3 1.0 10.0, 1.0, 0.5 5.0, 3.0, 0.3 4.0, 1.0, 0.6 1 2 4 3, ( 2 3 2 1.2 Java (stream) 4 1 a 5 (End of

More information

2

2 Haskell ( ) kazu@iij.ad.jp 1 2 Blub Paul Graham http://practical-scheme.net/trans/beating-the-averages-j.html Blub Blub Blub Blub 3 Haskell Sebastian Sylvan http://www.haskell.org/haskellwiki/why_haskell_matters...

More information

untitled

untitled II yacc 005 : 1, 1 1 1 %{ int lineno=0; 3 int wordno=0; 4 int charno=0; 5 6 %} 7 8 %% 9 [ \t]+ { charno+=strlen(yytext); } 10 "\n" { lineno++; charno++; } 11 [^ \t\n]+ { wordno++; charno+=strlen(yytext);}

More information

CRA3689A

CRA3689A AVIC-DRZ90 AVIC-DRZ80 2 3 4 5 66 7 88 9 10 10 10 11 12 13 14 15 1 1 0 OPEN ANGLE REMOTE WIDE SET UP AVIC-DRZ90 SOURCE OFF AV CONTROL MIC 2 16 17 1 2 0 0 1 AVIC-DRZ90 2 3 4 OPEN ANGLE REMOTE SOURCE OFF

More information

Microsoft PowerPoint - オブジェクト倶楽部2007クリスマス公開.ppt

Microsoft PowerPoint - オブジェクト倶楽部2007クリスマス公開.ppt 形式仕様記述を巡る話題 酒匂寛オブジェクト倶楽部 2007 クリスマス (C) 2007, Sako Hiroshi. all rights reserved. 1 本日の結論 いますぐ試してみよう 形式手法は明日の技術ではなく いまそこにある技術 活用すれば仕事を劇的に楽にする 形式手法はコミュニケーションを助ける 怠惰な技術者は 形式手法 で楽をしよう 他者との対話自分との対話の基礎を固めて 本質的に考えるべきこと

More information

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2 JavaScript (2) 1 JavaScript 1.! 1. 2. 3. DOM 4. 2. 3. Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2 (1) var a; a = 8; a = 3 + 4; a = 8 3; a = 8 * 2; a = 8 / 2; a = 8 % 3; 1 a++; ++a; (++

More information

2005 D Pascal CASL ( ) Pascal C 3. A A Pascal TA TA TA

2005 D Pascal CASL ( ) Pascal C 3. A A Pascal TA TA TA 2005 D 1 1.1 1.2 Pascal CASL ( ) Pascal 1. 2005 10 13 2006 1 19 12 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA TA TA sdate@ist.osaka-u.ac.jp nakamoto@image.med.osaka-u.ac.jp h-kido@ist.osaka-u.ac.jp m-nakata@ist.osaka-u.ac.jp

More information

2011 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA enshu-

2011 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA enshu- 2011 D 1 1.1 1.2 Pascal CASL II ( ) Pascal 1. 2011 10 6 2011 2 9 15 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA enshud@fenrir.ics.es.osaka-u.ac.jp TA enshu-d@fenrir.ics.es.osaka-u.ac.jp higo@ist.osaka-u.ac.jp

More information

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 http://www.kb.ecei.tohoku.ac.jp/ koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ 1.1.1 λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 τ 2 M (terms) ::= c τ x M 1 M 2 λx : τ.m (M 1,M 2

More information

Parametric Polymorphism

Parametric Polymorphism ML 2 2011/04/19 Parametric Polymorphism Type Polymorphism ? : val hd_int : int list - > int val hd_bool : bool list - > bool val hd_i_x_b : (int * bool) list - > int * bool etc. let hd_int = function (x

More information

test.gby

test.gby Beautiful Programming Language and Beautiful Testing 1 Haskeller Haskeller 2 Haskeller (Doctest QuickCheck ) github 3 Haskeller 4 Haskell Platform 2011.4.0.0 Glasgow Haskell Compiler + 23 19 8 5 10 5 Q)

More information

6-1

6-1 6-1 (data type) 6-2 6-3 ML, Haskell, Scala Lisp, Prolog (setq x 123) (+ x 456) (setq x "abc") (+ x 456) ; 6-4 ( ) subtype INDEX is INTEGER range -10..10; type DAY is (MON, TUE, WED, THU, FRI, SAT, SUN);

More information

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² –

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² – (2018) 11 2018 12 13 2 g v dv x dt = bv x, dv y dt = g bv y (1) b v 0 θ x(t) = v 0 cos θ ( 1 e bt) (2) b y(t) = 1 ( v 0 sin θ + g ) ( 1 e bt) g b b b t (3) 11 ( ) p14 2 1 y 4 t m y > 0 y < 0 t m1 h = 0001

More information

* *1 *2 *2 *4 *5 *3 *3 *3 *6 *7

* *1 *2 *2 *4 *5 *3 *3 *3 *6 *7 TX-SA578 TX-SA578V * *1 *2 *2 *4 *5 *3 *3 *3 *6 *7 *1 *2 *3 *4 *5 *6 *7 * * - *1 *1 *1 *1*2 *2 *2 *1 *2 LINE INPUT LINE INPUT *1 *1 HDMI Y PB/CB PR/CR V D4 OPTICAL * * L R * *1 - - *1 REMOTE

More information

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp 3 Haskell Haskell Haskell 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. C Java 3.1 Haskell Haskell GHC (Glasgow Haskell Compiler 1 ) GHC Haskell GHC http://www.haskell. 1 Guarded Horn Clauses III - 1 org/ghc/ Windows

More information

「計算と論理」 Software Foundations その4

「計算と論理」  Software Foundations   その4 Software Foundations 4 cal17@fos.kuis.kyoto-u.ac.jp http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/cal/ November 7, 2017 ( ) ( 4) November 7, 2017 1 / 51 Poly.v ( ) ( 4) November 7, 2017 2 / 51 : (

More information

untitled

untitled II 4 Yacc Lex 2005 : 0 1 Yacc 20 Lex 1 20 traverse 1 %% 2 [0-9]+ { yylval.val = atoi((char*)yytext); return NUM; 3 "+" { return + ; 4 "*" { return * ; 5 "-" { return - ; 6 "/" { return / ; 7 [ \t] { /*

More information

untitled

untitled Tylor 006 5 ..........5. -...... 5....5 5 - E. G. BASIC Tylor.. E./G. b δ BASIC.. b) b b b b δ b δ ) δ δ δ δ b b, b ) b δ v, b v v v v) ) v v )., 0 OPTION ARITHMETIC DECIMAL_HIGH INPUT FOR t TO 9 LET /*/)

More information

bdd.gby

bdd.gby Haskell Behavior Driven Development 2012.5.27 @kazu_yamamoto 1 Haskell 4 Mew Firemacs Mighty ghc-mod 2 Ruby/Java HackageDB 3 Haskeller 4 Haskeller 5 Q) Haskeller A) 6 7 Haskeller Haskell 8 9 10 Haskell

More information

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name = "" => "" > item.valid? => true valid? true false

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name =  =>  > item.valid? => true valid? true false 10 (1) 16 7 PicoPlanner validations 10.1 PicoPlanner Web Web invalid values validations Rails validates validate 107 10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #

More information

2009 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA

2009 D Pascal CASL II ( ) Pascal C 3. A A Pascal TA TA 2009 D 1 1.1 1.2 Pascal CASL II ( ) Pascal 1. 2009 10 15 2010 1 29 16 2. C 3. A A 2 1 2 Pascal 1.3 1. 2. TA enshud@image.med.osaka-u.ac.jp TA enshu-d@image.med.osaka-u.ac.jp nakamoto@image.med.osaka-u.ac.jp

More information

*1 * *2 *3 *3 *4 *5 *6 *4 *4 *4 *7 *8 *9 *10

*1 * *2 *3 *3 *4 *5 *6 *4 *4 *4 *7 *8 *9 *10 TX-SA608 *1 * *2 *3 *3 *4 *5 *6 *4 *4 *4 *7 *8 *9 *10 *1 *2 *3 *4 * * *5 *6 *7 *8 *9 *10 - - * * *2 *2 *1 *1 *2 *1*2 *2 *2 *2 *1 *2 LINE INPUT LINE INPUT LINE INPUT LINE INPUT FRONT L CENTER PRE

More information

Microsoft Word - フレームワーク開発における形式仕様記述の適用に関する検討.docx

Microsoft Word - フレームワーク開発における形式仕様記述の適用に関する検討.docx フレームワークを利用した開発における形式仕様記述の適用に 関する検討 Examination on Application of Formal specification to Framework-based Development 有賀一輝 水野徹平 東海政治 演習コースⅡ グループ 2 株式会社イクズアネックス株式会社富士ゼロックスアドバンストテクノロジー株式会社 NTT データ CCS 概要あいまいな仕様による不具合を解決する方法の

More information

プログラム理論2014.key

プログラム理論2014.key (temporal logic) (modal logic)!! LTL! CTL! liveness safety properties! (Model Checking)! LTL (linear-time temporal logic) Syntax! p Atoms (propositional atoms)! φ::= T p ( φ) (φ φ) (φ φ) (φ φ) (X φ)!!

More information

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 2005 sumii@ecei.tohoku.ac.jp 2005 6 24 ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 let λ 1 let x = e1 in e2 (λx.e 2 )e 1 e 1 x e 2 λ 3 λx.(λy.e)

More information

compiler-text.dvi

compiler-text.dvi 2018.4 1 2 2.1 1 1 1 1: 1. (source program) 2. (object code) 3. 1 2.2 C if while return C input() output() fun var ( ) main() C (C-Prime) C A B C 2.3 Pascal P 1 C LDC load constant LOD load STR store AOP

More information

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 More Logic More Types ML/OCaml GADT Jacques Garrigue ( ) Jacques Le Normand (Google) Didier Rémy (INRIA) @garriguejej ocamlgadt ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 ( ) ML type nebou and

More information

¥¢¥ë¥´¥ê¥º¥à¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó ÎØ¹Ö #1

¥¢¥ë¥´¥ê¥º¥à¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó ÎØ¹Ö #1 #1 id:motemen August 27, 2008 id:motemen 1-3 1-5 6-9 10-14 1 2 : n < a 1, a 2,..., a n > a 1 a 2 a n < a 1, a 2,..., a n > : Google: insertion sort site:youtube.com 1 : procedure Insertion-Sort(A) for

More information

f(x) x S (optimal solution) f(x ) (optimal value) f(x) (1) 3 GLPK glpsol -m -d -m glpsol -h -m -d -o -y --simplex ( ) --interior --min --max --check -

f(x) x S (optimal solution) f(x ) (optimal value) f(x) (1) 3 GLPK glpsol -m -d -m glpsol -h -m -d -o -y --simplex ( ) --interior --min --max --check - GLPK by GLPK http://mukun mmg.at.infoseek.co.jp/mmg/glpk/ 17 7 5 : update 1 GLPK GNU Linear Programming Kit GNU LP/MIP ILOG AMPL(A Mathematical Programming Language) 1. 2. 3. 2 (optimization problem) X

More information

Emacs ML let start ::= exp (1) exp ::= (2) fn id exp (3) ::= (4) (5) ::= id (6) const (7) (exp) (8) let val id = exp in

Emacs ML let start ::= exp (1) exp ::= (2) fn id exp (3) ::= (4) (5) ::= id (6) const (7) (exp) (8) let val id = exp in Emacs, {l06050,sasano}@sic.shibaura-it.ac.jp Eclipse Visual Studio Standard ML Haskell Emacs 1 Eclipse Visual Studio variable not found LR(1) let Emacs Emacs Emacs Java Emacs JDEE [3] JDEE Emacs Java 2

More information

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2 Excel2000VBA L e a r n i n g S c h o o l 1 Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2 3 Module1:(General)- Public Sub () Dim WS As Object Dim DiffDate As Integer Dim MaxRows As Integer, CopyRows As Integer

More information

r3.dvi

r3.dvi / 94 2 (Lisp ) 3 ( ) 1994.5.16,1994.6.15 1 cons cons 2 >(cons a b) (A. B).? Lisp (S ) cons 2 car cdr n A B C D nil = (A B C D) nil nil A D E = (A (B C) D E) B C E = (A B C D. E) A B C D B = (A. B) A nil.

More information

II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C main main 1 NULL NULL for 2 (a) Yacc 2 (b) 2 3 y

II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C main main 1 NULL NULL for 2 (a) Yacc 2 (b) 2 3 y II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C 1 6 9 1 main main 1 NULL NULL 1 15 23 25 48 26 30 32 36 38 43 45 47 50 52 for 2 (a) 2 2 1 Yacc 2 (b) 2 3 yytext tmp2 ("") tmp2->next->word tmp2 yytext tmp2->next->word

More information

( 9 1 ) 1 2 1.1................................... 2 1.2................................................. 3 1.3............................................... 4 1.4...........................................

More information

パズルをSugar制約ソルバーで解く

パズルをSugar制約ソルバーで解く Sugar 1 2 3 1 CSPSAT 2008 8 21 Sugar 1 2 3 Sugar Sugar (CSP) (SAT ) (encode) SAT SAT order encoding direct encoding support encoding http://bachistckobe-uacjp/sugar/ Web Sugar 1 2 3 Sugar SAT (COP) MAX-CSP

More information

yacc.dvi

yacc.dvi 2017 c 8 Yacc Mini-C C/C++, yacc, Mini-C, run,, Mini-C 81 Yacc Yacc, 1, 2 ( ), while ::= "while" "(" ")" while yacc 1: st while : lex KW WHILE lex LPAREN expression lex RPAREN statement 2: 3: $$ = new

More information

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM R01AN0724JU0170 Rev.1.70 MCU EEPROM RX MCU 1 RX MCU EEPROM VEE VEE API MCU MCU API RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 R01AN0724JU0170 Rev.1.70 Page 1 of 33 1.... 3 1.1... 3 1.2... 3

More information

スライド 1

スライド 1 1 1. 2 2. 3 isplever 4 5 6 7 8 9 VHDL 10 VHDL 4 Decode cnt = "1010" High Low DOUT CLK 25MHz 50MHz clk_inst Cnt[3:0] RST 2 4 1010 11 library ieee; library xp; use xp.components.all; use ieee.std_logic_1164.all;

More information

SystemC言語概論

SystemC言語概論 SystemC CPU S/W 2004/01/29 4 SystemC 1 SystemC 2.0.1 CPU S/W 3 ISS SystemC Co-Simulation 2004/01/29 4 SystemC 2 ISS SystemC Co-Simulation GenericCPU_Base ( ) GenericCPU_ISS GenericCPU_Prog GenericCPU_CoSim

More information

Java演習(4) -- 変数と型 --

Java演習(4)   -- 変数と型 -- 50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends

More information

BASICとVisual Basic

BASICとVisual Basic Visual Basic BASIC Visual Basic BASICBeginner's All purpose Symbolic Instruction Code Visual Basic Windows BASIC BASIC Visual Basic Visual Basic End Sub .Visual Basic Visual Basic VB 1-1.Visual Basic

More information

AN 100: ISPを使用するためのガイドライン

AN 100: ISPを使用するためのガイドライン ISP AN 100: In-System Programmability Guidelines 1998 8 ver.1.01 Application Note 100 ISP Altera Corporation Page 1 A-AN-100-01.01/J VCCINT VCCINT VCCINT Page 2 Altera Corporation IEEE Std. 1149.1 TCK

More information

D0050.PDF

D0050.PDF Excel VBA 6 3 3 1 Excel BLOCKGAME.xls Excel 1 OK 2 StepA D B1 B4 C1 C2 StepA StepA Excel Workbook Open StepD BLOCKGAME.xls VBEditor ThisWorkbook 3 1 1 2 2 3 5 UserForm1 4 6 UsorForm2 StepB 3 StepC StepD

More information

tuat1.dvi

tuat1.dvi ( 1 ) http://ist.ksc.kwansei.ac.jp/ tutimura/ 2012 6 23 ( 1 ) 1 / 58 C ( 1 ) 2 / 58 2008 9 2002 2005 T E X ptetex3, ptexlive pt E X UTF-8 xdvi-jp 3 ( 1 ) 3 / 58 ( 1 ) 4 / 58 C,... ( 1 ) 5 / 58 6/23( )

More information

R R S S 6 S S D D S3 S3 R R S 6 S 6 S S D D w.o S3 S3 R5 3-0 R S 06 S 6 6 S S 6 D D 30 S3 w.o S3 R R8 7 3-

R R S S 6 S S D D S3 S3 R R S 6 S 6 S S D D w.o S3 S3 R5 3-0 R S 06 S 6 6 S S 6 D D 30 S3 w.o S3 R R8 7 3- 3 9 3 5 5 9 4 5 6 7 8 0 4 R R5 S S D S3 S S D S3 6 6 6 6 6 6 6 30 30 3 0 0 3 4 6 R R8 S S D S3 S S D S3 6 6 7 30 3 0 6 6 3 4 5 6 3 6 0 w.o 3R 30 3 3R3 S S D S3 S S D S3 6 6 6 4 6 6 4 4 0 0 3 6 6 6 R R9

More information

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flow

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) flow Java (5) 1 Lesson 3: 2008-05-20 2 x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java 1.1 10 10 0 1.0 2.0, 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flowrate.dat" 10 8 6 4 2 0 0 5 10 15 20 25 time (s) 1 1

More information

Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます.   このサンプルページの内容は, 初版 1 刷発行時のものです. Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. http://www.morikita.co.jp/books/mid/009631 このサンプルページの内容は, 初版 1 刷発行時のものです. Excel URL http://www.morikita.co.jp/books/mid/009631 i Microsoft Windows

More information

lexex.dvi

lexex.dvi (2018, c ) http://istksckwanseiacjp/ ishiura/cpl/ 4 41 1 mini-c lexc,, 2 testlexc, lexc mini-c 1 ( ) mini-c ( ) (int, char, if, else, while, return 6 ) ( ) (+, -, *, /, %, &, =, ==,!=, >, >=,

More information

Int Int 29 print Int fmt tostring 2 2 [19] ML ML [19] ML Emacs Standard ML M M ::= x c λx.m M M let x = M in M end (M) x c λx.

Int Int 29 print Int fmt tostring 2 2 [19] ML ML [19] ML Emacs Standard ML M M ::= x c λx.m M M let x = M in M end (M) x c λx. 1, 2 1 m110057@shibaura-it.ac.jp 2 sasano@sic.shibaura-it.ac.jp Eclipse Visual Studio ML Standard ML Emacs 1 ( IDE ) IDE C C++ Java IDE IDE IDE IDE Eclipse Java IDE Java Standard ML 1 print (Int. 1 Int

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

べリンガーB-CONTROL

べリンガーB-CONTROL B-CONTROL B-CONTROL B-CONTROL NATIVE INSTRUMENTS as well as the name of companies, institutions or publications pictured or mentioned and their respective logos are registered trademarks of their respective

More information

piyo rtfd

piyo rtfd Python.use(better, by="k&r") 伝統的な制御構造に代わる for 文を使って 同等の関数 atoi を実現できます # for novice 6 atoi 1 文字列から整数を得るには 伊藤うさぎ Python には 組み込み関数 int() があるので atoi() を実現するには及びません しかし 同等の機能を実現してみるのも一興です 6 では K&R を模倣したもの

More information

94 expression True False expression FalseMSDN IsNumber WorksheetFunctionIsNumberexpression expression True Office support.office.com/ja-jp/ S

94 expression True False expression FalseMSDN IsNumber WorksheetFunctionIsNumberexpression expression True Office   support.office.com/ja-jp/ S Excel VBA a Excel VBA VBA IsNumeric IsNumber SpecialCells SpecialCells MSDNMicrosoft Developer NetworkIsNumeric IsNumber SpecialCells IsNumeric VBA IsNumericexpression SpecialCells 94 expression True False

More information

2 2 ( M2) ( )

2 2 ( M2) ( ) 2 2 ( M2) ( ) 2007 3 3 1 2 P. Gaudry and R. Harley, 2000 Schoof 63bit 2 8 P. Gaudry and É. Schost, 2004 80bit 1 / 2 16 2 10 2 p: F p 2 C : Y 2 =F (X), F F p [X] : monic, deg F = 5, J C (F p ) F F p p Frobenius

More information

I 11

I 11 I 11 2 h 345 645 3 var strs = ["meijo", "university", "abc", "shiogama","yagoto", "ueda", "hara", "irinaka", "yagoto-nisseki", "kanayama"] function make_table(){ var a = [] for (var i = 0; i < strs.length;

More information

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * * 2015 2015 07 30 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) +

More information

r1.dvi

r1.dvi Ruby 2009.9.7 1 ( ) --- ( ( ) ( ) 1 --- ( ) 1 ( ) (?) IT 7K( )?? ( ) ( )? IT ( ) --- ( ) 1 ( ) --- ( ) (?) 2-3% Top-Level ICT Professional 5% ICT Professional 10% 100% 50% 20% Devl. Experiment Adv. ICT

More information

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf ("%s", str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf (%s, str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i ABC066 / ARC077 writer: nuip 2017 7 1 For International Readers: English editorial starts from page 8. A : ringring a + b b + c a + c a, b, c a + b + c 1 # include < stdio.h> 2 3 int main (){ 4 int a,

More information

MQTT V3.1 プロトコル仕様

MQTT V3.1 プロトコル仕様 1999 d digit = X MOD 128 X = X DIV 128 // if there are mre digits t encde, set the tp bit f this digit if ( X > 0 ) digit = digit OR 0x80 endif 'utput' digit while ( X> 0 ) multiplier = 1 value = 0

More information

Ruby Ruby ruby Ruby G: Ruby>ruby Ks sample1.rb G: Ruby> irb (interactive Ruby) G: Ruby>irb -Ks irb(main):001:0> print( ) 44=>

Ruby Ruby ruby Ruby G: Ruby>ruby Ks sample1.rb G: Ruby> irb (interactive Ruby) G: Ruby>irb -Ks irb(main):001:0> print( ) 44=> Ruby Ruby 200779 ruby Ruby G: Ruby>ruby Ks sample1.rb G: Ruby> irb (interactive Ruby) G: Ruby>irb -Ks irb(main):001:0> print( 2+3+4+5+6+7+8+9 ) 44 irb(main):002:0> irb irb(main):001:0> 1+2+3+4 => 10 irb(main):002:0>

More information

netcdf

netcdf 1. Anetcdf.rb netcdf C ruby open new create NetCDF C filename String NetCDF NetCDF_open mode r r, w share false true or false open open netcdf filename String NetCDF NetCDF_create noclobber false true

More information

exec.dvi

exec.dvi 2018 c 6, Mini-C C++ 6211 611, 61, print,,, (run ),,, (int ), 7, x, x "a" 3 "b" 4 "x" 10 (, ), x STL map 1 + 2, 1 2,, x = ;, 1, 2 x { 1 ; 2 ; ; m, if ( ) { 1 else { 2, 1,, 2 0, 1, 3 0, 2,,, main 6 1 ,,

More information

:30 12:00 I. I VI II. III. IV. a d V. VI

:30 12:00 I. I VI II. III. IV. a d V. VI 2018 2018 08 02 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF N N y N x N xy yx : yxxyxy N N x, y N (parse tree) (1) yxyyx (2) xyxyxy (3) yxxyxyy (4) yxxxyxxy N y N x N yx

More information

e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x

e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x n ) = e 1 in e 2 Array.create e 1 e 2 e 1.(e 2 ) e

More information

プログラミングD - Java

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

More information