Software Reliability Enhancement Center Information-technology Promotion Agency, Japan SEC-FM1-B1-01 VDMTools VDM++ 入門 Copyright 2013 IPA, All Rights

Size: px
Start display at page:

Download "Software Reliability Enhancement Center Information-technology Promotion Agency, Japan SEC-FM1-B1-01 VDMTools VDM++ 入門 Copyright 2013 IPA, All Rights"

Transcription

1 Software Reliability Enhancement Center Information-technology Promotion Agency, Japan VDMTools VDM++ 入門

2 目次 0. はじめに 1. VDM 開発環境の構築 2. VDMToolsの起動 3. VDM++ インタープリタの起動 3.1 VDMToolsのVDM++ インタープリタの起動画面 3.2 VDMToolsの実行ウィンドウ 3.3 VDMToolsの実行例 5. VDM++ 言語入門 5. 1 VDM++ 言語入門 1 列 5. 2 VDM++ 言語入門 2 数値, 集合, レコード 5. 3 VDM++ 言語入門 3 写像 まとめ 3.4 VDMTools の実行結果 4. VDMTools チュートリアル 2

3 0. はじめに 0.1 本資料の対象者 0. 2 VDM とは? 0.3 VDM++ とは? 3

4 0.1 本資料の対象者 対象者 仕様を書くために必要な離散数学の基礎を勉強したい方 集合論 述語論理 ( 命題論理 +3つの論理式 ) の基礎 仕様記述言語 VDM++ で仕様を書くための初歩を知りたい方 対象を如何にモデル化するか? セミナーを受講する方 前提条件 プログラム作成経験があること 4

5 0. 2 VDM とは? VDM = Vienna Development Method 離散数学をベースとした仕様記述と検証のための手法 1960 年代から1970 年代にIBMウィーン研究所で開発 1996 年に VDMの仕様記述言語 VDM-SLが世界初のISO 標準 (ISO/IEC 13817) 仕様記述言語になった VDM++ は 1993 年に欧州連合 ESPRIT 計画のAFRODITEプロジェクトで VDM-SLをオブジェクト指向拡張したもの 特徴 厳密に定義された仕様記述言語 (VDM-SL, VDM++) を持つ 制約条件 ( 不変条件 事後条件 事前条件 ) の記述が可能 仕様の正しさを検証するための証明手法がある ( 今回は省略 ) 産業界での実用のためにVDM 支援ツールVDMToolsでVDM-SLが拡張された 5

6 0.3 VDM++ とは? 関数型 +オブジェクト指向 + 手続き型の仕様記述言語 今回は 関数型については説明をほぼ省略 VDMToolsを用いたVDM++ 仕様の検証が可能 構文チェック 型チェック 仕様実行 回帰テスト 証明課題 ( 証明すべき条件式 ) とC++ とJavaの生成 ( 今回は省略 ) 6

7 0. 3 VDM++ とは? 不変条件 事後条件 事前条件 ここでは VDM++ で仕様を記述するために重要な不変条件 事後条件 事前条件の定義の 概要を説明する (VDM-SL では これら条件の記述法が少し異なる点がある ) 不変条件 (VDM++ では 型の不変条件と インスタンス変数の不変条件を記述できる ) オブジェクトが存在する間 その値が真 (true) のまま変化しない述語 ( 条件式 ) 例え ば e が偶数型だとすると e mod 2 = 0 が偶数型の不変条件で 常に真 (true) であ る (mod は剰余を計算する演算子なので e mod 2 は e を 2 で割ったあまり ) 事後条件 (VDM++ では 関数の事後条件と 操作の事後条件を記述できる ) 関数または操作を実行した後に 期待される状態を表す述語 ( 条件式 ) 例えば 奇数 を求める関数の事後条件は 返り値を RESULT とすると RESULT mod 2 <> 1 である 事前条件 (VDM++ では 関数の事前条件と 操作の事前条件を記述できる ) 関数または操作が実行される前に 期待される状態を表す述語 ( 条件式 ) 例えば 年 月日の月 m を引数とする関数の事前条件は 1 <= m and m <= 12 である 7

8 1. VDM 開発環境の構築 下記に従って VDMTools を使えるようにする Subversion についての記述があるが 今回は無視して構わない 上記説明はWindows7をベースにしているが Mac OS XやLinuxでも サクラエディタが使えない以外は ほぼ同様の構築手順である Mac OS XやLinuxの場合も VDMTools 以外に VDM++ ソースを編集するテキストエディターが必要である 8

9 2. VDMTools の起動 Windows7 の場合のスタートメニュー例 今後の説明は v9.0.2 で説明していく 9

10 2.1 VDMTools 起動時の画面 10

11 3. VDMTools の VDM++ インタープリタの起動 3.1 VDM++ インタープリタの起動画面 3.2 実行ウィンドウ 3.3 実行例 3.4 実行結果 11

