東 北 大 学 全 学 教 育 科 目 情 報 基 礎 A Linux の 利 用 C 言 語 によるプログラミングその1 担 当 : 大 学 院 情 報 科 学 研 究 科 塩 浦 昭 義
ファイル 名 と 拡 張 子 ファイル 名 の 多 くは 拡 張 子 をもつ 拡 張 子 はファイルの 種 類 を 表 す 拡 張 子 がついていると,ファイルをクリックしただけで 適 切 なソフトウェアを 起 動 させることも 可 能 sample.txt photo.jpg report.doc ピリオドの 後 ろが 拡 張 子
拡 張 子 txt doc docx odt xls xlsx ods ppt odp 拡 張 子 の 例 html, htm jpg, jpeg 拡 張 子 mpeg ファイルの 種 類 テキストファイル Microsoft Word のファイル (2003 以 前 のバージョン) Microsoft Word のファイル (2007 以 降 のバージョン) OpenOffice Writer のファイル Microsoft Excel のファイル (2003 以 前 のバージョン) Microsoft Excel のファイル (2007 以 降 のバージョン) OpenOffice Calc のファイル Microsoft Powerpoint のファイル(2003 以 前 のバージョン) OpenOffice Impress のファイル HTML 文 書 (ウェブページ) JPEG 形 式 の 画 像 ファイル ファイルの 種 類 MPEG 形 式 の 動 画 音 声 ファイル 同 じソフトウェアの ファイルでも, バージョンが 違 うと 拡 張 子 が 違 う
拡 張 子 に 関 する 注 意 ファイル 名 から 拡 張 子 を 消 すと,ファイルの 種 類 がわからなくなる どのソフトウェアを 使 えば 良 いのか, 全 くわからなくなる 間 違 って 消 した 場 合 は, 再 び 正 しい 拡 張 子 を 付 ければOK Word のファイル report.doc ファイル 名 変 更 Word で 開 けなくなる report 拡 張 子 のみを 変 更 しても,ファイルの 種 類 は 変 わらない ファイルの 種 類 を 変 更 したい 場 合 は, 適 切 なソフトウェアを 使 う 必 要 あり Word のファイル report.doc 拡 張 子 変 更 ウェブページに 変 更 されるわけではない report.html
Linux の 利 用
Linux(リナックス)とWindows 2つの 異 なるオペレーティングシステム(OS) コンピュータ 上 で 各 種 ソフトウェアを 動 かすための 基 礎 とな るソフトウェア よくある 例 え( 自 分 自 身 で 確 認 してください) Windowsはオートマチック 操 作 の 自 動 車 初 心 者 でも 扱 いやすい, 熟 練 者 には 少 し 物 足 りない Linuxはマニュアル 操 作 の 自 動 車 初 心 者 には 扱 いが 難 しい, 熟 練 すると 自 在 に 扱 える 2つのOSに 善 し 悪 しはない. 好 みで 選 ぶ
LinuxとWindowsの 比 較 : オープンソースとクローズドソース Linux はオープンソース ソフトウェアの 中 身 (プログラム,ソース)が 一 般 に 公 開 世 界 中 の 利 用 者 が 自 由 に 開 発 に 関 わることが 出 来 る 自 由 に 修 正 可 能 Windowsはクローズドソース ソフトウェアの 中 身 は 非 公 開 一 企 業 (Microsoft)が 開 発 修 正 は 不 可 能
LinuxとWindowsの 比 較 : オープンソースとクローズドソース Linux はオープンソース 基 本 的 に 無 料 ( 有 料 のソフトやサービスがつくこともある) 企 業 からのサポートなし, 困 ったときは 自 力 で 解 決 ( 他 のユ ーザーに 助 けてもらうことも 可 能 ) Windowsはクローズドソース 有 料 Microsoft による 利 用 者 へのサポート
LinuxとWindowsの 比 較 : 操 作 方 法 とソフトウェア 操 作 方 法 Windowsでは 視 覚 的 にわかりやすいGUI(Graphic User Interface)が 主 流.マウスだけで 操 作 可 能 Linuxではコマンド 入 力 によるCUI(Command User Interface)をよく 使 う.キーボードだけで 操 作 可 能 使 えるソフトウェア Windowsと 同 様 のソフトウェアが 利 用 可 能 Linux では Microsoft Office は 利 用 不 可 OpenOffice で(ある 程 度 ) 代 用 可 能 Linux では Internet Explore は 利 用 不 可 Firefox で 代 用 可 能
Linuxディストリビューション Linuxは 通 常, 利 用 者 が 使 いやすいパッケージという 形 で 配 布 されている(ディストリビューション) インストールに 便 利 なプログラム 付 き 各 種 ソフトウェア(ウェブブラウザ,メール 用 ソフト,オフィス スイート,など) Linuxは 一 般 に 公 開 されている 様 々な 企 業, 団 体 がLinuxディストリビューションを 開 発 同 じLinuxでも,ディストリビューションによって 見 かけや 内 容 が 違 う Ubuntu, Fedora, Vine, Debian, Red Hat, KNOPPIX, CentOS
Linux の利用 テキストエディタ KWrite Webブラウザ Firefox 端末 コマンド入 力に使う 他のプログラム はここをクリック ログアウトの時 もここをクリック
コンピュータの 操 作 方 法 GUI (Graphical User Interface) 現 在 の 主 流 主 にマウスを 利 用,グラフィックを 多 用 して 視 覚 的 にわかりやすい CUI (Character User Interface) 古 典 的 な 操 作 方 法. 現 在 も 使 われる. Linux ユーザはよく 使 う キーボードから 文 字 (コマンド)を 入 力 して 操 作
GUIとCUIの 比 較 GUI CUI 操 作 方 法 直 感 的 で 簡 単 わかりにくい コマンドを 覚 えていないと 駄 目 簡 単 な 処 理 簡 単 コマンドを 覚 えていれば 簡 単 複 雑 な 処 理 ( 操 作 の 記 録, 自 動 化 など) 必 要 な 計 算 機 資 源 難 しい 効 率 が 悪 い 多 い 計 算 機 の 性 能 が 悪 いと 使 えな い コマンドを 組 み 合 わせると 簡 単, 効 率 的 少 ない 計 算 機 の 性 能 が 悪 くてもOK 主 な 利 用 者 一 般 ユーザ, 初 心 者 管 理 者,プログラマ, 上 級 者
GUIの 不 便 なところを 体 感 準 備 : 1. ホーム のフォルダを 開 く 2. test という 名 前 のフォルダを 作 る 3. test フォルダの 中 に a, b, c という 名 前 のフォルダを 作 る 4. a, b, c それぞれのフォルダの 中 に, 異 なるファイル 名 の ファイルを1つずつ 入 れる (テキストエディタで 新 しいファイルを 作 っても 良 い) GUIでの 実 験 マウスを 使 って a, b, c それぞれに 入 っているファイルを 全 部 ホームフォルダにコピーする
CUIの 便 利 なところを 体 感 準 備 : 先 ほどコピーした ホームフォルダのファイルをすべて 削 除 (フォルダ a, b, c は 削 除 しない) CUIでの 実 験 1. 端 末 を 開 く 2. cd test と 入 力 したのち Enterキーを 押 す 3. cp */*. と 入 力 したのち Enterキーを 押 す 4. ホームフォルダを 開 いて 中 身 を 確 認 CUIでは コマンドさえ 覚 えれば 複 雑 な 作 業 大 量 の 単 調 な 作 業 を 効 率 的 に 行 うことが 可 能
コンピュータとプログラミング
コンピュータとプログラミングの 歴 史 コンピュータとは: 複 雑 な 計 算 を 短 時 間 で 行 ってくれる 道 具 1944 年 世 界 初 の 電 子 式 の 計 算 機 Colossusが 完 成 ( 暗 号 解 読 用 ) Colossus mark2 http://upload.wikimedia.org/wikipedia/common s/thumb/4/4b/colossus.jpg/300px-colossus.jpg (2010/06/10) 計 算 手 順 の 変 更 は 配 線 などの 物 理 的 変 更 により 実 現 操 作 が 難 しく 汎 用 性 は 乏 しい
コンピュータとプログラミングの 歴 史 1946 年 計 算 手 順 をソフトウェアとして 分 離 するアイデア 初 期 の 計 算 機 分 離 ノイマン 型 計 算 機 Hardware (ハードウェア) 計 算 機 を 構 成 する 機 械 や 回 路 Software (ソフトウェア) 計 算 機 で 実 行 する 計 算 処 理 の 手 順 を 文 書 化 したもの (プログラム) 計 算 処 理 の 変 更 が 容 易 汎 用 性 が 向 上
コンピュータとプログラミングの 歴 史 1949 年 世 界 初 の 実 用 的 ノイマン 型 計 算 機 EDSAC が 完 成 1970 年 以 降 のほとんどの 計 算 機 はノイマン 型 EDSAC:Electronic Delay Storage Automatic Calculator http://www.infonet.co.jp/ueyama/ip/history/edsac9 9.9.jpg (2010/06/10)
プログラムとプログラミング プログラム(program)= 計 画 書 コンピュータの 計 算 (コンピュータへの 命 令 )の 手 順 を 記 述 し たもの プログラミング(programming) =プログラムを 作 る( 入 力 する)こと コンピュータへの 計 画 書 は コンピュータが 理 解 できる 言 葉 ( 機 械 語 )で 書 かなければならない 機 械 語 でプログラムを 作 るのは 人 間 にとって 難 しい http://msyk.net/keio/javabook/ch1.html
プログラミング 言 語 コンピュータへの 計 画 書 は コンピュータが 理 解 できる 言 葉 ( 機 械 語 )で 書 かなければならない 機 械 語 でプログラムを 作 るのは 人 間 にとって 難 しい より 便 利 なアプローチ プログラミング 言 語 人 間 が 理 解 しやすい 言 葉 で 書 いたプログラム 翻 訳 機 械 語 のプログラム コンパイル
コンピュータが 出 来 ること, 出 来 ないこと 基 本 的 な 演 算 を 高 速 に 実 行 可 能 四 則 演 算, 大 小 関 係 の 比 較 数 値 や 文 字 などのデータを 記 憶 文 字 やグラフィックを 表 示 複 雑 な 演 算 は, 簡 単 な 演 算 を 組 み 合 わせて 実 行 ( 人 間 が プログラムをつくる 必 要 あり) プログラムの 指 示 通 りに 正 確 に 動 く プログラムの 内 容 が 曖 昧 だと 動 いてくれない プログラムが 間 違 っていても,その 間 違 い 通 りに 動 く
C 言 語 によるプログラミング
C 言 語 プログラム 作 成 の 手 順 テキストエディタ(KWrite)にてプログラムを 入 力 保 存 保 存 の 際 のファイル 名 は xxxx.c ( 拡 張 子 c をつける) 例 外 を 除 き 半 角 英 数 字 を 使 う 新 たなファイル 名 で 保 存 ファイルを 開 く 同 じファイル 名 で 保 存
プログラム 実 行 のやりかた C 言 語 のプログラムは そのままではコンピュータは 理 解 できない 機 械 語 (コンピュータの 理 解 できる 言 語 )に 翻 訳 する 必 要 あり ( コンパイル という 作 業 ) 手 順 1. 端 末 にて gcc xxx.c と 入 力, 実 行 (エンターキーを 押 す) (xxx.c は 実 行 したいプログラム 名 ) 2. エラーメッセージが 出 なかったら 端 末 にて a.out を 実 行 する とプログラムが 動 く エラーメッセージが 出 たら 次 のスライド 参 照
エラー 発 生 時 の 対 応 プログラムをコンパイルした 時 にエラーが 発 生 入 力 したプログラムに 誤 りあり エラーの 例 --- 大 抵 の 場 合 つまらないミスが 原 因 かっこやカンマ セミコロンがあるべき 場 所 に 存 在 しない 命 令 のスペルが 間 違 っている エラーの 修 正 方 法 1. プログラムを 入 念 にチェックして 誤 りを 修 正 ファイルを 再 度 保 存 2. もう 一 度 プログラムをコンパイル (gcc xxxx.c を 実 行 ) 3. エラーが 出 たら 1. に 戻 る
プログラムその1 実 際 に 入 力 して 実 行 してみること Hello. と 表 示 するプログラム #include <stdio.h> main() { printf( Hello. n ); } 文 字 や 記 号 はこの 通 りに 正 しく 入 力 すること すべて 半 角 英 数 字 レイアウトも 出 来 るだけ この 通 りに 正 しく 入 力 すること プログラムは1 行 にまとめて 書 くことも 可 能 ですが, わかりにくくなるので,きれいに 書 きましょう #include <stdio.h>main(){printf( Hello. n );}
今 日 のレポート 課 題 ( 提 出 の 必 要 なし) 次 の 天 秤 の 問 題 の 答 えを 考 えること ( 間 違 ってても 構 いません.できるだけ 自 分 の 頭 で 考 えてください) 一 個 の 天 秤 と8 個 のメダルがあります. 天 秤 を 使 うと, 重 さの 大 小 をしらべることができます. 天 秤 の 皿 には 複 数 のメダルを 置 くことが 可 能 です 問 0:1 個 だけ 重 さの 異 なるメダルがある.これを 探 すには, 天 秤 を 何 回 使 う 必 要 があるか?(2 回 ) 問 1: 天 秤 を 使 って, 一 番 重 いメダルを 探 したい. 天 秤 を 何 回 使 う 必 要 があるか? 問 2: 天 秤 を 使 って,メダルを 重 い 順 番 に 並 べたい. 天 秤 を 何 回 使 う 必 要 があるか?