66
情報科学リテラシー 2020526海谷 治彦 1

情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

情報科学リテラシー

2020年5月26日海谷治彦

1

Page 2: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

Macでの受講について

• 情報の学生に貸与されているPCを想定しているため,オフィシャルには,マックは推奨していません.

• ただ,受講者本人でツール等の面倒が見られるなら,マックでも結構です.

• Windowsと異なる部分について,「Macでは・・・」という解説は原則的に授業では行いません.

• ファイルシステムの階層構造やツールがWindowsと異なる場合

があるので,提出する演習の場合,なんとなく似たものを提出してくれれば結構です.

• プログラミングの演習の場合はマックでも全く同じものが提出できるはずです.

• 個別のQ/Aについては,馬谷先生がMacユーザーなので,相談にのってくれそうです.

• 一応,了承はとってある. 2

Page 3: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

目次

• いままでで理解・修得できている(はずの)こと

• コマンドプロンプト• ファイルシステムの移動と操作

• エクスプローラーとの同期の確認

• コマンドやアプリの呼び出し

• テキストエディタ• ワープロとの違い

• 日本語入力

3

Page 4: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

これまでに理解・修得してること

1. PCをネットにつないでログインできる.

2. GUIを使いアプリを起動できる.GUI(Graphical User Interface) メニューやアイコン等

3. ファイルシステムの構造が理解・操作できる.

• 少なくとも自身のホームディレクトリまわりは理解できている.

4. アプリとプロセスの違いがなんとなくわかってる.

5. zipアーカイブの意味と展開方法を理解できている.• アーカイブの作成方法は当面わからなくてもよい.

4

Page 5: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

Windowsで重要なフォルダ• C:¥Users¥r202003123ab¥

• ユーザー r202003123ab 特有のファイルが以下におかれる.

• 一般にホームディレクトリと呼ばれるがWindowsではホームパス• より厳密にはホームドライブとホームパスをつなげたもの.

• C:¥Users¥r202003123ab¥Downloads¥• ユーザー r202003123ab がブラウザ等経由でダウンロードされたファイルがおかれる.

• C:¥Users¥r202003123ab¥Desktop¥• r202003123ab のデスクトップ

• C:¥Program Files¥• 多くのアプリがこのフィルダ以下におかれる.

• 一般ユーザーは内部の修正はできない.

• C:¥emacs¥ そして C:¥MinGW¥• 本授業に特化したアプリ群があるフォルダ.標準的なWindowsには無い.

5

復習

Page 6: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

ホームについて

• ホームディレクトリは,

C:¥Users¥r202003123ab¥

ではなく,

C:¥Users¥山田太郎(r202003123ab)¥

であるようだ,要は名前が入ってる・・・

• 正直,センスを疑うけど,マイクロソフトや大学がこのように決めたようなので仕方ない・・・

• パスのようなコンピュータが扱う文字列にカッコや日本語を含めるとか,わりとサイアクな判断だと思うが.

6

Page 7: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

ファイルシステムのイラスト説明

7

PC (コンピュータが管理するファイルシステム全体)

Cドライブ (通常,OSが入ってるメインのディスク)

Eドライブ (ココではUSBメモリ)

Users

kaiya

Public

Program Files

emacs 本授業特有

MinGW 本授業特有

7-Zip

unzip60win.zip

unzip60win.zip

DownloadsDesktop

mingw.bat

mingw.bat

復習+

srcunzip60win

Page 8: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

特によく使う部分

8

Cドライブ (通常,OSが入ってるメインのディスク)

Users ユーザーと表記されてる

kaiya

Downloads

Desktop

srcunzip60win

r202003123a 等,自分のユーザー名

ダウンロードしたものは,大抵,ここに保存される.

デスクトップにおいたファイルはココにある.

各自に作ってもらったもの.ある意味,この授業に特化したフォルダ

必要に応じて,フォルダを作ってもらう.本日は,projects というフォルダを作って.

Page 9: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

アプリの呼び出し法

1. エクスプローラーからアプリのファイルを探してクリック.

2. コルタナ等で検索して選択.

