• 検索結果がありません。

情報科学リテラシー

N/A
N/A
Protected

Academic year: 2021

シェア "情報科学リテラシー"

Copied!
49
0
0

読み込み中.... (全文を見る)

全文

(1)

情報科学リテラシー

2019年6月4日

海谷 治彦

(2)

目次

• PCルーム利用一般 • PCルームでのプログラム開発 • まぁ,緊急の場合に利用するということで • 別紙も利用 • ファイル,文字,バイト,ビット • 演習問題 2

(3)

PCルームについて

• ワード,エクセル,ブラウザ等いろいろ使えるよ. • 印刷もできるよ. • Edgeがない・・・Chrome を使うように • IEは使ってはいけない. • notepad++ は無い • コルタナが無い・・・検索は可能 • ホームパス(ホームディレクトリ)の場所が独特, ネットワークの場所ってのになってるはず. • サインオフの方法が独特,注意. 3

(4)

ホームの場所

• Hドライブらしい.ちょっと特殊. • このHドライブはネットワークドライブなので,どの席に 座っても,同じファイルが見える(はず) • 教員と学生が同じかどうかわからない. 4

(5)

クロームを探す

(6)

Notepad++ USB起動

• PCルームのエディタはどうしようもないのしかイン ストールされてません. • 新しいアプリを自身で追加することもできません. • ただし,USBメモリはつけられるはずなので,USB メモリから起動可能なアプリならPCルームでも追 加利用可能です.

• 貸与PCにある gcc (mingw) や notepad++ はUSB からの起動も可能です.

• ただし,自身でPATHの設定が必要となります.

• Windows PATH 設定 あたりでググる.

• 興味ある方は,試してみてください.

(7)

PCルームでのC言語の自習

• 一応,できる. • Cygwinという他の環境を使うことになる. • a.exe が使えない • F-secure とかいう非正規のセキュリティソフトのせい. • 対策法は以下に紹介. 7

(8)

Cygwin使い方の概要

• 別紙 p1guide4.pdf を参照 • emacsがつかいにくい • notepad++ が無いので,notepad を使うとか. • コマンドがUNIX準拠 • a.exe が使えない. 8

(9)

PCルームでの実習環境

• Cygwinと呼ばれるWindows上でUNIX/Linuxをほ ぼ完全に模倣する環境を用います. • 教科書[レ]の「UNIX」と書いてある表記のほうを見てく ださい. • 自分が作成したプログラム等はバックアップしてく ださいね. • 誤って消したりすると単位的に死にますし. • 基本,クラウド(Dropbox等)やUSBメモリ等にコピーを残 す. 9

(10)

Cygwinの起動

10

中略

起動にかなりの時間がかか る場合が多い.

(11)

Cygwin64 Terminal

• 一般に「shell」とか「コマンド インタプリタ」とか言わ れるプログラム. • プログラム名を打ち込んで,[Enter]キーを押すと, 当該のプログラムが実行される. • PCルームで主に使えるアプリ • notepad • Windowsのメモ帳 • ソースプログラムのファイルを作成するのに使う. • ファイル名は「nantoka.c」等,拡張子を .c とする. • gcc もしくは cc (実体は同じもの) • C Compiler • コンパイラ. • ソースプログラムを実行ファイルに変換するプログラム. • ソースプログラムに誤りがあると,その旨を表示する. 11

(12)

良し悪し Cygwin64 Terminal

• 貸与PCで使っているコマンドプロンプトよりかなり賢い.た だし,コマンドを知っていれば. • 実は貸与PCでも bash というコマンドを使い,Cygwinとほぼ同じ シェルを利用できます. • 起動が重い. • Windows上でUNIXを模倣しているため,ファイルシステム の表示が独特. • ちゃんと対応を理解していないとエクスプローラーからファイルの 場所が把握できない. • Windows独自のアプリとCygwinに特化したアプリで多少の 使い分けが必要. • 利用者には関係ないがディスク容量が沢山必要. 12

(13)

プロンプト

