プログラミング演習2019_v2

Similar documents
PowerPoint Presentation

プログラミング基礎

PowerPoint プレゼンテーション

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

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

プログラミング基礎

ポインタ変数

ポインタ変数

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

プログラミング実習I

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

PowerPoint プレゼンテーション

JavaプログラミングⅠ

ガイダンス

Microsoft PowerPoint - class04.ppt

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

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

講習No.1

Microsoft PowerPoint - 3.pptx

Microsoft Word - no103.docx

PowerPoint プレゼンテーション

スライド 1

8 / 0 1 i++ i 1 i-- i C !!! C 2

プログラミング基礎

物質工学科 田中晋

Microsoft PowerPoint - C1(演算と変数).ppt

プログラミング入門1

Microsoft Word - 3new.doc

ゲームエンジンの構成要素

Microsoft PowerPoint ppt

JavaプログラミングⅠ

JavaプログラミングⅠ

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

プログラミング実習I

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

PowerPoint Presentation

cp-7. 配列

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

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

gengo1-2

Microsoft PowerPoint - C_Programming(3).pptx

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

Microsoft PowerPoint - kougi4.ppt

第2回講義:まとめ

プログラミングA

ポインタ変数

Microsoft Word - no02.doc

Microsoft PowerPoint - kougi2.ppt

Report#2.docx

3. 標準入出力

プログラミングA

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

Si 知識情報処理

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

Microsoft PowerPoint - prog04.ppt

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

情報処理演習 B8クラス

ポインタ変数

JavaプログラミングⅠ

計算機プログラミング

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

kiso2-03.key

初歩のC言語ターミナル_2014_May.pages

第9回 配列(array)型の変数

18/12/06 情報工学実験 C コンパイラ (2018 年度 ) 担当 : 笹倉 佐藤 その 3 yacc の構造 定義部 %% 定義部の終了 規則部 %% 規則部の終了 ユーザ定義サブルーチン部 :C のプログラムを書く 形は lex と同じ 1

Microsoft PowerPoint - 11.pptx

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

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

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

PowerPoint プレゼンテーション

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

kantan_C_1_iro3.indd

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

Java講座

講習No.12

プログラムの基本構成

Microsoft PowerPoint - 4.pptx

Microsoft Word - VBA基礎(3).docx

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

kiso2-09.key

Microsoft Word - COMP-MATH-2017-FULLTEXT.doc

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

PowerPoint Presentation

1. if~ 1.1. 確認を促す まずは簡単な分岐プログラムを作ってみましょう 以下はそのフローチャートです 開始 charc よろしいですか? (y/n) 変数 c の値が 'y' と等しいかどうか c c='y' Yes よろしいですね No 終了 1: 2: 3: 4: 5: 6: 7: 8

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

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

Microsoft Word - VBA基礎(2).docx

講習No.9

memo

Cプログラミング1(再) 第2回

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

PowerPoint プレゼンテーション

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

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

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

JavaScriptで プログラミング

PowerPoint プレゼンテーション

Transcription:

2019 年度版 画像情報学実験 コンピュータ プログラミング 藤田医科大学放射線学科寺本篤司 (11 号館 410 号室 ) 1

午前 コンピュータプログラミング 法の説明プログラミング練習 午後 プログラミング基礎演習 C 語による画像処理プログラミング演習 レポート 実験予定 プログラミング演習で作成したプログラムおよび処理結果を記録してレポート作成 USB メモリに保存して提出 2

コンピュータプログラミング コンピュータはソフトウエアの介在により利 ソフトウエアはプログラミングによって作成 応 ソフトウエア 基本ソフトウエア Internetブラウザ Mailソフト Word, Excel, ゲーム etc. Windows コンピュータ 3

プログラムは, コンピュータの う処理の 順を指 したもの 複数のプログラムを組み合わせて 1 つの きな プログラムができている プログラムは プログラミング 語 で記述 機械語 アセンブラ C Java Python などが ある プログラムとは何か? あーしてこーしてそーして 4

2.2 C 語について 1972 年にAT&T ベル研究所にて開発された 語 ハードウエアを細かく制御できるため 由度が い 画像などのバイナリデータを扱い易く処理が速い C 語から派 した 語も多く 応 しやすい 無料で使 できるものが多い 就職後も利 可 医 画像処理ソフトウエアの多くはC 語で開発されており 企業就職しても即戦 になる 5

C 語のプログラムができるまで ソースコード ( 原始プログラム ) コンパイラ 的プログラムリンカ #include <stdio.h> void main() int I,j,k; i=1; j=2; ****.c 01101111 01010100 00000011 110 010. ****.obj 実 モジュール ****.exe 6

2.3 C 語によるプログラミング 画 に 字を表 したり, キーボードから数値の を受け付けたり, 繰り返し計算や条件判断を う 命令 を組合せ, ユーザの望む処理を う 数値や 字を格納する 変数 を いて加減乗除な どの数値計算や論理演算を うことができ, 命令と 組み合わせることで複雑な処理を実現 7

