プログラミング入門2 第1回 イントロダクション 芝浦工業大学情報工学科 青木 義満

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
初年次セミナー 第8回 データの入力.
C言語によるプログラミングスタイル 制御システム工学科 山北 昌毅.
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
ポインタ プログラミング入門2 第10回 芝浦工業大学情報工学科 青木 義満
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
初年次セミナー 第4回 整数と実数の取り扱い.
プログラミング入門2 第7回 文字列 数学関数 ファイルの入出力 芝浦工業大学情報工学科 青木 義満
第2章 数値の入力と変数 scanfと変数をやります.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
プログラミング入門2 ポインタについて補足 構造体 第11回 芝浦工業大学情報工学科 青木 義満、篠埜 功
数値計算及び実習 第3回 プログラミングの基礎(1).
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
第2回ネットワークプログラミング 中村 修.
プログラミング入門2 第6回 関数(2) 芝浦工業大学情報工学科 青木 義満
第13回 プログラミングⅡ 第13回
情報科学1(G1) 2016年度.
第6章 2重ループ&配列 2重ループと配列をやります.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
初年次セミナー 第2回 文字の出力.
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
構造体 プログラミング入門2 芝浦工業大学情報工学科 青木 義満
第10回 プログラミングⅡ 第10回
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
プログラミング入門2 第5回 関数(1) 芝浦工業大学情報工学科 青木 義満
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング入門2 ファイルの入出力 ポインタ 芝浦工業大学情報工学科 青木 義満
Computer Graphics 第3回 座標変換 芝浦工業大学情報工学科 青木 義満
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラミング序論 2. n人のインディアン.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
前回の練習問題.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
プログラミング入門 電卓を作ろう・パートI!!.
標準入出力、変数、演算子、エスケープシーケンス
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
第3回簡単なデータの入出力.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります.
変数と代入・読込と表示 第2回[平成15年4月24日(木)]:PN03ー02.ppt 今日の内容 1 プログラムの構造(復習)
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

プログラミング入門2 第1回 イントロダクション 芝浦工業大学情報工学科 青木 義満 I’ll get started with Introduction and Conventional works around our study, then mention our motivation and goal. Next, I’ll explain our 3D Face Modeling Method and its medical application. Finally, I’ll conclude this presentation with some future works. 芝浦工業大学情報工学科 青木 義満

講義情報 担当教員 時間・場所 本講義の目的 青木義満 TA: 授業中紹介 月曜日 3~4限 大学会館2階 実習室 → ゆえに必修! 月曜日 3~4限 大学会館2階 実習室 本講義の目的 プログラミング言語の主流であるC言語の基礎知識の習得 → CができればBasicなどの他言語も理解は容易 C言語を通して、プログラミングする際に必要な論理的な物の考え方を身につける 今後の学科の授業、卒業研究、就職において重要  基本情報処理技術者試験でも出題 → ゆえに必修! 1回目 プログラミング入門2

講義情報 授業の進め方 評価方法 テキスト 内容説明(3限) 例題 → 演習 → チェック(4限) 授業内演習、レポート 中間テスト 内容説明(3限)  例題 → 演習 → チェック(4限) 評価方法 授業内演習、レポート 中間テスト 学期末テスト テキスト 「新版 明解C言語 入門編」、柴田望洋、ソフトバンク  → 生協にて購入可能 更にマスターしたい人 「プログラミング言語C」、カーニハン&リッチー、共立出版 「秘伝ポインター問答」、柴田望洋、ソフトバンク ANSI C言語大辞典、マーク・ウィリアムズ社 編/坂本 文、今泉 貴史 監訳 1回目 プログラミング入門2

講義スケジュール(予定) 導入 演算と型 分岐 繰り返し 配列 関数1 関数2,文字列 ファイル入出力 ポインタ1 ポインタ2 構造体 まとめの演習 期末テスト 中間テスト 1回目 プログラミング入門2

