Presentation is loading. Please wait.

Presentation is loading. Please wait.

情報処理Ⅱ 第1回 2006年10月6日(金).

Similar presentations


Presentation on theme: "情報処理Ⅱ 第1回 2006年10月6日(金)."— Presentation transcript:

1 情報処理Ⅱ 第1回 2006年10月6日(金)

2 情報処理Ⅱについて 担当は村川猛彦(takehiko@sys.wakayama-u.ac.jp)
「プログラミング基礎Ⅱ」(松田先生)と連携して実施 演習の疑問や誤解を講義で解説し, 講義で紹介する技法を演習で活用する. 成績評価は別々. 目標:「情報処理Ⅱ」および「プログラミング基礎Ⅱ」を通じて,Cで数十行程度のプログラムが自在に作成できるようになること. 予習は不要.復習は必要かも.

3 成績評価の方法 レポート:10点満点×2回 期末試験:80点満点
Cに関する書籍1冊と自筆ノート1冊の持ち込みを認める. 毎回授業開始時に実施する小テストは,成績に加味しない.しかし,受けるのと受けないのでは期末試験で大きく差が開くので,毎回出席することを期待する.

4 他の科目との関連 セメ スター 科目 内容 目標 1 情報処理Ⅰ リテラシー 計算機に慣れる プログラミング基礎Ⅰ プログラミングの入門
情報処理Ⅱ プログラミングとCの基礎(講義) プログラミング を学ぶ プログラミング基礎Ⅱ プログラミングとCの基礎(演習) Cで自在に プログラミング アルゴリズム演習Ⅰ プログラミングとCの基礎(演習) ビジュアル情報演習 ビジュアライズ(可視化) ライブラリの活用 情報ネットワーク演習 通信 情報通信システム演習 研究室配属.研究テーマに応じたプログラム作成 卒業研究

5 「EXE(エグゼ)ファイル」,「バイナリ」 とも呼ばれる
プログラミングにまつわる用語 プログラミング(programming) プログラムを作ること プログラム(program) プログラミングの結果,作られたファイル 実行可能なファイルを作って計算機に渡すことで,プログラムの指示通りに動作する. Cのファイルは実行可能ではなく(ソースファイルと呼ばれる),コンパイラを用いて,実行可能なファイルに変換する. コマンド(command) 計算機に何をしてもらうか指示すること 「EXE(エグゼ)ファイル」,「バイナリ」 とも呼ばれる

6 プログラミングの順序 目的・アイデア プログラミング (テキストエディタ) (Cなどで書いた) ソースファイル エラー コンパイル
(コンパイラ) 実行 失敗… 実行ファイル 成功!

7 なぜプログラミングをするのか? 高速・高精度が要求される処理が可能 問題解決に要する時間を短縮 ロボット,車,原子炉などの「制御」
データの「整理整頓」,整形出力など 他の計算機・プロセス・デバイスとの「通信」 問題解決に要する時間を短縮 それは,自分がすべき仕事か? それは,計算機に向いた仕事か?

8 なぜC?(1) 有名なプログラミング言語 C,C++ Java ⇒「情報処理Ⅲ」「オブジェクト指向1~2」で
非手続き型言語: Lisp,Prolog,Haskell,SQL Lightweight Language: Perl,PHP,Python,Ruby Pascal,Delphi,Kylix Fortran,COBOL,BASIC,PL/Ⅰ,ALGOL HSP JavaScript (JScript, ECMAScript) シェルスクリプト,バッチファイル アセンブリ言語

9 なぜC?(2) 普及しているプログラミング言語 適度に高水準,適度に低水準 他のプログラミング言語の習得に役立つ
高水準:人間が読み書きしやすい. 低水準:計算機向けの記述がしやすい. 他のプログラミング言語の習得に役立つ 実用的な多くのプログラミング言語が,Cの影響を受けて設計された. Cは,プログラミング言語の世界の「英語」のようなもの!

10 情報処理Ⅱで学んでほしいこと Cプログラミングにおける技法や文法 型,式,演算子 制御文 配列とポインタ,多次元配列,文字列
識別子,変数,関数,再帰 構造体 入出力 基本的なライブラリ関数 有用なツール していいこと,してはいけないことの区別

11 コラッツの問題(1) ルール 上のルールを繰り返すことで,どんな正整数もやがては1になる. 例
奇数ならば,3倍して1を加える. 偶数ならば,2で割る. 上のルールを繰り返すことで,どんな正整数もやがては1になる. 5 ⇒ 16 ⇒ 8 ⇒ 4 ⇒ 2 ⇒ 1 3 ⇒ 10 ⇒ 5 ⇒ (上を利用) ⇒ 1 数学的証明はなされていないが,具体的な正整数が与えられれば,それが正しいことを検証できる. 正整数…1以上の整数 非負整数…0以上の整数 「自然数」は使わない.

12 プログラムを実際に作って見せるサインです.
コラッツの問題(2) コラッツの問題の検証プログラムを作ろう! テキストエディタ(Emacs)でソースファイルを作り,保存する(ここではcollatz.cというファイル名にする). ターミナル(GNOME端末など)で「cc collatz.c」を実行する.コンパイルが成功すれば,a.outという実行ファイルができる. 続いてターミナルで「./a.out」を実行する. プログラムを実際に作って見せるサインです.

13 プログラムの読み方(1) Cプログラムの骨格 #include <stdio.h> ①インクルード文 int main() ②メイン関数の宣言 { ③ブロック開始 ④処理 return 0; ⑤メイン関数の終了 } ⑥ブロック終了

14 プログラムの読み方(2) 内部で何をしているのか? 最初に,値を変数xに格納する. 変数xの値は,ルールの適用により変わっていく.
while文 内部で何をしているのか? 最初に,値を変数xに格納する. 変数xの値は,ルールの適用により変わっていく. xが1なら,計算終了!(xが1でない間は,ずっと繰り返す.) xが奇数なら,3x+1を計算し,これを新しいxの値とする. xが偶数なら,x/2を計算し,これを新しいxの値とする. 「偶数か奇数か」は,2で割った余りが0か1かで判定する.

15 プログラムの読み方(3) printf("%d\n", x); printf("%d / 2 => %d\n", x, x / 2);
printf("OK\n"); 変数の値に関係なく,「OK」を出力する. 「\n」は改行文字

16 まとめ 半年かけて,Cプログラミングの技法や文法を学ぼう!
ソースファイルを作るのはテキストエディタ, そこから実行ファイルを作るのはコンパイラ. 単純な計算は,Cでも単純に記述できる. 使用する記号に注意.


Download ppt "情報処理Ⅱ 第1回 2006年10月6日(金)."

Similar presentations


Ads by Google