12 3.1 VDMTools の VDM++ インタープリタの起動画面 初期化を選択すると 次ページの実行ウィ ンドウが開く 12

13 3.2 VDMTools の実行ウィンドウ Response 画面 Dialog 画面 実行結果が表示される インタプリタコマンド を入力する 13

14 3.3 VDMTools の実行例 2+3 を実行し 結果を表示するためには Dialog 画面で print 2+3 とタイプする タイプしたが まだReturn(Enter) キーは押していないところ 14

15 3.4 VDMTools の実行結果 計算した結果 上のWarningは 今は無視して構わない 15

16 4. VDMTools チュートリアル マニュアルについて言語マニュアルとユーザーマニュアルは以下からダウンロードして参照すること ただし 随時 マニュアルのPDFファイルを検索して調べる方が 頭から読むより分かりやすい VDMTools の基本的操作方法は 以下を参照のこと 16

17 5. VDM++ 言語入門 5.0 VDM++ 仕様 仕様の全体構造 仕様記述の注意点 仕様記述例 5. 1 VDM++ 言語入門 1 列, ブール 5. 2 VDM++ 言語入門 2 数値, 集合, レコード 5. 3 VDM++ 言語入門 3 写像 17

18 5.0 VDM++ 言語入門 VDM++ 仕様 仕様の全体構造 仕様記述の注意点 仕様記述例 18

19 5.0.1 VDM++ 言語入門仕様の全体構造 class クラス名 [is subclass of スーパークラス名 [, スーパークラス名, ]] values -- 定数の定義 types -- このクラスが責任を持つ型の定義 instance variables -- インスタンス変数これが属性を表す : 状態はこの属性の値で決まる operations -- インスタンス変数にアクセスできる -- すなわちオブジェクトの状態を変える可能性のある操作 functions -- インスタンス変数にアクセスできない -- すなわちオブジェクトの状態を変えない操作 end クラス名 19

20 5.0.2 VDM++ 言語入門仕様記述の注意点 仕様をクラス単位で記述する 1ファイルに複数クラスを記述できるが 普通は 1ファイル1クラスを推奨 クラス内には 定義ブロック (values types instance variables operations functions) を任意の個数 順不同で定義可能 各ブロック内は定義をセミコロン ; で区切り 複数個を定義可能 予約語を識別子として使うことはできない 識別子は国際語化に対応し 日本語が使える (Java と同じ ) 20

21 5.0.3 VDM++ 言語入門仕様記述例 class BMI -- は 行末まで注釈 Body Mass Index( 肥満度を表す指数の一つ ) についての機能を持つクラス values -- 定数を定義する 月当たり減量限界値 = 2; -- 単位は kg 適正 BMI 下限 = 25; 適正 BMI 上限 = 30; types -- 型を定義する public 体重 = real; -- 単位は kg public 身長 = real; -- 単位は m instance variables -- 状態を持つインスタンス変数を定義する 前月体重 : 体重 := 0; operations -- インスタンス変数を参照 書き換えできる操作を定義する public 健康を損なわない : 体重 * 身長 ==> bool -- 体重 身長を引数とし bool 型 (true または false を返す ) 健康を損なわない (a 現体重, a 身長 ) == 健康を損なわない減量かを判定する 仮引数が a 現体重と a 身長 -- 月当たり減量しすぎず かつ 平均余命が長い BMI であるか判定する return ( 前月体重 - a 現体重 ) <= 月当たり減量限界値 and 平均余命が長い BMI である (a 現体重, a 身長 ) pre 前月体重 >= a 現体重 -- 事前条件 (true でなければならない ) post RESULT = (( 前月体重 - a 現体重 ) <= 月当たり減量限界値 and 平均余命が長い BMI である (a 現体重, a 身長 )); -- 事後条件 (true でなければならない ) --RESULT は返り値を表す予約語 public 前月体重を設定する : 体重 ==> () 前月体重を設定する (a 体重 ) == 前月体重 := a 体重 ; -- インスタンス変数 前月体重 を設定する functions -- 引数だけから結果を得る関数を定義する static public 平均余命が長い BMI である : 体重 * 身長 +> bool -- 平均余命が長いか判定する 平均余命が長い BMI である (a 現体重, a 身長 ) == 適正 BMI 上限 >= BMI を得る (a 現体重, a 身長 ) and BMI を得る (a 現体重, a 身長 ) >= 適正 BMI 下限 ; static public BMI を得る : 体重 * 身長 -> real --BMI を計算する BMI を得る ( 体重, 身長 ) == 体重 / (( 身長 / 100) ** 2) pre 身長 <> 0; end BMI 21