質問・問い合わせ先 青木 義満 メールアドレス: yaoki@sic.shibaura-it.ac.jp 青木 義満 メールアドレス: yaoki@sic.shibaura-it.ac.jp 研究室: 豊洲校舎研究棟14階14-K-32  メディア工学(青木)研究室 1回目 プログラミング入門2

注意: プログラムは半角英数字で記述! まずはプログラムを書いて動かしてみよう ディレクトリの作成 mkdir エディタを立ち上げる emacs プログラムの内容を記述 保存(***.c) コンパイル gcc source.c -o source 実行 ./source コンパイルコマンド ソースファイル名 (***.c) 出力実行ファイル名 指定オプション 実行ファイル名 ※ ./ → 現在いるディレクトリのこと (カレントディレクトリ) 注意: プログラムは半角英数字で記述! 1回目 プログラミング入門2

まずはプログラムを書いて動かしてみよう #include <stdio.h> int main(void) { ソースファイル名: name.c (p.8 List1-4) コンパイル: gcc name.c –o name 実行: name 水色部分 おまじない (常に記述) #include <stdio.h> int main(void) { printf(“Hello, My name is AOKI \n”); return(0); } Tabかスペース で字下げ 命令を記述 1回目 プログラミング入門2

エラーが出たら・・・・ 全て半角英数字で書かれているか? スペースも半角 (), ””(ダブルクォーテーション)などに注意! (), ””(ダブルクォーテーション)などに注意! 文の最後に;(セミコロン)を忘れずに! 2つのターミナルを使用して効率的な作業を 1つはEditor用 として 1つはDebug用として 1回目 プログラミング入門2

プログラムとコンパイル コンパイル方式 インタプリタ方式 → 一般に、コンパイル方式の方が実行速度は高速! ソースプログラムをコンピュータが直接理解・実行できる形式に“翻訳”する方式 (C言語など)  インタプリタ方式 プログラムを1行ずつ解釈しながら実行する方式(Java Scriptなど) → 一般に、コンパイル方式の方が実行速度は高速! 1回目 プログラミング入門2

printf 関数 ~ データを表示するコマンド 文字列の表示 文の最後にセミコロン printf( “ ” ); Hello Hello “”(ダブルコーテーション)の中に 表示したい文字列を入力 \n 改行指定 1回目 プログラミング入門2

プログラムをよりわかりやすく ~ 注釈(コメント) プログラムをよりわかりやすく ~ 注釈(コメント) ソースファイル中の /* と */ に挟まれた部分  → 実行時に無視される! プログラムを見やすく、読みやすくするために適切なコメントをつける /*挨拶して自己紹介する プログラム name.c */ 複数行も可 /* 挨拶して自己紹介する */ コメント #include <stdio.h> int main(void) { printf( “Hello, My name is Yoshimitsu AOKI \n” ); return(0); } /* 挨拶、名前を表示して、改行 */ コメント 1回目 プログラミング入門2

数字(計算結果)の表示 コメント 早速書いて実行してみよう! コンピュータの大きな役割 → 計算の高速実行 コンピュータの大きな役割 → 計算の高速実行 2つの整数の和を計算して、その値を表示するプログラム /* 2つの整数値の和を計算して表示するプログラム */ #include <stdio.h> int main(void) { return(0); } /* Calculate sum of 15 and 37 */ コメント printf( “%d\n”, 15 + 37 ); 早速書いて実行してみよう! 1回目 プログラミング入門2

解説 ~ 整数値を printf で表示する方法 整数値の表示 printf関数の ” ” の中には文字のデータしか入れられない → 数値データを文字列に変換する必要!! 代入! 52 printf( “ ” , 15+37 ); %d カンマの後に続く整数値データを 10進数で表示 → 変換指定 \n 改行指定 カンマ 1回目 プログラミング入門2

