プログラミング演習Ⅱ 第1回 ガイダンス 情報・知能工学系 山本一公
本演習の概要(1) C 言語の「基礎知識」の習得 – プログラミング演習Ⅰの続き – 配列、関数、ポインタ等 – プログラミング演習Ⅰの内容だけでは、 とてもじゃないが「 C 言語を勉強した」とは 言えない – 演習Ⅱレベルの内容が分からないと、 まともなプログラムは作れない
本演習の概要(2) 文法的な内容に限る – 演習Ⅰと同様 – アルゴリズム・データ構造の話は別の講義で 「データ構造基礎論」 「アルゴリズムとデータ構造」 – 計算機の構成については少し知識が必要 ポインタの理解のためには、 メモリモデルの理解が必要 本演習内で必要なことだけ簡単に説明します 別の講義「計算機アーキテクチャ」
なぜ C 言語なのか? C 言語は – 「高級言語である!」 – 「高級言語なのに低級言語みたい!」 高級言語: BASIC, Pascal, C++, Java 等 – 人間が理解しやすいプログラミング言語 低級言語:機械語、アセンブリ言語 – コンピュータが理解しやすいプログラミング 言語
なぜ C 言語なのか?(2) C 言語は – 高級言語でありながら、ハードウェアに直接 アクセス可能なコードを書くことができる! 例:ポインタを使うと番地指定でメモリアクセス 可能 – アプリケーションからデバイスドライバまで 書くことができる! – 広く使われている!利用者が多い! – 将来、つぶしがきく(と思われる)!
本演習の進め方 出欠確認 前回課題の解説 講義 課題演習(プログラム作成) 最後2回分は講義なしで、 応用課題をやります
スケジュール(1) 10/03 ガイダンス(今日) 10/10 復習、ファイル処理 10/17 配列(1) 10/24 配列(2) 10/31 関数(1) 11/07 関数(2) 11/14 データの基本型 11/21 授業予備日 11/28 授業予備日
スケジュール(2) 12/05 マクロ、列挙体等 12/12 文字列 冬季休業 1/09 ポインタ(1) 1/16 ポインタ(2) 1/23 文字列とポインタ(1) 1/30 文字列とポインタ(2) 2/06 応用課題(1) 2/13 応用課題(2)
教科書 柴田望洋著 「新版 明解 C 言語 入門編」 ソフトバンククリエイティブ プログラミング演習Ⅰと 同じです
成績について(1) 各回の演習課題(12回分)で50点満点 – 基本的な内容が理解できているかどうか 最後の2週でやる応用課題で50点満点 – 身につけたことを応用できるか、独自性を出せるか 合計100点で評価 必ず毎回出席すること – 演習科目なので、要出席です – レポートだけ出しても0点です – やむを得ない理由で欠席する場合は、早めに連絡を!
成績について(2) 1回でも他人のプログラム・レポートを コピーしたら最終成績を0点にします – カンニングと同じ – 「身につける」という目標が達成できない コピーを疑われるレポートが出てきた場合は、 直接口頭試問により内容の理解度を チェックします
レポートについて 電子メールで提出 – 提出先は (質問メールもここ) –Subject は「プログラミング演習2 課題xx(課題番 号) 学籍番号・氏名」のように書くこと –C 言語ソースファイルを添付する – ソースファイルの頭にコメントで以下の情報を入れる 学籍番号・氏名 プログラムの説明(どのように動くのか、工夫した点等) 実行結果(長い場合は一部)を貼る – 提出締切は基本的に講義の1週間後の正午 – 添削してから返却します
【重要】分からなかったら 分かるまで質問してください! – 最初が肝心です – 後になればなるほど質問しにくくなります 「聞くは一時の恥、聞かぬは一生の恥」です – 質問する相手は、私でも TA でもどちらでもいいです うやむやにしないでください – うやむやにすると後で本当に困ります ( 3 系のほぼ)全ての卒業研究はプログラミングを含んでいます 就職してプログラミングをしない人は( 3 系ではほぼ)いません 「プログラミング言語」もある種の「言語」 – 外国語みたいなもの – 「慣れ」の部分もあるので、接している時間が重要です – 使わないと確実に忘れます
計算機の利用について プログラミング演習は Linux で行います – 使い方は覚えていますか? レポートは電子メールで提出してもらうので、 作成した C 言語のファイルを添付ファイルとし て メールを送れるようにしておきましょう 利用ガイドを見ましょう –
計算機を使ってみよう ディスプレイを出して、電源を入れよう! – 天板を手前に引いて、ディスプレイを引き出してく ださい – 端末本体は、机の下です Linux を boot しよう! –boot の途中で F8 を押して、 Linux を選択してください ログインしよう! – 共通 ID ・パスワードでログインできます – 「 ID が分からない」「パスワードを忘れた」 教員・ TA は何もできません 情報メディア基盤センター1階のスタッフ室1に 行ってください、今すぐ
ターミナル(端末)を 出してみよう ターミナルを出してみてください – 「アプリケーション」 → 「アクセサリ」 → 「端末」 プログラミング演習Ⅰでも使ったと思います UNIX の基本的なコマンドを忘れちゃった人は、 演習Ⅰのことを思い出しましょう コンパイラの使い方も思い出しましょう
プログラムを入力して、 コンパイルしてみよう エディタを起動、プログラムを入力しましょう – エディタは何を使っていましたか? gedit ? Emacs ? vim ? 自分の使い易いものを使ってかまいません – 試しに、 p.88 List 5-1 でも入力してみましょう 入力したプログラムをコンパイルしましょう – コンパイラは gcc です – 実行もしてみましょう プログラミング演習Ⅰでやっていたのと 同じようにできましたか?
ログアウトしよう ログアウトしないと、自分のアカウントが 不正に使用される恐れがあります – 自分のアカウントで悪事を行われると、 自分の責任になってしまうかもしれません ログアウト手順 – プログラムを全て終了しましょう 端末は exit コマンドで終了しましょう – メニューバーの電源ボタンを押して「ログアウト」を選択しま す – 「シャットダウン」を選択します
できましたか? できたら今日はおしまいです 今日は課題はありません プログラミング演習Ⅰの復習を しっかりやっておいてください 質問がある人は「 C-515 山本」まで – プログラミング演習Ⅰの範囲の質問でも受け付けます – メールでの質問も OK です または
授業用 Web サイト URL: 課題の pdf ファイルが置いてあります。 授業で使った ppt ファイルを置いていきます。