22 5. 1 VDM++ 言語入門 1 列型 5. 1 VDM++ 言語入門 1 列型 列型の主要演算子 ブール型の演算子 実行ウィンドウで実行 準備 仕様ファイル追加 例題の実行 例題の実行 例題の実行 1の結果 例題の実行 2 22

23 5. 1 VDM++ 言語入門 1 列型, ブール型 何番目という概念があるものの集まりを列型という ( 他の型は後で説明 ) 無限の配列のようなもの ( 実行時にはメモリの制約で実行できない事がある ) 構文例 ( 型の定義 (types 句 ) で以下のように定義する ) 例えば型 Aの要素の列である型 Lを定義する場合以下のように行う 空列 [ ] が許される場合 構成子 L = seq of A ( 例 : types 文字列 = seq of char ここで char は文字型 ) 要素が必ず一つ以上ある場合 列挙表現 L = seq1 of A '[' 式 1',' 式 2 ','... ',' 式 n ']' 例 : 文字列 (seq of char) の場合 ['V ', ' D ','M'] を "VDM" と略記できる 23

24 5. 1 VDM++ 言語入門 1 列型, ブール型 演算子名称型の定義 ( 引数の型 - > 返り値の型 ) 例 ( 結果の右側は 左辺を実行した結果 ) hd s 先頭 seq1 of A -> A 空列ではない型 A の列 s から型 A hd "VDM" 結果 'V' tl s 尾部 seq1 of A -> seq of A 空列ではない型 A の列 s から型 A の列 tl "VDM" 結果 "DM" len s 長さ seq of A -> nat 型 A の列 s から自然数型 len "VDM" 結果 3 s(i) 列適用 seq of A * nat1 -> A 型 A の列 s と列 s の添字から型 A "VDM"(2) 結果 'D' s1 ^ s2 連結 (seq of A) * (seq of A) -> seq of A 型 A の列 s1 と s2 から 型 A の列 "VDM" ^ "++" 結果 "VDM++" s1 = s2 相等 (seq of A) * (seq of A) -> bool 型 A の列 s1 と s2 から ブール型 "VDM" = ['V','D','M'] 結果 true s1 <> s2 不等 (seq of A) * (seq of A) -> bool 型 A の列 s1 と s2 から ブール型 "VDM" <> "vdm" 結果 true 24

25 5.1.2 VDM++ 言語入門 1 ブール型の演算子 演算子名称 型 例 not 否定 bool -> bool (not true) 結果 false and 連言 bool * bool -> bool true and 3=3 結果 true or 選言 bool * bool -> bool 2=2 or false 結果 true => 含意 bool * bool -> bool 2=3 => 2=11 結果 true <=> 同等 bool * bool -> bool 2=3 <=> 2=11 結果 true = 相等 bool * bool -> bool (2=3) = (2=11) 結果 true <> 不等 bool * bool -> bool true <> (2=3) 結果 true 25

26 5.1.3 VDM++ 言語入門 1 実行ウィンドウで実行 VDMTools を起動し 以下を実行する 前の2ページの例も実行してみる printの替りにpの後にvdm++ の式をタイプしても同じ結果が得られることを確認する 26

27 5.1.4 VDM++ 言語入門 1 準備 以下の説明で使用する例題ファイルで使用されているテキストのコードは Unicode(UTF-8) なので ツールオプションメニューから ツールオプション画面を開き Unicode(UTF-8) を選択しておく 1. ツールオプション画面を開く 2. 文字コードを選択 27

28 5.1.5 VDM++ 言語入門 1 仕様ファイル追加 VDMToolsを起動し 別途配布されたVDMPPtutorial1 フォルダ内の下記ファイルを追加する メニューの プロジェクト > ファイルを追加... を使って追加する [ usevdmtools.html を参照 ] Tutorial1.vdmpp io.vpp VDMUtil.vpp io.vpp と VDMUtil.vpp は 標準ライブラリ 読み込み後の VDMTools ウィンドウ 28

29 5.1.6 VDM++ 言語入門 1 例題の実行 0 前の列型の演算子の表の例を以下の方法で実行してみよう 前ページで 必要なファイルは読み込まれ 構文チェックも終わっているので 型チェックを行い 次に初期化を行ってから print new 入門 1().rs とタイプしてみよう 結果は 以下のようになり すべて意図通りとなる [ true, true, true, true, true, true, true ] 詳しい説明は VDM++ のソース ファイルVDMPPtutorial1フォルダ下の Tutorial1.vdmppを参照のこと 29

30 5.1.7 VDM++ 言語入門 1 例題の実行 1 例題の実行次に文字列 ( 文字型の列 ) と真偽値を扱うブール型を練習する 列型も少し触れる 前ページで 必要なファイルは読み込まれ 構文チェックも終わっているので 型チェックを行い 次に初期化を行ってから print new 入門 1(). こんにちは (" 佐原伸 ") とタイプしてみよう 結果は 次のページに示す 30