3. デスクトップやメニューにある参照アイコン(ショートカット)をクリック.

4. データのファイルを選択し,右クリックからアプリを選択.

5. コマンドプロンプトからファイル名を指定.• 今回

9

復習

Page 10: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

コマンドプロンプト

• アプリのファイル名を入力して,Enterを押すと,アプリを起動できるユーザー・インタフェース(UI).

• アプリでは無い組み込み命令もいくつかある.

• 現在,注目しているフォルダを可視化してくれている.

• フォルダ移動を含むフォルダ操作,ファイル削除やコピー等を行なうことができる.

• 一般的な呼び出し方: コルタナ等から cmd.exe を検索.• 多分,cmd で見つかる.

• Power shell というより高機能なものもあるが,あまり流行ってないので本講義では用いない.

10

Page 11: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

11

Page 12: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

コマンド・インタプリター色々• Windowsのコマンドプロンプトを含め,文字でアプリ名を受け取って,それを実行する類のUIを,一般には,Command Interpreter と呼ぶ.

• コマンドを解釈する者(物?)という意味.

• Macを含むUNIX/Linux系OSでは,コマンドインタプリターは割りとポピュラーなツール(下図).

• ターミナル(端末)やシェル(shell)とも呼ばれる.

• 尚,Androidにも存在する.まぁ,ネタツールだが.右図.

• ネット経由で他のマシンに侵入する際によく使う.

12

Page 13: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

msys.bat は使わない

• 貸与PCだとデスクトップに msys(.bat) というのがあるかもしれませんが,コレは使いません.

• Windows上でLinuxのシェルを模倣するUIとなっているため,初心者は混乱するからです.

• ファイルシステムもLinux風に見えるように細工がしてあり,本来のWindowsのファイルシステムをよく理解してないと混乱します.

• ただ,使い勝手は慣れれば,こっちのほうが良いのですが・・・

13

Page 14: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

コマンドプロンプトの利点

• コマンドプロンプトのプロセスで作業しているフォルダが可視化されている.

• 一般に現在作業中のフォルダ(ディレクトリ)と呼ぶが,単に作業フォルダと呼ぶことにする.

• Current Working Folder/Directory (CWD)

• コマンドプロンプトから呼び出される他のアプリは,原則,作業フォルダの場所を継承する.

• ファイルやフォルダをアプリ間で共有しやすい.

• アプリ実行時にオプションを指定することができる.• ファイル名の指定も含めて.

• 実行したアプリの履歴を覚えているので,繰り返し実行するときに楽.

14

Page 15: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

リアルなオプション指定の実例

15

二から三行で一個のコマンドとなっている.

最後のgcc

コマンドは,四行分のオプションを持つ.

Page 16: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

16

プログラムの開発の流れ

プログラミング手作業エディタを使用

コンパイル機械が理解できる表現に自動変換

実行生成されたアプリを使用

(ソース)プログラム(ソースコードhoge.c 等)

アプリケーション (実行ファイル)(ロードモジュールa.exe 等)

hoge.c a.exe

gcc

復習

Page 17: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

プログラム開発の特徴

• 複数のアプリを使う.• プログラムの記述,アプリへの変換,実行のテスト

• アプリを繰り返し実行する.• 一発でアプリへの変換が成功しないための繰り返し.

• 実行テスト結果が期待通りでないための繰り返し.

• アプリ間で同じファイルや作業フォルダを使う.• プログラム: 記述アプリ(エディタ)と変換アプリで共有

• 作成したアプリ: 変換アプリ(gcc)と実行テストで共有

• コマンドプロンプトが開発に適している.

17

Page 18: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

参考: GUIからアプリを呼ぶ場合

• 一般的に,当該アプリのプロセスの作業フォルダがどこであるかが明示されていない.

• メニュー等から調べればわかる場合はある.

• 大抵は,そのアプリがインストールされているフォルダ.

• しかし,アプリ自身の設定や設計によって作業フォルダは変わる.

• よって,どこが作業フォルダとなるかの予想がつかない.

• 結果として,複数のアプリでファイルや作業フォルダを共有するのがGUIでは割りと面倒.