• Terminalが人間の入力待ち状態である際に出てる 短い文字を「プロンプト」といいます. • Cygwinのプロンプトは若干長いです.(左) • 邪魔な場合,短くすることができます.(右) 13

(14)

コマンドがUNIX/Linux準拠

• pwd 現在のフォルダ位置を表示 • cd は同じ • cd ~ 自分のホームに戻る • Winの場合 cd %HOMEPATH% • md じゃなくて mkdir • rd じゃなくて rmdir • dir じゃなくて ls ※ 実は皆さんの貸与PCでも上記コマンドは利用可能. • フォルダの区切りが ¥ じゃなくて / • これはWebと同じでむしろこっちのほうが自然. 14

(15)

Cygwinのファイルシステム

• WindowsのファイルシステムをLinux風に見せるために,多 くの細工をしている. • よって,Win側のエクスプローラーからどこにファイルがあ るかが,非常にわかりにくい. • まぁ,慣れればわかるのだが. 15

(16)

テキストエディタについて

• ソースプログラムを書くためのワープロ. • UNIXでは vi (実際にはvimと呼ばれるviクローン) というエディタが一般的ですが,とても癖が強いで す. • Cygwinではnotepad(Windowsのメモ帳)も利用でき るので,面倒な方はnotepadの利用で結構です. • Cygwinでも emacs はありますが,なぜか,非常に 重いです. 16

(17)

エディタ色々

(18)

emacs

• 独立したWindowで起動できない.

(19)

一応,コンパイルもできるが

• a.exe の実行をPCが阻害している. • よって,下記のように –o という指定で,アプリ名を 別途指定する必要がある. • アプリ名の前に ./ というのをつけないといけない. 19

(20)

notepadを使う場合の &

• メモ帳(notepad)を使う場合は,コマンドとファイル 名の後に & をつけてください. • & をつけないと,メモ帳を終了するまで,ターミナ ルを使うことができません. 20

コレ

(21)

notepadの起動

21

notepad hello.c & と入力して, Enterキーを押す. コレがCygwin64 Terminal notepad (メモ帳)が起動するの で,プログラムの内容をうって, 保存する.

(22)

日本語の扱いについて

• ファイル内において日本語は使わないでください. • Latin1の拡張部分も使わないで! • ドイツ語等にある ë みたいなの. • ファイル名に日本語を使わないでください. • ファイルの中身(ソースプログラム内)に記述しないでく ださい. • 「日本語の空白文字」等,つまらないトラブルの原因に なるので,本授業ではファイルでの日本語利用を禁止 します. • 質問等は日本語でも結構です. 22

(23)

23

復習: Cプログラムの開発の流れ

プログラミング 手作業 エディタを使用 コンパイル 自動変換 コンパイラを使用 実行 生成された 実行ファイルを使用 ソースプログラム (ソースコード hoge.c 等) 実行ファイル (ロードモジュール a.out 等) hoge.c a.out

(24)

いくつかの用語確認

• ソースプログラム(プログラム) • Source Program • Source Code (ソースコード)とも呼ばれる. • C言語の文法に則して記述されたコンピュータへの命 令が記述されたファイル • 実行ファイル(アプリ) • Load Module (ロードモジュール)とも呼ばれる. • 実行可能プログラムとも呼ばれる. • ファイルの中身はコンピュータの言葉(マシン語)による 命令内容他が書いてある. • 人間が読んでも意味がわからない. • Terapad.exe 等のファイルのこと. • 特にファイル名を指定しなければ,a.exe という名前に なる.(本物のUNIX系OSの場合は,a.out) 24

(25)

警告等が文字化けしたら

• コンパイラのエラー等 の警告が左記の図の ように,文字化けしたら, • 以下のコマンドをうって ください. export LANG=C • 警告は英語になります が,文字化けは解消さ れます. 25

(26)

Cygwinでの日本語表示設定 1/3

• 警告等の日本語を表示したい場合,以下の手順で, 設定を行います. • まず,右クリックでメニューリストを出して,[Options]を 選択する. 26