31 5.1.8 VDM++ 言語入門 1 例題の実行 1 の結果 31

32 5.1.9 VDM++ 言語入門 1 例題の実行 2 同様にして 以下を実行すると 実行ウィンドウに以下のように表示される print new 入門 1(). ブール型の練習 () ここは print_ ブール関数の中から echo 関数を使って表示している ここは ブール型の練習 関数 の返り値が表示されている 例題の詳しい説明は VDM++ の ソース ファイル Tutorial1.vdmpp を 参照のこと 32

33 5.2 VDM++ 言語入門 2 数値型, 集合型, レコード型 数値型 数値型の演算子 集合型 集合型の主要演算子 レコード型 レコード型の主要演算子 実行ウィンドウで実行 ブレイクポイントの設定 ブレイクポイント設定後 デバッグ実行 値を表示 値の表示結果 仕様ファイル追加 演算子の実行例 33

34 実数 real e10... 有理数 rat) インタープリタ上は実数と同じ 整数 int 自然数 nat 以上の自然数 nat VDM++ 言語入門 2 数値型 34

35 VDM++ 言語入門 2 数値型の演算子 演算子名称型例 -x 負符号 real -> real -11 結果 -11 abs x 絶対値 real -> real abs -3 結果 3 floor x 底値 x を越えない最大の整数 real -> int floor 3.1 結果 3 floor -3.1 結果 -4 x + y 加算 real * real -> real 1+2 結果 3 x - y 減算 real * real -> real 1-2 結果 -1 x * y 乗算 real * real -> real 2.3*2 結果 4.6 x / y 除算 real * real -> real 2.3/2 結果 1.15 x div y 整数除算 int * int -> int 11 div 3 結果 3 x rem y 剰余算 ( 負になり得る ) int * int -> int x mod y 法算数学の定義による剰余 int * int -> int 3 rem 2 結果 1-3 rem 2 結果 -1 3 mod 2 結果 1-3 mod 2 結果 1 x rem y = x - y * (x div y) x mod y = x - y * floor(x/y) 35

36 5.2.2 VDM++ 言語入門 2 集合型 役割 重複と順序のない物の集まりを表す 構文例 S = set of A 構成子 列挙表現 '{' 式 1',' 式 2 ','... ',' 式 n '}' {1,2,3,1+3} = {1,2,3,4} -- 数値型の集合 {'a','b','c'} -- 文字型の集合 {"VDM", "IPA"} -- 文字列型の集合 {true, false} -- ブール型の集合 36

37 VDM++ 言語入門 2 集合型の主要演算子 演算子名称型例 e in set s1 帰属 A* set of A bool (1 in set {1,2}) 結果 true e not in set s1 非帰属 A* set of A bool (3 not in set {1,2}) 結果 true s1 union s2 合併 set of A * set of A -> set of A {1,2} union {1,3,4} 結果 {1,2,3,4} s1 inter s2 共通部分 set of A * set of A -> set of A {1,2} inter {1,3,4} 結果 {1} s1 s2 差 set of A * set of A -> set of A {1,2,3,4} {2,4} 結果 {1, 3} s1 subset s2 包含 set of A * set of A -> bool {1,2} subset {4,1,3,2} 結果 true card s1 濃度 set of A -> nat card {1,2,3} 結果 3 s1 = s2 相等 set of A * set of A -> bool {1,2,3} = {3,2,1} 結果 true s1 <> s2 不等 set of A * set of A -> bool {1,2} <> {1,3,4} 結果 true power s1 有限冪集合 set of A -> set of set of A power {1,2} 結果 { { }, { 1 }, { 2 }, { 1, 2 } } 37

38 複数の型から合成される型 VDM++ 言語入門 2 レコード型 プログラミング言語における構造体に相当する 構文例 A :: 識別子 1 : A1 識別子 2 : A2 識別子 3 : A3; 構成子 例 : 社員 :: fid : 社員 ID f 体重 : 体重 f 身長 : 身長 ; mk_a(a, b, c) -- aはa1 型 bはa2 型 cはa3 型 上記例の社員型の場合 以下で社員型のインスタンスを定義できる mk_ 社員 (3, 96.8, 176.8) 38

39 VDM++ 言語入門 2 レコード型の主要演算子 演算子名称型 例 この例は識別子のスコープの関係でそのままでは 動かないので VDMPPturorial2 フォルダ下の入門 2 のソース Tutorial2.vdmpp を使って動かす r.i 欄選択 A * Id -> Ai w 社員 = mk_ 社員 (3, 96.8, 176.8) とすると w 社員.fID = 3, w 社員.f 体重 =96.8, w 社員.f 身長 =176.8 r1 = r2 相等関係 A * A -> bool mk_ 社員 (3,96,177) = mk_ 社員 (3,96,177) 結果 true r1 <> r2 不等関係 A * A -> bool mk_ 社員 (1,96,178) <> mk_ 社員 (3,96,177) 結果 true 39