• 開発に必要なアプリを統合したアプリ(IDE)は存在するが,その紹介は別の授業で.

18

Page 19: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

今後のプログラム開発等の規定

• 開発するアプリ毎にフォルダを分けてください.• このフォルダをプロジェクトとこの授業では呼びます.

• 自身のホームディレクリ下に projects フォルダを作り,その下に,個々のプロジェクトをおいてください.

• 前回の演習で作った src フォルダはダウンロードしたサンプル等をおくことにしましょう.

• プロジェクトの名前は基本,こちらで指定します.

ダメなこと

• Desktop/Downloads下に適当にファイル,プロジェクトのフォルダやファイルを羅列する.

19

Page 20: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

実際にコマンドプロンプトを使う

• 本来は cmd.exe を実行しますが,

• この授業では,配布した mingw.bat を使ってください.

• 自分のホームが表示されているか確認.

• ホームじゃない場合,cd %HOMEPATH% エンターと打ってください.

• 基本,コマンド名もしくはアプリ名を入れてエンターを押す.

20

Page 21: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

mingw.bat の配置

• デスクトップに配置してください.

• まぁ,ショートカットでもいいんですけど,Downloads に実体があってのショートカットは,いただけないと思う.

• 後に詳細は話しますが,次週以降のプログラム開発のためのアプリ(gccやemacs)をコマンドプトンプトから検索できるような設定を仕込んであります.

• PC全体にこの設定を追加することもできますが,あえて,そうでない方法にしました.

21

Page 22: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

mingw.bat の実行

• これをクリックして実行すると,左のような警告が出てしまいます.

• 実行するためには,「詳細情報」を押して,右の画面のようにして,「実行」を選んでください.

22

Page 23: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

ショートカット

• ファイルやフォルダの実体を参照しているだけのアイコン.

• 実体はファイルシステム内の別の場所にある.

• GUIで利用する場合のみに機能する.

• アプリは通常 C:¥Program Files¥ 以下に配置されるので,よく使うアプリのショートカットがデスクトップにあると便利な場合が多い.

• 似た機構として,シンボリックリンク,ジャンクション等があるが,とりあえず,ショートカットのみ知っていればよい.

• 検索「Windows ショートカット シンボリックリンク」等

23

Page 24: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

フォルダに関するコマンド 1• dir

• 現在の作業フォルダにあるフォルダとファイルの一覧を表示します.

• cd フォルダ名• 現在の作業フォルダを指定したフォルダに変更します.• フォルダは C:¥users 等の絶対パスと,後述の相対パスで指定できます.

• 貴方自身に許可が無いフォルダには移動できません.

• md フォルダ名• 新たなフォルダを作成します.• フォルダ指定はcdと同様,作成許可もcdと同様.

• rd フォルダ名• 既存のフォルダを削除します.• フォルダが空でないと消せません.• その他はmdと同様です.

24

Page 25: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

絶対パスと相対パス

• C:¥Users¥r20201234ab¥や ¥Windows¥ 等,ド

ライブもしくは,ファイルシステムの頂点である ¥ から

フォルダを指定する方法を,絶対パスと呼びます.

• 一方,現在の作業ディレクトリからの相対位置を指定

する方法を相対パスといいます.

• 相対パスの例

• cd child 現作業フォルダの下に child というフォルダ

がある場合は,そこを新しい作業フォルダに変更できる.

• cd .. 現作業フォルダを含む一個上位のフォルダに移動

する.

• cd ..¥sibling¥ 現作業フォルダの隣にある siblingというフォルダに移動する.

25

Page 26: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

前ページ例のイメージと操作

26

Page 27: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

フォルダに関するコマンド 2• move フォルダ1 フォルダ2

• フォルダ2が存在するなら,フォルダ1をフォルダ2の下に移動する.

• フォルダ2が存在しないなら,フォルダ1をフォルダ2に改名する.

• フォルダ1はファイルでもよい.

• ren フォルダ1 フォルダ2• フォルダ1をフォルダ2に改名する.

• コマンド1も含め,他のアプリが関係するフォルダやファイルを利用中の場合,コマンドの実行ができない.

