Download presentation
Presentation is loading. Please wait.
1
情報処理Ⅱ 第1回 2004年10月5日(火)
2
情報処理Ⅱについて 担当は村川猛彦(takehiko@sys.wakayama-u.ac.jp)
「プログラミング基礎Ⅱ」(松田先生)と連携して実施 演習の疑問や誤解を講義で解説し, 講義で紹介する技法を演習で活用する. 成績評価は別々. 目標:「情報処理Ⅱ」および「プログラミング基礎Ⅱ」を通じて,Cで数十行程度のプログラムが自在に作成できるようになること 予習は不要.復習は必要かも
3
成績評価の方法 小テスト(毎回実施):5点満点 レポート:10点満点×2回 期末試験:75点満点
Cに関する書籍1冊と自筆ノート1冊の持ち込みを認める
4
他の科目との関連 セメ スター 科目 内容 目標 1 情報処理Ⅰ リテラシー 計算機に慣れる プログラミング基礎Ⅰ プログラミングとCの入門
情報処理Ⅱ プログラミングと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 シェルスクリプト,バッチファイル アセンブリ言語
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) コラッツの問題の検証プログラムを作ろう! 方針 値を変数xに格納する. 値は,ルールの適用により変わる.
xが1なら,計算終了!(xが1でないなら,ずっと繰り返す.) xが奇数なら,3x+1を計算し,これを新しいxの値とする. xが偶数なら,x/2を計算し,これを新しいxの値とする. 「偶数か奇数か」は,2で割った余りが0か1かで判定する.
13
プログラムを実際に作って見せるサインです.
コラッツの問題(3) プログラム プログラムを実際に作って見せるサインです.
14
コラッツの問題(4) 途中経過を知りたい…改造しよう!
15
まとめ 半年かけて,Cプログラミングの技法や文法を学ぼう!
ソースファイルを作るのはテキストエディタ, そこから実行ファイルを作るのはコンパイラ 単純な計算は,Cでも単純に記述できる. 使用する記号に注意
16
次に学ぶこと コラッツの問題のプログラムで,変数の宣言を としたが,これ以外にどんな書き方があるのか? int x; xは「識別子」
コラッツの問題のプログラムで,変数の宣言を としたが,これ以外にどんな書き方があるのか? xは「識別子」 intは「型」 int x;
17
識別子(Identifier) プログラムの中でさまざまな対象を識別するために用いられる「名前」のこと 対象の例 変数 関数 型定義
構造体のタグやメンバ 列挙体と列挙定数 ラベル など
18
識別子の命名規則(1) 最初の文字は,英字または下線記号(_) 2文字目以降は,英字,下線記号または数字 英字は大文字と小文字が区別される
例 ○ int x, variable, Variable, x_y, _, _ _; × int 0x, <variable>, x-y;
19
識別子の命名規則(2) 「予約語」はNG auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while 例 × int int; ○ int intchar;
20
識別子の命名規則(3) 「予約済み識別子」もNG 例 printfなど,既に定義されている名前
下線記号から始まるもの(例外はあるが,避けておくほうが無難) 例 × int printf, NULL; ○ int Printf;
21
識別子の命名方針 よく使う変数名 変数は,1文字~数文字.もしくは,その用途がわかるものにする.
ループ用変数: i, j, k 座標: x, y 変数は,1文字~数文字.もしくは,その用途がわかるものにする. a, b, c, msg, from, to, filename 関数名は,その機能がわかるものにする.長くなる. transform_rectangle_to_circle transformRectangleToCircle ラベルや定数は,大文字と下線のみを使用する NULL, EOF, _ _LINE_ _
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.