数字(計算結果)の表示をもっとわかりやすく 数字(計算結果)の表示をもっとわかりやすく  /* 2つの整数値の和を計算して表示するプログラム */ #include <stdio.h> int main(void) { return(0); } /* Calculate sum of 15 and 37 */ printf( “15 + 37 = %d \n”, 15 + 37 ); 実行してみよう! 1回目 プログラミング入門2

int x ; 変数とは、数値などのデータを 格納するための箱である もっと複雑な計算へ ~ 変数 の必要性 重要 もっと複雑な計算へ ~ 変数 の必要性 先ほどのプログラム → 15,37,15+37 → 全て定数(Constant) 実際の計算では, 計算の途中経過を覚えさせておく必要が生じる  変数とは、数値などのデータを  格納するための箱である 重要 変数の宣言方法(整数の場合) 57 整数値 変数xは、整数値を入れることのできる int 型の箱である。 int x ; X 型名 整数の場合、int (イント: integer の略) 変数の名前 (わかりやすい名前をつける) 1回目 プログラミング入門2

変数の値を表示するプログラム ファイル名: hensuu1.c int x; int y; Int型変数 x, y の宣言 /* 2つの整数値を変数を使って表示するプログラム */ #include <stdio.h> int main(void) { return(0); } int x; int y; Int型変数 x, y の宣言 注: 変数の宣言はmainの直後に! 変数に整数値データを代入 x = 80 ; y = 65 ; printf( “変数 x に入っているデータは%dです。\n”, x ); printf( “変数 y に入っているデータは%dです。\n”, y ); 表示 1回目 プログラミング入門2

int x ; x = 50 ; x = 50 ; y = x + 10 ; yの値は? 代入とは? 代入 50 X 代入演算子: 右辺のデータを左辺に代入する 注: 数学でいう、「xと50が等しい」という意味ではない! 変数xに50を代入! 代入 x = 50 ; y = x + 10 ; yの値は? 50 整数値 X 1回目 プログラミング入門2

点数の合計を計算して表示するプログラム ファイル名: tensuu.c 変数goukeiにsugakuとenglishの合計点を計算して代入 /* 2科目の点数の合計を表示するプログラム */ #include <stdio.h> int main(void) { int sugaku; int english; int goukei; sugaku = 90; english = 75; return(0); } 変数goukeiにsugakuとenglishの合計点を計算して代入 printf でsugaku, english, goukeiの点数をそれぞれ表示 1回目 プログラミング入門2

scanf 関数 キーボードからのデータ入力 実行時にキーボードから点数を入力できないか? 前のプログラム : 点数のデータをプログラム中で記述。 → 点数の値を変更するたびにコンパイルして実行する必要がある → 面倒!! 実行時にキーボードから点数を入力できないか?  scanf 関数 1回目 プログラミング入門2

キーボードからのデータ入力と表示 ~ scanf 関数 ファイル名: keyinput.c /* キーボードから点数を入力して値を表示するプログラム */ #include <stdio.h> int main(void) { int sugaku; printf( “Input score of math :”); return(0); } アンド,アンバサンド (変数の前に必ず付ける!) 注:printfには不要! scanf( “%d”, sugaku ); & printf(“Score of Math = %d \n”, sugaku); 1回目 プログラミング入門2

= printf ( “ABC\n” ); puts ( “ABC” ); puts関数(プットエス) 文字の並びを出力し、最後に改行を行う %d などとの併用はできない → 書式化は不可 printf ( “ABC\n” ); = puts ( “ABC” ); 改行不要! puts(“値は%dです”, x ); printfを使用 1回目 プログラミング入門2

今日の課題(第1回目、まずはウォーミングアップ) printf関数を用いて、    ・自分の名前    ・出身地    ・趣味   を表示するプログラムを作成せよ。(kadai1-1.c) 2. 数学、英語、国語の3科目の点数をキーボードから入力し、その合計点を表示するプログラムを作成しなさい。(kadai1-2.c) 終わったらTAもしくは先生に声をかけて下さい。 チェックが終了したら、授業終了です。 1回目 プログラミング入門2