27

Page 28: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

ファイルに対するコマンド• copy ファイル名 パス名

• あるファイルをコピーする.• 同じフォルダ内の場合,異なる名前でコピーするしかない.• 他のフォルダにコピーする場合,同じ名前でもコピーできる.• 権限の無いファイルのコピーや,権限の無いコピー先へのコピーはできない.

• del パス名• ファイル名もしくはパス名で指定されたファイルを削除する.• 権限に関してはcopyと同じ.

• move 移動.フォルダに同じ.

• ren 改名.フォルダと同じ.

• 尚,ファイルの作成や取得はエディタやgcc等のアプリを用いたり,ネットからダウンロードしたりする.

28

Page 29: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

29

Page 30: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

続き

30

Page 31: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

ファイルシステムは共有されてる

• ファイルシステムは全プロセスに共有されています.

• よって,コマンドプロンプトでファイルシステムを変更すれば,エクスプローラーや他のアプリから見えるファイルシステムも変わります.

• 逆も真です.

• ちなみに,現在の作業フォルダ以外のフォルダの変更も,権限はあればプロセスは可能である.

• 例: ホームにいて,md ..¥..¥sakana¥ とすれば,¥sakanaフォルダを作成可能.

31

Page 32: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

プロセスとファイルシステムの関係例

32

kaiya

Downloads src projects Deskptop

a.zip b.txt

a.c

a.exe

・・・・ ・・・・

このプロセスはDesktopフォルダで作業をしている

¥

Users

r2019ab

Program Files

exp01

・・・・

このプロセスもDownloadsフォルダで作業をしている

このプロセスはDownloadsフォルダで作業をしている

・・・・

・・・・

b.txt を消

しちゃおうかな・・・

Page 33: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

他のプロセスの変更は影響する

33

kaiya

Downloads src projects Deskptop

a.zip

a.c

a.exe

・・・・ ・・・・

このプロセスはDesktopフォルダで作業をしている

¥

Users

r2019ab

Program Files

exp01

・・・・

このプロセスもDownloadsフォルダで作業をしている

このプロセスはDownloadsフォルダで作業をしている

・・・・

・・・・

b.txt が見

えなくなりました!

Page 34: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

エクスプローラーで操作してもよい

34

要はコマンドプロンプトのコマンドを忘れたら,該当する部分をエクスプローラーで操作すればよい.

Page 35: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

演習1• コマンドプロンプトを実行し,最初の作業フォルダが自身のホームであることを確認せよ.

• cd src¥unzip60win を実行し,前回ダウンロードしたアーカイブが指定場所に展開されていることを確認せよ.

• 指定場所に展開されていない場合,move 等のコマンドを使い,指定場所に移動した上で,上記の確認を行なえ.

• 問題1: 上記の作業後に,現在の作業フォルダをホーム(¥Users¥r202003123ab 等)に戻すためのコマンドを答えよ.

• できれば一コマンドが望ましいが複数コマンドの列でもよい.

• 問題2: ホームが現在の作業フォルダだとして,src¥unzip60win¥man¥ の下のファイル一覧を表示するためのコマンドを答えよ.

• これも一コマンドが望ましいが複数コマンドの列でもよい.

• 解答はファイル ex1.txt に書いて,Teams の 0526 にアップしてください.

35

Page 36: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

参考 unzip60win下のフォルダ構成

36

Page 37: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

アプリはどのように検索されるか?• コマンドプロンプトでは,PATH と呼ばれる値に基づきアプリを検索します.

• しかし,本授業で用いるテキストエディタやコンパイラは初期設定ではPATHに含まれません.

• この初期設定の変更もできますが,本授業では行ないません.

• そこで,mingw.bat を用います.• 中で暫定的にPATHを更新している.

37

Page 38: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

38

プログラムの開発の流れ

プログラミング手作業エディタを使用

コンパイル機械が理解できる表現に自動変換

実行生成されたアプリを使用

(ソース)プログラム(ソースコードhoge.c 等)

アプリケーション (実行ファイル)(ロードモジュールa.exe 等)

