基礎プログラミング 第2回(2007年4月11日) 計算機の基礎知識:計算機の構成と入出力 計算機内部の仕組みに迫る!! プログラミングを行う上で,最低限 計算機について知っておくべきこと, 用語を理解します プログラムを書くのに計算機のことを 少し知っておいたほうが,後々悩まなくて 済む 1 見えるものと見えないもの 見えるもの 出力装置:ディスプレイ 入力装置:キーボード,マウス (外からは)見えないもの メモリ ハードディスク(HDD) CPU 見えない部分がプログラミングには重要 見えない部分をいかに「想像」するか? 見えない部分を想像するには,現実世界のモノや現 象と結びつけよう(メタファの利用) 2 パソコン,OSを調理場に例えてみる (キッチンメタファ) CPU=料理人 HDD=冷蔵庫・食料棚 メモリ=シンク・調理台 料理人が,冷蔵庫や食料棚から食材をだして, シンク・調理台で洗ったり切ったり,火をとおした りして,加工する 加工したものを皿に盛って食べたり,また冷蔵庫に入 れたりする CPUが,HDDからデータを取り出して,メモリに展 開し,計算する 計算したものを画面上のウィンドウで表示したり,また 3 HDDに入れたりする Operating System=キッチン 計算機の電源を入れると,HDDから OS(Operating System)が起動する 仮設キッチンを倉庫から取り出して設営 OSが起動したら,やっと作業開始 仮設キッチンが組みあがったら,調理開始 開発用ソフトなどもHDDからメモリに展開さ れる 包丁や鍋などの道具も棚から調理場に出して 使う 必要なものはすべて「HDD」から取り出し, 4 メモリに展開して使う アルゴリズム=調理手順 料理にいろんな作り方があるように,プロ グラミングでもいろんなデータ処理の仕方 がある 洗い場を占領する洗い方 メモリを占有する計算,処理 料理における調理手順=プログラミングに おけるアルゴリズム 手慣れた人ほど,段取り&手際がよい 料理にもプログラミングにも共通 5 今日の重要なポイント メモリ(調理場の広さ)は有限なので, できるだけ節約して使うプログラムを書くべき 適度な占有量で動くプログラムは他のプログラムやOSの 動作にやさしい 最近はメモリが十分あるので,がちがちに節約しなく ても動くが,ちょっと大きめのデータを同時に扱おうと すると,すぐに身動きがとれなくなる 破綻しにくいプログラムを書くのは実は結構難しい 手慣れた人は,与えられた課題と現状のリソースを 瞬時に見極め,最適に利用して課題をこなしていける 6 ファイルの種類 テキストファイル テキストエディタで編集できる(人間が読みやすい) メモ帳で書いた文書ファイル,メール文書 Webページ(HTML),CSV,Postscript(ページ記述言語) プログラムのソースコード バイナリファイル テキストエディタ以外の特別なソフトをつかわないと 作成や編集が困難 (計算機が読みやすい) 画像(JPEG, PNG, GIF) 圧縮ファイル(zip, lzh, jar) 実行ファイル(exe) 7 ファイル名 (ファイルの中身を表す文字列).(拡張子) 拡張子:ファイルの種類を表す文字列 MS-DOS(Windowsの前身のOS)では, (8文字).(3文字)の制限があった その歴史的な「なごり」で,拡張子は3文字以内が使 われている (特にWindowsではその傾向) 例:index.html → index.htm Windowsでは,今でも拡張子によって表示するアイコ ンや,ダブルクリック時の起動ソフトを決定している Unix系OSでは,拡張子は単なるファイル名の一部 例:hogehoge.tar.gz (tarという複数ファイルを結合したファ イルを,GNU zip 形式で圧縮したもの) 8 いろんな拡張子 .txt .html, .htm .zip .cs .exe .sln .csproj 9 隠したいファイル・フォルダはドット で始まる名前 フォルダ名(ディレクトリ名) フォルダには「拡張子」の概念は無い . (dot)で始まるフォルダは隠しフォルダ Windowsではフォルダオプションを設定しないと,表示されな い . (dot)で始まるファイルは隠しファイル . (dot)で始めるのはUnix系の流れ 隠しファイル,フォルダといっても中身がみえない わけではなく,ユーザに存在を意識させないよう にするだけ(開けばまる見え) 10 Windowsのフォルダオプションで 拡張子,隠しフォルダを表示する設定 (強く推奨!!) 「マイドキュメント」を開く(ダブルクリック) 「ツール」「フォルダオプション」を選ぶ 「表示」タブを選ぶ (1)「ファイルとフォルダの表示」の「すべて のファイルとフォルダを表示する」に◎ (2)「登録されている拡張子は表示しない」 のチェックを外す 最後に,上の「すべてのフォルダに適用」 ボタンを押す 11 Any Question? 12 ソースコードから実行ファイルを生成 人間が読み書きしやすいソースコードをコ ンパイラ等でビルドすると,実行ファイル (プログラム)ができる Program Program SourceCode Program SourceCode File SourceCode File (.cs) File (.cs) (.cs) Program File (.exe) 13 C#(シーシャープ) Microsoftが開発したオブジェクト指向プログラミン グ言語 中間コード(MSIL:Microsoft Intermediate Language) を一旦作り,それを各OS(プラットフォーム) 個別の実行 環境CLR (Common Language Runtime,.NET Frameworkの一部) がネイティブコードに変換して実行 文法や概念が,Sunが開発したJavaに非常に似て いる (Java) Javaバイトコードを実行するJRE(Java Runtime Environment) (C#) MSIL形式のファイルを実行するCLR 14 Visual Studio .NET 2005 統合開発環境(IDE:Integrated Development Environment) プログラムの編集,ビルド,デバッグの機能が 統合された便利なプログラミング環境 無料版も存在(Express Edition) http://www.microsoft.com/japan/msdn/vstudio/ express/ からダウンロードできる C#, Visual Basic, Visual C++ などの複数 のプログラミング言語に対応 15 VS2005における概念 プロジェクト:プログラムファイルを管理する入れ物 1つのプロジェクトは,1つの実行ファイルを作る スタートアッププロジェクト:デバッグ実行時に起動する実 行ファイルを作るためのプロジェクト(通常は1つ) ソリューション:複数のプロジェクトを管理する入れ物 ソリューション Hello.sln プロジェクト1 プロジェクト2 プロジェクト3 Hello.csproj Hello.cs Umi.csproj Umi.cs Yama.csproj Yama.cs 16 VS2005 プログラミング手順 (3) (2)編集 ボタンでデバッグ実行 (1)編集したい .csファイルを [DBLClick] で選択 17 VS2005に関連するファイル Hello.sln (ソリューションファイル) Hello.csproj (プロジェクトファイル) Hello.cs (C#プログラムファイル) Hello.exe (実行ファイル) ダブルクリックで実行できる Hello.pdb (プログラム・データベースファイル) Hello.suo (Solution User Options) VS2005が内部で使用するファイル 18 SVN4Lec とは何か? Subversion(SVN)を使って講義演習ファイルの取 得と,作業後の演習ファイルやレポートの提出を 簡単に行うためのツール 三浦がJava言語で作った Subversion,Tracは他の人が作った既存のツール 従来:Webブラウザからダウンロード~圧縮ファ イルを展開~演習~メール送信 SVN4Lec:ボタン1つでダウンロード~演習 ~ボタン1つで更新ファイルのみ送信 面倒な操作が減り,その分演習に集中できる(はず) 19 SVN4Lec の入手 http://css.jaist.ac.jp/~miuramo/svnlecture/ からログイン アカウント情報(アカウント名,パスワード)はメールの 手順に従って,自分が設定したもの 忘れた場合は,「パスワードの再発行」を押し,Eメー ルアドレスの@より左の文字列(s075####) を入力 し,届いたメールに従う リンク「講義ファイルマネージャ SVN4Lecのダウ ンロード」をクリック (kisoPro.zip) ダウンロード~ダブルクリックで展開~フォルダ “kisoPro” を自分の好きな場所に移動 (ex. デスクトップ, マイドキュメント, etc.) 20 SVN4Lec の起動 (kisoPro\) SVN4Lec.jar をダブルクリック 下のようなウィンドウが開く 21 (1)ファイルの取得・更新(Update) 一番左のボタン を押す 初回のみ,アカウント名,パスワードを入力 パスワードは .svnuserpass に保存される 22 (2)作業開始 (kisoPro\01Hello\) Hello.sln を[DBLClick] “ソリューションエクスプローラ”のProgram.csを [DBLClick]~左側の領域でプログラムを編集 23 (3)作業済みファイルの差分提出 左から2番目のボタン を押す 24 (3)作業済みファイルの差分提出 Commit Log (作業内容に関する一言メモ)を必ず 入力し,“Apply State Changes, and Commit “を 押す 修正したファイル が,modified として表示され チェックがついて いることを確認 25 提出済みファイルの確認 “Committed to revision ###. Done” が 表示されていれば,送信成功 ちゃんと差分送信されたか調べるには, (1) を押す(Webブラウザが起動する) (2)右上の“Login”~アカウント情報入力 (3)“コミットログ”~Chgset (チェンジセット)の [###] (4)変更点のみ表示される 26 取り消し:Revert 編集作業内容(差分)を取り消して, 取得したときの状態(Revision)に戻す 27 履歴(Log):タイムマシン的利用 差分をサーバで管理しているので,フォルダ内を 過去の状態(Revision)に戻ることが可能 (Operation->ShowLog) を押す~戻りたい Revision上でダブルクリック 過去のRevisionを取得し戻ったところから編集し, 再度差分提出(コミット)することも可能 注意1:過去に戻ると,“kisoPro”以下の全フォル ダに影響します 注意2:過去に戻る前には,必ず現状を差分提出 (コミット)しておくことをおすすめします コミットしないと修正点が取り消される(Revert) 28 作業コピー (Working Copy)を 複数の計算機(A,B)に置いた場合 Aでコミットしたら,Bで作業する前に更新 (Update) しないとBは古いまま作業してしまうことになるので 注意 この点に注意すれば,いくつでもWCを作れます USBメモリに入れても使えます 作業前に,まず一度Updateする習慣を 教員がメッセージやコメントを直接書き込む可能性有り 作業がひと段落したら,適宜コミットすることを おすすめします サーバ側で差分ベースで管理しているので,万一パソコンが 固まったり壊れたりしてもダメージが少なくて済む 29 今回の実習課題 SVN4Lec をダウンロードし実行~ファイル取得 ~01Hello\Hello.slnからVS2005起動~プログラ ム編集~CommitLog(作業内容コメント)を適切 につけてコミット 課題:”…”(double quote)で囲まれた文字列を 変更し,自己紹介文を表示するプログラムを作 成してください 複数の文字列を表示したいときは, Console.WriteLine(” … ”);を複数書く. 文字列内で改行したいとき は ”Line1\nLine2\nLine3”のように \n を入れる 文字列をつなげるときは ”Line1”+”\n”+”Line2”のよ うに+をはさむ 締切:4月14日(土) 23:59までにコミットすること 30 次回の予定 はじめてのプログラミング 定数と変数 キーボードからの入力をプログラム内で利用 する 31 オフィスアワー 月曜3限(13:30-15:00) (特に授業に関する)質問,相談にこたえま す 知識1棟5F メールはいつでもかまいません miuramo@jaist.ac.jp 32 アナウンス(宣伝) ! 研究室紹介(4/16-5/11) @中講義室 18:30~20:00 4月18日(水) 宮田,國藤,三浦,羽山 遅い時間帯ですが,ぜひ聴いてください!! アイデアマラソンのセミナー @中講義室 4月27日(金) 15:10-18:00頃 C411 知識創造論(國藤教授)の一貫 特別講師:樋口健夫先生 http://www.idea-marathon.net/ 当日参加も可ですが,三浦にメールで参加表明しておくと,よ いことがあるかも. 33 (右上のマークについて) ...重要!! ...設定しておいてください ...紙にかいてみる,振り返って みる ...実演で説明 34
© Copyright 2024 ExpyDoc