40 5.2.4 VDM++ 言語入門 2 仕様ファイル追加 VDMToolsを起動し VDMPPtutorial2 フォルダ内の下記ファイルを追加する Tutorial2.vdmpp VDMPPtutorial1 フォルダ内の下記ファイルを追加する io.vpp VDMUtil.vpp 40

41 VDM++ 言語入門 2 演算子の実行例 実行ウィンドウのDialog 画面で下記のようにタイプする p new 入門 2().ns p new 入門 2().ss p new 入門 2().rs 上記は いずれも計算結果を設定した定数を表示するので 計算結果の数だけtrueを持った列 [true, true,..., true] を返す 例 : p new 入門 2().rs の結果は [ true, true, true, true, true ] 詳細は Tutorial2.vdmppソースを参照のこと 41

42 5.2.5 VDM++ 言語入門 2 実行ウィンドウで実行 実行ウィンドウの Dialog 画面で下記のようにタイプする p new 入門 2(). 集合演算の練習 () 42

43 VDM++ 言語入門 2 ブレイクポイントの設定 VDM++ ソースの任意の場所にブレイクポイントを設定し 識別子の値を表示してみよう マネージャーウィンドウでクラスタグを選択し 入門 2をダブルクリックするとソース Tutorial2.vdmppのソースが表示される ここで 121 行を表す部分をダブルクリックし マウスの右ボタンをクリックすると ブレイクポイント設定を行うことができるユーザーマニュアル3.8.2ブレイクポイントの設定を参照のこと 43

44 VDM++ 言語入門 2 ブレイクポイント設定後 実行ウィンドウ右下にブレイクポイントが表示される 44

45 VDM++ 言語入門 2 デバッグ実行 ここで d new 入門 2(). 集合演算の練習 () とタイプすると 下記のようになり ソースの 121 行目で停止する d は debug の略である 45

46 VDM++ 言語入門 2 値を表示 r2 を選択し マウスの右クリックで値を表示してみよう 46

47 VDM++ 言語入門 2 値の表示結果 r2 の値の表示結果は 以下のように true となる 47

48 5. 3 VDM++ 言語入門 3 写像型 写像型 写像型構成子 写像型演算子 写像型演算子 仕様ファイル追加 実行ウィンドウで実行 48

49 5.3.1 VDM++ 言語入門 3 写像型 順序のない値の組 ( キー, 値 ) を表す 写像型に用意されている演算子が豊富なため 写像型をうまく使えばモデルが単純化できる キーとデータを持つ表のモデル化によく使われる 定義域から値域への多対 1の関係は許されるが 1 対多の関係は許されない dom 定義域 (domain) 社員 ID rng 値域 (range) 人 "sahara" "sakoh" "araki" 写像型定義例 types public 社員 = map 社員 ID to 人 ; 49

50 VDM++ 言語入門 3 写像型構成子 構成子 列挙表現 '{' a1' ->' b1 ',' a2 ' ->' b2 ','... ',' an ' ->' bn '}' 例 : {1 -> mk_ 社員 (50, 150), 2 -> mk_ 社員 (180, 190.9)} 社員の型定義が下記の場合 public 社員 :: f 体重 : 体重 f 身長 : 身長 ; 50

51 VDM++ 言語入門 3 写像型演算子 m={4 -> 'd', 1 -> 'a', 3 -> 'c'} m1 = m, m2 = {2 -> 'b'}, m3 = {3 -> 'b'} s={1,3} とする 演算子名称型例 dom m 定義域 (map A to B) -> set of A dom m 結果 {1,3,4} rng m 値域 (map A to B) -> set of B rng m 結果 { 'a', 'c', 'd' } m1 munion m2 併合 (map A to B) * (map A to B) -> map A to B m1 ++ m3 上書 (map A to B) * (map A to B) -> map A to B m1 munion m2 結果 { 1 -> 'a', 2 -> 'b', 3 -> 'c', 4 -> 'd' } m1 ++ m3 結果 { 1 -> 'a', 3 -> 'b', 4 -> 'd' } s <: m 定義域限定 (set of A) * (map A to B) -> map A to B s <: m 結果 { 1 -> 'a', 3 -> 'c' } s <-: m 定義域削減 (set of A) * (map A to B) -> map A to B s <-: m 結果 { 4 -> 'd' } 51