hoge.c a.exe

gcc

再掲載

Page 39: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

本授業での開発に使うアプリ• (テキスト)エディタ

• emacs 40年以上前からあるエディタ.

• 多数のOSでの稼動実績がある.

C:¥emacs¥bin¥runemacs.exe

• Visual Studio Code 昨今流行りのエディタcode.exe 等 (%HOMEPATH%¥AppData¥Local¥Programs¥の下)

• コンパイラ

• gcc GNUというプロジェクトで開発されたコンパイラ.

• 多数のOSでの稼動実績がある.

¥MinGW¥bin¥gcc.exe

• その他,MinGWには,Linux/UNIXで使われるコマンドも入っており,それらも利用可能.

• 別に利用しなくてもよいが,Windowsのコマンドより便利なものが多い.

• 教員の多くがこちらのほうが詳しいため,ついついデモでつかってしまうかも.

39

Page 40: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

テキストエディタとは?

• 純粋に文字データの列としての文書を作成するためのアプリ.

• ただし,改行文字や空白文字等は扱うことができる.

• ワードプロセッサ(ワープロ,MSワード等)と違い,以下のような機能はない.

• ページレイアウトの設定,ページサイズや縦横長等.

• 文字の大きさ,種類,色の変更や,下線等の飾り.

• 段落の字下げや箇条書き.

• 図表の挿入.

40

Page 41: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

何故,エディタを使うのか?

何故,ワープロを使わないのか?

• ワープロは人間が読む本や小冊子(レポート等)を作るためのアプリである.

• レイアウトや文字修飾等の見た目も重要.

• 一方,これから開発するプログラムは,コンパイラ(gcc)が読むためのデータである.

• 冊子上でのレイアウトや修飾は無意味.

• その代わり,プログラミング言語の特徴を強調する必要がある.

• これらの強調は手動でつけるのではなく,エディタが文法を認識して,自動でつけてくれる.

• エディタとワープロは似てはいるが,成果物の読者が異なるのである.

41

Page 42: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

リアルなプログラム例

42

アプリ unzip.exe を構築するには,このファイルを含む153個のファイルが必要.総行数は約8万2千行.

復習

Page 43: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

基本的な使い方 emacs• 起動 runemacs ファイル名

• 文字を入力すれば文字が入る.

• カーソルキーで入力位置が変わる.• 実は他の方法のほうが一般的.

• カーソル位置の前の文字を消す [back space]• カーソル位置の文字を消す ^D

• コントロールを押しながらDを押すの意味

• ファイルを保存する ^X^S• 終了する ^X^C• その他,メニューから呼び出せる機能もある.

43

Page 44: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

画面例

44

Page 45: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

TIPS 1 emacs• emacs起動時に,以下のように画面は上下に分かれていて,半分使えない状態となっている.

• これを解消するには,自分が文書をうつ側をクリックし,^X1 (コントロールをおしならがX 次に 1をうつ)で上側のみになる.

• 尚,下側はemacsの詳しい使い方マニュアルになってるので,関心があれば読んでください.

45

Page 46: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

TIPS 2 emacs• emacs起動時に,前ページのように画面は上下に分かれていて,半分使えない状態となっている.

• runemacs –no-splash ファイル名

として起動すると,前ページのようなことにはならないようです.

46

Page 47: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

日本語入力について

• 他のアプリ同様,[半角/全角]キーで日本語,英文字が切り替わります.

• 日本語は基本,ローマ字入力してください.

• 日本語入力時には空白文字を使わないでください.• いわゆる,「倍角文字」の空白となり,プログラム開発ではトラブルのもととなります.

• 日本語入力のプロパティで倍角の空白を無効にするのがよいのですが,これは好みの問題.

• プログラム開発では,日本語は使わなくても結構です.

• コメント文といわれる注釈も英語で結構です.

47

Page 48: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

emacsでの日本語入力の注意

• emacsでは,[半角/全角]で英文字と日本語が切り変わらなくなる障害が出る場合があります.

• その場合,以下のどちらかを行なってください.• emacsのウインドウの位置を移動してみる.