(27)

Cygwinでの日本語表示設定 2/3

• Options画面で[Text]を選択

(28)

Cygwinでの日本語表示設定 3/3

• Locale と Character set という値をそれ ぞれ以下に設定. • Locale ja_JP • Character set は, UTF-8 (Unicode) を 選択. 28

(29)

p1guide4

• Cygwinでの実習のガイドを紹介 • 別ファイル参照

(30)

ファイルと文字について

一部は復習

(31)

電源を切ってもデータが残ってる!

• コンピュータの電源を切って再起動しても,データ は残っている. • ワードの文書,MP3ファイル,画像ファイル,プログラム ファイル・・・・ • これは,コンピュータの中でデータを保管してくれ ているからである. • データを保管する単位をファイルと呼び,保管庫を ファイルシステムと呼ぶ. • ファイルシステムはOSの一部であることが多い. • ファイルシステムでは,特定のファイル群をまとめ て保管する機能がある. • このまとめる部分をフォルダやディレクトリと呼ぶ. 31

(32)

32

オペレー

ティング

システム

Operating System (OS)

• Windows 10, 8, 7, XP ... • UNIX • Linux • OS X (MacOS) • Android • iOS • ... 興味がある人は2年後期に 「オペレーティングシステム」の授業あります.

(33)

フォルダもしくはディレクトリ

• 下記はwindowsにおけるユーザーkaiyaの標準的 なダウンロードファイルが置かれるフォルダ. • 多くのOSでは,このような階層構造を用いてファイ ルを整理して保存している. 33

(34)

ほとんど全てのデータはファイル

• 広く使われるOS(Windows等)では,ほとんど全てのデータはファ イルという単位で保管されている. • 例えば, • MSワードの文書 • MP3の音楽 • MP4の動画 • Cのプログラム • 実行可能プログラム (cc.exe やMSワード自体) • HTMLファイル 34 例えば,マイクロソフトワードは上記のファイルである.

(35)

特殊文字 (一部復習)

• C言語等では表示しにくい特殊文字を ¥n 等の形式で表現し,文字型の変数に格納できる. • 内部的には 8bitのデータ列のどれかに対応する. • ¥n 改行 • ¥r キャリッジリターン 行頭に戻る制御文字 • ¥0 全ての値がゼロの文字 • ¥t タブ 35 p.9-(明)

(36)

余談: ¥n と ¥r の歴史的違い

• 由来はタイプライターの時代までさかのぼる. • タイプライターは, • 次の行にいく • 行の先頭に戻る が異なる命令(機械的な動作)だった. • それぞれに対応するのが,¥n ¥r • PCのキーボードでは,あまり意味が無いのだが, • Linux/UNIX系は ¥n が改行 • Winでは ¥r¥n の両方が必要 • Macでは ¥r だけ? とテキストファイルでの改行の流儀が分かれてしまった. 36

(37)

普通の文字

• コンピュータで標準的に扱われる文字は,ASCII と呼ばれる英数文字と記号である. • AからZ aからz 0から9 %, # 等の一部記号 • 標準的: ここでは,変数名,関数名等に用いること ができるものとしている. • 日本語や韓国語の文字,ドイツ語等の拡張部分 ( ä 等,通常アルファベットに装飾があるもの, いわ ゆる latin1)は標準的ではない. • 本授業では,プログラム内では,ASCIIコードの範 囲の文字のみ使ってください. • コメント内は除く 37 p.7-(明)

(38)

ASCIIの表

38

例えば,100 0001 という7bitの値を文字 A と規定している. 101 1100 の \ が,日本のPCにおける ¥ になっている.

(39)

バイト,ビット

• デジタルコンピュータの最小情報単位はbit (ビット) と呼ばれ,二進数の一桁に相当する. • 例えば,たった1bitでも,「ある人の生死」,「受験の合 否」等の情報を表現することができる. • 数字や文字等,複雑な情報は,この1bitを複数個, 束ねて表現する. • 8bitを束ねた情報を1byte (1B 1バイト)と呼び,わり と広く使われている. • 例えば,英数文字の一文字は1Bで表現できる. • コンピュータのメモリは,この1B単位の情報を格納 できる配列みたいなものである.(後述) 39

