プログラミング演習Ⅱ 第1回 ガイダンス 情報・知能工学系 山本一公 [email protected] 本演習の概要(1) • C言語の「基礎知識」の習得 – プログラミング演習Ⅰの続き – 配列、関数、ポインタ等 – プログラミング演習Ⅰの内容だけでは、 とてもじゃないが「C言語を勉強した」とは 言えない – 演習Ⅱレベルの内容が分からないと、 まともなプログラムは作れない 本演習の概要(2) • 文法的な内容に限る – 演習Ⅰと同様 – アルゴリズム・データ構造の話は別の講義で • 「データ構造基礎論」 • 「アルゴリズムとデータ構造」 – 計算機の構成については少し知識が必要 • ポインタの理解のためには、 メモリモデルの理解が必要 • 本演習内で必要なことだけ簡単に説明します • 別の講義「計算機アーキテクチャ」 なぜC言語なのか? • C言語は – 「高級言語である!」 – 「高級言語なのに低級言語みたい!」 • 高級言語:BASIC, Pascal, C++, Java等 – 人間が理解しやすいプログラミング言語 • 低級言語:機械語、アセンブリ言語 – コンピュータが理解しやすいプログラミング 言語 なぜC言語なのか?(2) • C言語は – 高級言語でありながら、ハードウェアに直接 アクセス可能なコードを書くことができる! • 例:ポインタを使うと番地指定でメモリアクセス 可能 – アプリケーションからデバイスドライバまで 書くことができる! – 広く使われている!利用者が多い! – 将来、つぶしがきく(と思われる)! 本演習の進め方 • • • • 出欠確認 前回課題の解説 講義 課題演習(プログラム作成) • 最後2回分は講義なしで、 応用課題をやります スケジュール(1) • • • • • • • • • 10/03 10/10 10/17 10/24 10/31 11/07 11/14 11/21 11/28 ガイダンス(今日) 復習、ファイル処理 配列(1) 配列(2) 関数(1) 関数(2) データの基本型 授業予備日 授業予備日 スケジュール(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です • [email protected] または [email protected] 授業用Webサイト • URL: http://www.slp.cs.tut.ac.jp/~kyama/programming2/ • 課題のpdfファイルが置いてあります。 • 授業で使ったpptファイルを置いていきます。
© Copyright 2024 ExpyDoc