• emacsのウインドウのサイズを変更してみる.

上記で代替,切り替え機能が復活するようです.

48

Page 49: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

基本的な使い方 code• あまり癖がないので,カーソルやメニューを使って操作してください.

49

Page 50: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

テキストファイルの作り方

• GUIなら先にフォルダにファイルを作ってから,VScode等で開くほうが,楽かもしれない.

• コマンドを使うなら,

code ファイル名

• で現在のフォルダにファイルを作成することができる.

50

Page 51: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

保存するファイルを先に指定 (お勧め)• 保存するファイルは先に指定したほうが問題が少ない.

• コマンドプロンプトの場合

code ファイル名

等,起動時にファイル名を指定する.

• GUIの場合,

右クリック > 新規作成 > テキストドキュメント

でファイルを作ってから,プログラムで開く.

• ただし,来週からのプログラミングでは,拡張子まで変

える必要がある.

• .c ファイルを VScode に関連付けするのもよいかも.51

Page 52: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

後からファイル名指定

• 以下のようなファイル選択ダイアログで注意深く保存場所と名前を指定しなければならない.

• 保存した場所を忘れるとファイルが行方不明になる.

52

Page 53: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

既存ファイルが文字化けした場合

• 下の方の[UTF-8]をクリックして,

• 上のほうに出てくるメニューの[Reopen with Encoding] を選んで,

• [Japanese (Shift JIS)]を選べば,大抵,直ります.

• Shift JIS やら UTF-8 やらの話は後日行いますが,古い,もしくは,既存の文字化けファイルは大抵,Shift JIS です.

53

Page 54: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

演習2• 続くページ群にある8つの文書を指定したパスにテキストファイルとして保存せよ.

• 参考までに,これらの文書が,次回作成してもらうプログラムの仕様(問題文)の一部となってます.

• 上記終了後に,自身のホーム下の projects フォルダ内の全てのフォルダとファイルを,zipアーカイブに封入せよ.ファイル名は projects.zip とする.

• projects.zip を提出せよ.

• 提出先は演習1に同じ.

54

Page 55: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書1• 自身のホームの下の projects¥print01¥spec.txt

55

Page 56: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書2• 自身のホームの下の projects¥print02¥spec.txt

56

Page 57: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書3• 自身のホームの下の projects¥print03¥spec.txt

57

Page 58: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書4• 自身のホームの下の projects¥exp01¥spec.txt

58

Page 59: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書5• 自身のホームの下の projects¥exp02¥spec.txt

59

Page 60: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書6• 自身のホームの下の projects¥exp03¥spec.txt

60

Page 61: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書7• 自身のホームの下の projects¥scan01¥spec.txt

61

Page 62: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

文書8• 自身のホームの下の projects¥scan02¥spec.txt

62

Page 63: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

zipアーカイブの作成法

• アーカイブに封入したいフォルダを選択し,右クリックで,7zipより,zipに圧縮を選択すれば,作成されます.

63

Page 64: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

理解・修得してること (更新版)1. PCをネットにつないでログインできる.

2. GUIを使いアプリを起動できる.

3. ファイルシステムの構造が理解・操作できる.• 少なくとも自身のホームディレクトリまわりは理解できている.

4. アプリとプロセスの違いがなんとなくわかってる.

5. アーカイブの意味と展開方法を理解できている.• アーカイブの作成方法もわかる.

6. コマンドプロンプトを利用できる.• フォルダの位置把握と,移動,操作ができる.

• アプリを利用できる.特にテキストエディタ.

64

Page 65: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

参考書

出来れば買って下さい,一般書店,ネット書店等.

• C言語プログラミングレッスン 入門編 第3版SBクリエイティブ ISBN-10: 4797398582 2570円• 新・明解C言語 入門編

SBクリエイティブ ISBN-10: 479737702X 2484円

どちらか一冊で結構です.

65

Page 66: 情報科学リテラシー• アプリを繰り返し実行する. • 一発でアプリへの変換が成功しないための繰り返し. • 実行テスト結果が期待通りでないための繰り返し.

本日は以上

流れ解散です

66