C 語の基本的ルール (), などの括弧や英数字 記号を中 に記述 括弧の記号は開くもの ( と閉じるもの ) を必ずペアにする ソースコードの先頭から順番に処理が実 される 8

C 語に出てくる重要な記号 記号よみかた役割 ; セミコロン 1 つの処理の終わりに れる記号 /* */ 中括弧開く中括弧閉じる スラッシュ アスタリスクアスタリスク スラッシュ プログラム中のまとまりの開始と終了を表す記号 2 つの記号で挟んだ範囲がコメントとして扱われ 処理されない // スラッシュ スラッシュこの記号から改 までがコメントとして扱われる スペース タブ 改 空 記号の つ 空 記号の つ スペースと同じように使えるが 他の と段を揃えるときに便利に使える 空 記号の つ プログラムの を改めるときに使う 9

4.3 C プログラムの編集 実 CPad for Borland C++Compiler スタートメニュー すべてのプログラム Tools Programming CPad を実行 10

4.4 C 語プログラミングの実際 #include <stdio.h> #include <math.h> インクルードファイル int main() float enshuritsu,hankei,menseki; enshuritsu=3.14; hankei=5; menseki=hankei*hankei*enshuritsu; printf(" 半径 %f の円の面積は %f です n",hankei,menseki); return 0; 処理記述部 main 関数 11

4.4 C 語プログラミングの実際 #include <stdio.h> #include <math.h> int main() float enshuritsu,hankei,menseki; enshuritsu=3.14; hankei=5; menseki=hankei*hankei*enshuritsu; main 関数 関数とは命令や式を組み合わせて一連の処理を実行するものの総称 main 関数は,C 言語プログラムで最初に実行される関数 main 関数はプログラム中に必ず 1 つ必要であり, 関数の記述範囲は で明示する printf(" 半径 %f の円の面積は %f です n",hankei,menseki); return 0; 12

4.4 C 語プログラミングの実際 #include <stdio.h> #include <math.h> int main() float enshuritsu,hankei,menseki; enshuritsu=3.14; hankei=5; menseki=hankei*hankei*enshuritsu; 処理記述部 main 関数で行われる実際の処理内容を記述した部分 "" ( ダブルクオーテーション ) で囲まれた部分以外は, すべて半角英数字で記述命令の後ろには ; ( セミコロン ) が必要 空白 ( 半角スペース ) や改行はプログラムが見易いように加えてもよい. printf(" 半径 %f の円の面積は %f です n",hankei,menseki); return 0; 13

4.4 C 語プログラミングの実際 #include <stdio.h> #include <math.h> int main() float enshuritsu,hankei,menseki; インクルードファイル プログラム中で使用する関数に関する情報を定義したもの インクルードファイルを使用する場合, プログラム先頭に定義しておく. enshuritsu=3.14; hankei=5; menseki=hankei*hankei*enshuritsu; printf(" 半径 %f の円の面積は %f です n",hankei,menseki); return 0; 14

4.4 C 語プログラミングの実際 #include <stdio.h> #include <math.h> int main() float enshuritsu,hankei,menseki; インクルードファイル プログラム中で使用する関数に関する情報を定義したもの インクルードファイルを使用する場合, プログラム先頭に定義しておく. enshuritsu=3.14; hankei=5; menseki=hankei*hankei*enshuritsu; printf(" 半径 %f の円の面積は %f です n",hankei,menseki); return 0; 15

4.4.2 字列の表 #include <stdio.h> int main() printf( 藤田医科大学 nfujita HEALTH UNIVERSITY n"); return 0; プログラムを入力し 実行してみよう 文字列表示は printf で行う で囲われた文字列が表示されている n を削除してみたらどうなるか? エスケープ文字 の後ろにアルファベットを付加したものをエスケープ文字とよび, 特殊な文字操作を行うことができる. 例 ) n : 改行, t : 水平タブ, v : 垂直タブ, b : 1 文字後退 16

4.4.3 変数と数式 #include <stdio.h> int main() //1 変数宣言 int a,b,c,e; 変数 a,b,c を いて (a+b)/c を算出し, 変数 e に結果を代 するプログラム 左のプログラムを し動作を確認してみよう //2 数値代入 a=1; b=2; c=3; //3 数式による演算 e=(a+b)/c; //4 表示 printf(" 計算結果 :%d n",e); return 0; 17

変数とは? 4.4.3 変数と数式 数値や 字列を れておくための 箱 変数 a=123; プログラムで演算などを うときは 数値を直接記述するので はなく 旦変数に値を れて変数同 で演算を うと良い 18

4.4.3 変数と数式 1 変数宣 変数を利 する際 変数の名前と型を指定し, 変数の利 をコンピュータに宣 する必要がある 変数の名前はアルファベットで始まる任意の 字列が利 でき 変数型は取り扱う数値の数値範囲や種類を考慮して決定する 今回実験で用いる変数型 int 型整数数値範囲 :-2147483648 ~ 2147483647 float 型実数数値範囲 :+/- 3.4 10-38 ~ 3.4 10 38 19

