プログラミング演習 Ⅱ 第1回 ガイダンス
DESCRIPTION
プログラミング演習 Ⅱ 第1回 ガイダンス. 情報・知能工学系 山本一公 [email protected]. 本演習の概要(1). C 言語の「基礎知識」の習得 プログラミング演習 Ⅰ の続き 配列、関数、ポインタ等 プログラミング演習 Ⅰ の内容だけでは、 とてもじゃないが「 C 言語を勉強した」とは 言えない 演習 Ⅱ レベルの内容が分からないと、 まともなプログラムは作れない. 本演習の概要(2). 文法的な内容に限る 演習 Ⅰ と同様 アルゴリズム・データ構造の話は別の講義で 「データ構造基礎論」 「アルゴリズムとデータ構造」 - PowerPoint PPT PresentationTRANSCRIPT
本演習の概要(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点にします– カンニングと同じ– 「身につける」という目標が達成できない
• コピーを疑われるレポートが出てきた場合は、直接口頭試問により内容の理解度をチェックします
レポートについて• 電子メールで提出
– 提出先は [email protected] (質問メールもここ)– Subject は「プログラミング演習2 課題xx(課題番号)学籍番号・氏名」のように書くこと
– C 言語ソースファイルを添付する– ソースファイルの頭にコメントで以下の情報を入れる
• 学籍番号・氏名• プログラムの説明(どのように動くのか、工夫した点等)• 実行結果(長い場合は一部)を貼る
– 提出締切は基本的に講義の1週間後の正午– 添削してから返却します
【重要】分からなかったら• 分かるまで質問してください!
– 最初が肝心です– 後になればなるほど質問しにくくなります
• 「聞くは一時の恥、聞かぬは一生の恥」です– 質問する相手は、私でも TA でもどちらでもいいです
• うやむやにしないでください– うやむやにすると後で本当に困ります
• ( 3系のほぼ)全ての卒業研究はプログラミングを含んでいます• 就職してプログラミングをしない人は( 3系ではほぼ)いません
• 「プログラミング言語」もある種の「言語」– 外国語みたいなもの– 「慣れ」の部分もあるので、接している時間が重要です– 使わないと確実に忘れます
計算機の利用について• プログラミング演習は Linux で行います
– 使い方は覚えていますか?
• レポートは電子メールで提出してもらうので、作成した C 言語のファイルを添付ファイルとしてメールを送れるようにしておきましょう
• 利用ガイドを見ましょう– https://imc.tut.ac.jp/wiki/Guide/
計算機を使ってみよう• ディスプレイを出して、電源を入れよう!
– 天板を手前に引いて、ディスプレイを引き出してください
– 端末本体は、机の下です• 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:
http://www.slp.cs.tut.ac.jp/~kyama/programming2/
• 課題の pdf ファイルが置いてあります。• 授業で使った ppt ファイルを置いていきます。