52 VDM++ 言語入門 3 写像型演算子 m={4 -> 'd', 1 -> 'a', 3 -> 'c'} m1 = m, m2 = {2 -> 'b'}, m3 = {3 -> 'b'} s2={'a','d'}, d = 3 とする 演算子名称型例 m :> s2 値域限定 (map A to B) * (set of B) -> map A to B m :> s2 結果 { 1 -> 'a', 4 -> 'd' } m :-> s2 値域削減 (map A to B) * (set of B) -> map A to B m :-> s2 結果 { 3 -> 'c'} m(d) 写像適用 (map A to B) * A -> B m(d) 結果 'c' d=3 なので m(3) と同じ m1 = m2 相等 (map A to B) * (map A to B) -> bool m = m1 結果 true m1 <> m2 不等 (map A to B) * (map A to B) -> bool m1 <> m2 結果 true 52

53 VDM++ 言語入門 3 仕様ファイル追加 VDMTools を起動し VDMPPtutorial3 フォルダ内の 下記ファイルを追加する Tutorial3.vdmpp 53

54 VDM++ 言語入門 3 実行ウィンドウで実行 以下を実行し ソースと比べて 結果を検証せよ d new 入門 3().rs d new 入門 3().resultOfAll d new 入門 3(). 社員情報を得る (1) d new 入門 3(). 個人情報を得る (1) d new 入門 3(). メタボ社員リストを得る () 54

55 6. まとめ 1. VDM 開発環境構築 2. VDMToolsの起動 3. インタープリタの起動 4. VDMToolsチュートリアル 5. VDM 言語入門 5.1. VDM 言語入門 1- 列 文字 文字列 ブール 関数 5.2. VDM 言語入門 2 - 数値 集合 レコード 全称限量式 集合内包式 操作 5.3. VDM 言語入門 3 - 写像 不変条件 事前条件 事後条件 6. 説明していないこと - 条件式 条件文 ループ文 55

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

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

More information

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

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool VDM-SL VDM++ 23 6 28 VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web 2 1 3 1.1............................................... 3 1.1.1 bool......................................... 3 1.1.2 real rat int

More information

Java講座

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

More information

kantan_C_1_iro3.indd

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

More information

PowerPoint Presentation

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

プログラミングD - Java

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

More information

メソッドのまとめ

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

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1 Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の までを処理し どれにも一致しない場合 default; から直後の までを処理する 但し 式や値 1 値 2は整数または文字である switch( 式 ) case 値 1: // コロン : です セミコロン ; と間違えないように!!

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Prog1_2nd

Prog1_2nd 2019 年 10 月 3 日 ( 木 ) 実施浮動小数点数 Java 言語で実数を扱う場合, 実用的な計算には変数のデータ型としては,double 型を用いる 浮動小数点数とは, 実数を表す方式の一つで,2 進数の場合は例えば 1.101 2 3 ( 判り易さの為にここでは 2 や 3 は 10 進数で表記 ) の様な表記法である なお, 第 1 回の教材にあった, 単精度, 倍精度という用語で,

More information

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

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

More information

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

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

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

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

Prog1_6th

Prog1_6th 2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく

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

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致しない場合 default: から直後の まで処理します 式は byte, short, int, char 型 ( 文字または整数 ) を演算結果としますラベルには整数リテラル

More information

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版 独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版 目次 1. はじめに... 3 2. インストール方法... 4 3. プログラムの実行... 5 4. プログラムの終了... 5 5. 操作方法... 6 6. 画面の説明... 8 付録 A:Java のインストール方法について... 11

More information

ガイダンス

ガイダンス 情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック

More information

プログラミング入門1

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

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

PowerPoint プレゼンテーション

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

More information

Microsoft Word - no02.doc

Microsoft Word - no02.doc 使い方 1ソースプログラムの入力今回の講義では C++ 言語用の統合環境ソフトといわれるプログラムを利用します デスクトップにある CPad for C++ のアイコン ( 右参照 ) をダブルクリ ックしましょう ( 同じアイコンで Java_pad とかい エディタ部 てあるものもありますので気をつけてください ) これで 起 動します 統合環境を立ち上げると エディタ部とメッセージ部をもった画面が出てきます

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Prog1_3rd

Prog1_3rd 2019 年 10 月 10 日 ( 木 ) 実施 プログラムの制御構造 1960 年代後半にダイクストラが提唱した構造化プログラミングという考え方では, 手続き型のプログラムを記述する際には, 順次, 選択, 反復という標準的な制御構造のみを用い, 先ずプログラムの概略構造を設計し, その大まかな単位を段階的に詳細化して処理を記述していく 順次構造順次構造とは, プログラム中の文を処理していく順に記述したものである

More information

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

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

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

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

kiso2-03.key

kiso2-03.key 座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v

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 - kougi4.ppt