(40)

バイト表現と16進法

• 1Bは8bitなので,原則,0/1の 列を8個かかないといけない. • これはかなり面倒かつ読みに くいので,1Bは通常,16進法 の2桁で表現する. • 対応表は左記の通り. • 例えば,文字の M は, 0100 1101 なので, 4D と表現できる. 40 二進法 十六進法 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F

(41)

対応表 (ASCII code)

41 例えば, 文字 D は 0100 0100 文字 3 は 0011 0011 とコンピュータ内部では 表現されるのが普通. ¥ はホントは 〵だけど, ¥ と表示されてしまう.

復習

(42)

参考 箱の大きさ

• 型によって一個の変数の大きさは異なる.

• char を1箱(1B)とすると,

• int 4B分

• 実はintは真に整数では無い • 値に上限と下限がある.(±21億が多い)

• float 4B分

• double 8B分

が一般的. • しかし,C言語にはこの辺の明確な規定が無い. 42 ‘x’ 15 文字 整数

復習

++

(43)

日本語等の文字コード

• 文字をコンピュータ内で,どのようなデータで表現 するかの取り決めを文字コードと言う. • 日本語等,英数字以外の文字コードは多数,異な る流儀が存在する. • 英数字もASCII以外の流儀がある (あった) • アプリ側で文字コードを正しく認識する機能,もしく は扱う機能が無いと文字化けする. 43

(44)

日本語等のための文字コード

• ASCIIによる英数字との互換性が重要. • 以下は互換性がある. • Shift-JIS (SJIS) • 概ねWindowsで広く用いられている. • 正確にはコレが拡張されたWindows31JがWindowsで 広く使われている. • UTF-8 • 現在,広く用いられているコード. • コレの親戚にあたるUTF-16はASCIIと互換性が無い. • JIS, EUC等も互換性があるが,今は使われなく なった. 44

(45)

ASCIIの範囲の文字なら,

SJISでもUTF-8でも同じ

英語で済ませば

面倒に巻き込まれない.

(46)

前回演習の解答例

dotcampus参照

(47)

来週の伏線

Java, Eclipseダウンロード

演習説明とともに簡単に解説

演習1,2,3の問題はdotcampusに

(48)

演習4 (これは金曜まで)

• 以下の仕様に基づくプログラムを作成せよ. • dotcampusに提出

• プロジェクト名 odawara

• プログラム名 main1.c main2.c main3.c ....

• 前回と同様,問題の区切りをプログラム冒頭にコメントとして記述せよ. • 前回と同様,段階をおって複数のバージョンを作ってみよ. • 例えば,v1では在来線限定にして,v2では新幹線を考慮する等. 48 利用者は東京から小田原まで在来線でいくか,新幹線でいくかを指定する. 在来線の場合,0 を入力し,新幹線の場合,1を入力する. 新幹線の場合のみ,利用者は自由席か指定席かを指定する. 自由席の場合,0 を入力し,指定席の場合,1を入力する. システムは料金を表示する. 尚,東京から小田原までの乗車券は1500円,新幹線自由席特急券は1700円, 新幹線指定席特急券は2000円とする. 新幹線の場合,乗車券と特急券の両方が必要である.

(49)

本日は以上

参照

Outline

関連したドキュメント

(使用回数が増える)。現代であれば、中央銀行 券以外に貸付を通じた預金通貨の発行がある

HORS

LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

①物流品質を向上させたい ②冷蔵・冷凍の温度管理を徹底したい ③低コストの物流センターを使用したい ④24時間365日対応の運用したい

「系統情報の公開」に関する留意事項

【原因】 自装置の手動鍵送信用 IPsec 情報のセキュリティプロトコルと相手装置の手動鍵受信用 IPsec

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)