4.4.3 変数と数式 例 ) 数値代 数式による演算 a=123; c=a+b; a=a+1; 変数 a に 123 を代 する 変数 a と変数 b の和を変数 c に代 する 変数 a に 1 を加えた数値を変数 a に代 する a を 1 増やす イコール (=) は等しいという意味ではなく代 する意味 右辺で計算した結果が左辺の変数に代 される 20

変数と数式 演習 イコール (=) は等しいという意味ではなく代 する意味 右辺で計算した結果が左辺の変数に代 される 問 1 問 2 問 3 以下の演算を実 したとき a の値は? a=15/3; 以下の演算を実 したとき a の値は? a=10; a=a+2; 以下の演算を実 したとき c の値は? a=1; b=2; c=3; c=a+b+c; 21

2 数式による演算 4.4.3 変数と数式 例 :d=(a+b)/c; 数式の右辺は左側から順番に計算され, 優先順位は ( ) で囲んだ部分が最も く,*,/ は +,- よりも優先 順位が い 主な算術演算 四則演算和 :+ 差 :- 積 :* 除 :/ 剰余 % ( 整数同 の演算のみ ) 22

4.4.4 数値の表 作成したプログラムは演算を うだけであり, 演算結果の数値は表 されない. 以下のように printf 関数に書式と変数を記述することで数値を表 できる. //4 表示 printf(" 計算終了 n"); //4 表示 printf("(%d+%d)/ %d=%d n",a,b,c,e); 変更後の printf の書式に記述した %d という記号は, 表 する数値の型を表現 変数の型に応じて下記のように記述する. printf 文の書式指定 ( 抜粋 ) %s 文字 %d 整数 %f 実数 23

4.4.4ʼ 数値の キーボードから数値を させ それらの数値を変数に代 して演算に利 することもできる C 語では数値の に scanf 関数を利 する 書式は printf と同様 プログラムに以下の変更を加え 動作を確認してみよう //2 数値代入 a=1; b=2; c=3; //2 数値代入 scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); 24

数値の表 と 演習 これまでに してきたプログラムは整数演算しか えなかった 数点を持つ値 ( 実数 ) でも計算できるように改良してみよう 変数宣 scanf, printf の書式 25

4.4.5 条件分岐処理 条件によって処理を変えたいときは条件分岐処理を記述する 条件式 Yes No 処理 1 処理 2 条件式 が成り てば 処理 1 を 成り たなければ 処理 2 を実 if ( 条件式 ) 処理 1; else 処理 2; 26

4.4.5 条件分岐 if ( 条件式 ) 処理 1; else 処理 2; 較演算 条件の成 可否を判断する際 較演算 を いる 等しい == if ( a==b ) else 等しくない!= if ( a!=b) else より大きい < if ( a<b ) else より小さい > if ( a>b ) else より大きいか等しい <= if ( a<=b ) else より小さいか等しい >= if ( a>=b ) else 論理演算 複数の条件を組み合わせて条件分岐する場合などで論理演算 を利 する 論理和 (OR) if ( a==b c==0 ) 論理積 (AND) && if ( a==b && c==0 ) 論理否定 (NOT)! if ( a==b!(a>b)) 27

4.4.5 条件分岐 #include <stdio.h> int main() //1 変数宣言 int a,b,c,e; //2 数値代入 scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if (c==0) printf("c は 0 以外を入力してください n"); else //3 数式による演算 e=(a+b)/c; 入力した c が 0 かどうかを判別し 0 であれば メッセージを出す ( その後 何も計算せず終了 ) 0 以外なら計算して結果を表示する //4 表示 printf("(%d+%d)/%d=%d n",a,b,c,e); return 0; 28

条件分岐 演習 以下のプログラムを実 したとき b の値は? 問 1 a = 7; b = 1; if (a 1 < 6) b=2; 問 2 a = 3; b = -1; if (b < 0) b = a * b; 29

4.4.6 反復処理 初期式 特定の処理を反復 ( ループ ) したい場合は for 文を用いる 条件式 yes 処理 no for ( 初期式 ; 条件式 ; 再設定式 ) 処理 ; 再設定式 30

4.4.6 反復処理 for ( 初期式 ; 条件式 ; 再設定式 ) 処理 ; #include <stdio.h> int main() // 変数宣言 int i; for (i=0;i<10;i++) printf("i=%d n",i); return 0; i を 0 にして反復を開始 内の処理を実行し 実行し終わったら i に 1 を加える i が 10 未満の間は処理を実行する 再設定式にて良く使う記述 a++ a に 1 を加えて反復実 a a から 1 を減じて反復実 ++,-- は 1 ずつ増減することを意味する a+=2, a-=2 と書くと 2 ずつ増減する a=a+2, a=a-2 と書いても同じ 31

反復処理 演習 問 1 以下のプログラムを実 したとき bの値はいくら? b=1; for (a = 1; a<=3; a++) b=b*a; 問 2 以下のプログラムを実 したとき bの値はいくら? b=0; for (a = 0; a<=10; a+=2) b=b+a; 32