Microsoft PowerPoint - kougi4.ppt C の実行モデル 自由落下距離 前回の授業の 例題 1 の復習と重要事項 の確認 地上で物を落とし始めた後の自由落下距離を 求める 重力加速度 g は 9.8 とする 自由落下距離を求めるために, プログラム中に, 計算式 y = ( 9.8 / 2.0 ) * x * x を書く C++ ソースファイルの編集 編集画面 編集中のファイル名 関係するファイルなどが表示される ビルド結果などが表示される画面

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

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

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 12: コマンドライン引数 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-06-29 1 まとめ : ポインタを使った処理 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する

More information

Microsoft Word - ModelAnalys操作マニュアル_

Microsoft Word - ModelAnalys操作マニュアル_ モデル分析アドイン操作マニュアル Ver.0.5.0 205/0/05 株式会社グローバルアシスト 目次 概要... 3. ツール概要... 3.2 対象... 3 2 インストールと設定... 4 2. モデル分析アドインのインストール... 4 2.2 モデル分析アドイン画面の起動... 6 3 モデル分析機能... 7 3. 要求分析機能... 7 3.. ID について... 0 3.2 要求ツリー抽出機能...

More information

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - lec10.ppt 今日の内容, とポインタの組み合わせ, 例題 1. 住所録例題 2. と関数とは. を扱う関数. 例題 3. のリスト とポインタの組み合わせ 今日の到達目標 自分で を定義する 自分で定義したについて, 配列やポインタを作成する データ型 基本データ型 char 文字 (1 文字 ) int 整数 double 浮動小数など その他のデータ型配列 データの並び ( 文字列も, 文字の並び ) ポインタ

More information

スクールCOBOL2002

