Download presentation
Presentation is loading. Please wait.
1
情報処理Ⅱ 2005年10月7日(金)
2
情報処理Ⅱについて 担当は村川猛彦(takehiko@sys.wakayama-u.ac.jp)
「プログラミング基礎Ⅱ」(松田先生)と連携して実施 演習の疑問や誤解を講義で解説し, 講義で紹介する技法を演習で活用する. 成績評価は別々. 目標:「情報処理Ⅱ」および「プログラミング基礎Ⅱ」を通じて,Cで数十行程度のプログラムが自在に作成できるようになること. 予習は不要.復習は必要かも.
3
成績評価の方法 小テスト(毎回実施):5点満点 レポート:10点満点×2回 期末試験:75点満点
Cに関する書籍1冊と自筆ノート1冊の持ち込みを認める.
4
他の科目との関連 セメ スター 科目 内容 目標 1 情報処理Ⅰ リテラシー 計算機に慣れる プログラミング基礎Ⅰ プログラミングの入門
情報処理Ⅱ プログラミングとCの基礎(講義) プログラミング を学ぶ 2 プログラミング基礎Ⅱ プログラミングとCの基礎(演習) Cで自在に プログラミング 3 アルゴリズム演習Ⅰ プログラミングとCの基礎(演習) ビジュアル情報演習 ビジュアライズ(可視化) 4 ライブラリの活用 情報ネットワーク演習 通信 5 6 情報通信システム演習 研究室配属.研究テーマに応じたプログラム作成 7 ~ 卒業研究
5
「EXE(エグゼ)ファイル」,「バイナリ」 とも呼ばれる
プログラミングにまつわる用語 プログラミング(programming) プログラムを作ること プログラム(program) プログラミングの結果,作られたファイル 実行可能なファイルを作って計算機に渡すことで,プログラムの指示通りに動作する. Cのファイルは実行可能ではなく(ソースファイルと呼ばれる),コンパイラを用いて,実行可能なファイルに変換する. コマンド(command) 計算機に何をしてもらうか指示すること 「EXE(エグゼ)ファイル」,「バイナリ」 とも呼ばれる
6
プログラミングの順序 目的・アイデア プログラミング (テキストエディタ) (Cなどで書いた) ソースファイル エラー コンパイル
(コンパイラ) 実行 失敗… 実行ファイル 成功!
7
なぜプログラミングをするのか? 高速・高精度が要求される処理が可能 問題解決に要する時間を短縮 ロボット,車,原子炉などの「制御」
データの「整理整頓」,整形出力など 他の計算機・プロセス・デバイスとの「通信」 問題解決に要する時間を短縮 それは,自分がすべき仕事か? それは,計算機に向いた仕事か?
8
なぜC?(1) 有名なプログラミング言語 C,C++ Java ⇒「情報処理Ⅲ」「オブジェクト指向1~2」で
非手続き型言語: Lisp,Prolog,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) コラッツの問題の検証プログラムを作ろう! プログラムを実際に作って見せるサインです.
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でも単純に記述できる. 使用する記号に注意.
17
情報処理Ⅱについて 日本語 int main(int argc, char *argv[]) 記号 色づけのルール
", ', ;, :, ~, !, ^, \\\\\\ IoO0 色づけのルール 構文はこの色 使用例はこの色 やってはいけないことはこの色 いろいろ
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.