スクールCOBOL2002 3. 関連資料 - よく使われる機能の操作方法 - (a) ファイルの入出力処理 - 順ファイル等を使ったプログラムの実行 - - 目次 -. はじめに 2. コーディング上の指定 3. 順ファイルの使用方法 4. プリンタへの出力方法 5. 索引ファイルの使用方法 6. 終わりに 2 . はじめに 本説明書では 簡単なプログラム ( ファイル等を使わないプログラム ) の作成からコンパイル 実行までの使用方法は既に理解しているものとして

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 3 第 04 回 (2007 年 10 月 15 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 15 日分と書いてある部分が 本日の教材です

More information

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開 フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに...2 2 本ツールの機能...2 3 yflowgen.exe の使い方...3 3.1 yflowgen.exe の実行方法...3 3.2 制限事項...3 3.3 生成したファイル (gml ファイル形式 ) の開き方...4 3.3.1 yed Graph Editor を使って開く...4 3.3.2 yed

More information

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010 RW View Studio Getting Started (1) : 簡単な GUI アプリケーションを作成する 目次 第 1 章はじめに...1 1.1 アプリケーションの概要... 1 1.2 Views Studio とは... 2 第 2 章 Views Studio を起動する...3 2.1 起動画面 ( メインウィンドウ ) の説明... 4 2.2 ガジェットエクステンション...

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

Microsoft PowerPoint - 計算機言語 第7回.ppt

Microsoft PowerPoint - 計算機言語 第7回.ppt 計算機言語第 7 回 長宗高樹 目的 関数について理解する. 入力 X 関数 f 出力 Y Y=f(X) 関数の例 関数の型 #include int tasu(int a, int b); main(void) int x1, x2, y; x1 = 2; x2 = 3; y = tasu(x1,x2); 実引数 printf( %d + %d = %d, x1, x2, y);

More information

新規コンポーネントの作成方法

新規コンポーネントの作成方法 新規コンポーネント作成手順 = 音を鳴らすコンポーネントを例にして = 平成 22 年 5 月 10 日 : MZ Platform. 1 = 目次 = 手順 1 サンプルプログラム格納場所への移動...3 手順 2 サンプルプログラム名の変更...7 2-1 ファイル名の変更...7 2-2 プログラムコードの編集...11 2-3 SAMPLE_EN.PROPERTIES ファイルの修正...17

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

Microsoft Word - VB.doc

Microsoft Word - VB.doc 第 1 章 初めてのプログラミング 本章では カウントアップというボタンを押すと表示されている値が1ずつ増加し カウントダウンというボタンを押すと表示されている値が1ずつ減少する簡単な機能のプログラムを作り これを通して Visual Basic.NET によるプログラム開発の概要を学んでいきます 1.1 起動とプロジェクトの新規作成 Visual Studio.NET の起動とプロジェクトの新規作成の方法を

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 2 ( 月 4) 09: ポインタ 文字列 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2014-06-09 1 関数できなかったこと 配列を引数として渡す, 戻り値として返す 文字列を扱う 呼び出し元の変数を直接書き換える 例 : 2 つの変数の値を入れ替える関数

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

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

プログラミングA

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

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

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

Prog2_10th

Prog2_10th 2016 年 12 月 8 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

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

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

More information

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

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

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

More information

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

Microsoft PowerPoint - 12.ppt [互換モード] 第 12 回新しい型と構造体 1 今回の目標 新しい型の定義法を理解する 構造体を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される z = a+ bi z = a + bi z = a + b i 2 つの複素数 1 1 1 と 2 2 2 の和 z = a + bi は 次式で与えられる 3 3

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

プログラミング基礎

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

DMtoJPGISVer1.0 操作説明書 平成 19 年 3 月 国土交通省国土地理院

DMtoJPGISVer1.0 操作説明書 平成 19 年 3 月 国土交通省国土地理院 DMtoJPGISVer1.0 操作説明書 平成 19 年 3 月 国土交通省国土地理院 目 次 はじめに...3 1. 使用準備...5 1.1 動作環境...5 1.2 インストール...5 1.3 アンインストール...5 2. 操作方法...6 2.1 システムの起動...6 2.2 システムの終了...6 2.3 変換...7 2.4 ログファイルの表示...9 はじめに このソフトウェアは

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

プログラミングA

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

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

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73> 京都交通信販 請求書 Web サービス操作マニュアル 第 9 版 (2011 年 2 月 1 日改訂 ) 京都交通信販株式会社 http://www.kyokoshin.co.jp TEL075-314-6251 FX075-314-6255 目次 STEP 1 >> ログイン画面 請求書 Web サービスログイン画面を確認します P.1 STEP 2 >> ログイン 請求書 Web サービスにログインします

More information

Taro-Basicの基礎・条件分岐(公

Taro-Basicの基礎・条件分岐(公 0. 目次 3. 条件分岐 3. 1 If 文 3. 1. 1 処理を分岐する方法 3. 1. 2 処理を 2 つに分岐する方法 3. 1. 3 処理を 3 つ以上に分岐する方法 3. 2 Select Case 文 - 1 - 3. 条件分岐 条件により ある 文 を実行したりしなかったりするとき If 文を使う たとえば ある変数の値により 奇数 と表示したり 偶数 と表示したりするような処理ができる

More information

PowerPoint プレゼンテーション

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

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

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

プログラミングD - Java

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

More information

JavaScriptで プログラミング

JavaScriptで プログラミング JavaScript でプログラミング JavaScript とは プログラミング言語の 1 つ Web ページ上でプログラムを動かすことが主目的 Web ブラウザで動かすことができる 動作部分の書き方が C や Java などに似ている 2 JavaScript プログラムを動かすには の範囲を 1. テキストエディタで入力 2..html というファイル名で保存

More information

プログラミング入門1

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

More information

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

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

More information

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

Microsoft PowerPoint - 12.ppt [互換モード] 第 12 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される 表現される z = a+ bi 2 つの複素数 z 1 = a 1+ bi 1 と z2 = a2 + b2i の和

More information

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

Microsoft PowerPoint - 13.ppt [互換モード] 第 13 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される z = a+ bi z = a + bi z = a + b i 2 つの複素数 1 1 1 と 2 2 2 の和

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

program7app.ppt

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

More information

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編 手順 4 Excel データを活用する ( リスト / グラフ 色分け ) 外部の表データ (CSV 形式 ) を読み込み リスト表示やカード表示 その値によって簡単なグラフ ( 円 正方形 棒の 3 種類 ) や色分け表示することができます この機能を使って地図太郎の属性情報に無い項目も Excel で作成し CSV 形式で保存することにより 自由に作成することができます (Excel でデータを保存するとき

More information

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答 自然言語処理プログラミング勉強会 0 プログラミング入門 Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 1 本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java,

More information

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

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

More information

JavaScriptプログラミング入門 2.JavaScriptの概要

JavaScriptプログラミング入門 2.JavaScriptの概要 JavaScript プログラミング入門 1.JavaScript の概要 08T4067L 横田翔 2-1 オブジェクトベース言語としての JavaScript 2-1-1 オブジェクト指向言語と オブジェクト指向言語 オブジェクトベース言語 対象となるオブジェクトがどのようなデータ 操作方法を持っているかというようにモデル化してプログラミングを行う オブジェクト指向の概念の中でも基本的なものだけを採用していて

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 09: ポインタ 文字列 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-06-08 1 関数できなかったこと 配列を引数として渡す, 戻り値として返す 文字列を扱う 呼び出し元の変数を直接書き換える 例 : 2 つの変数の値を入れ替える関数

More information

メソッドのまとめ

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

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

模擬試験問題(第1章~第3章)

模擬試験問題(第1章~第3章) 基本情報技術者試験の練習問題 - 第 8 回 この問題は平成 19 年度秋期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1,2 に答えよ プログラムの説明 スタックを使って, 実数値を 10 進数字列 ( 文字列 ) に変換する副プログラム FloatFormat である (1) FloatFormat は, 実数 Float の値を 10 進数字列に変換し,

More information