コンピュータ基礎I 第三回言語処理系 平成18年4月27日 藤川 賢治 質問など Q. 内容は去年と全く同じか? A. 少し変えます。 Q. 課題さえ提出すれば特別に出席の義務は無いのか? A. 出席して課題提出すること Q. Cyber Vineが見られません A. これは何でしょうか? Q. 授業で教えていただいたURLですけど、いまだに使い方がわかりません。また、授業で見ているものをプリントにして配ってもらえたら嬉しいです。 A. プリントでは配りません。 場所は、 http://www23.atwiki.jp/hudikaha/58.html に変更しました。 Q. 普段から全くと言っていいほどパソコンに触らないので、授業についていけません A. 授業終つてからでも訊きにきて下さい。 また分かっている友達にも訊いて下さい。 Youtube ユーチューブ (ようつべ) - 動画共有サイト、いろいろな動画を見ることができる。 - 著作権上の問題が起きている。 - 投稿(Upload)すると、著作権法違反、刑事罰。申告罪。 - 刑事罰になるのは、日本くらい。 - 見るのは違反にならない。ただし、今後法改正の予定 - サーバ管理者は、連絡を受けて、すぐに消せば罪に問われない。 - Sony も動画投稿共有サイトを今日、スタート。 様々なコンピュータ言語 - コンパイラを通して機械語にするもの - アセンブリ言語 (assemble language) 機械語と一対一の対応が取れる言語 - C言語、C++言語 システム記述のための言語、機械語に近い - インタプリタを通し実行するもの - Perl, PHP, ruby(日本製) WebサーバのCGIでよく使われる - JavaScript Webブラウザで実行できるインタプリタ言語 - Lisp リスト処理用言語、エディタの言語としても広く使われている - Excel などのマクロ - コンパイラで中間言語に翻訳し、 インタプリタで実行するもの - フラッシュ(Flash), Java コンパイルしたものをWebサーバ上に置き、 Webブラウザ、もしくは携帯電話で実行することが多い プログラミング例 - エクセルのマクロ - C - Lisp - JavaScript ! エクスクラメーションマーク & アンパサンド ' シングルクオーテーションマーク, アポストロフィ " ダブルクオーテーションマーク . ピリオド , コンマ : コロン ; セミコロン ^ ハット ~ チルダ # シャープ、ナンバー | パイプ / スラッシュ \ バックスラッシュ _ アンダースコア * アスタリスク * は 掛ける(掛算)の意味で使う、x と紛らわしいから / は 割る(割算)の意味で使う こういう表記は世界的には珍しくない 日本 1234.56 1,234.56 1234,56 1.234,56 エクセルのマクロ(一部抜粋) A B C D E F 1 名前 国語 英語 数学 平均 合否 2 デモ子 @sum(B2:D2)/3 3 デモ美 =IF(E3>=60;"合格";"不合格") 4 デモ代 5 平均 @sub(B2:B4)/3 C 言語 ソースコード(元のプログラム) #include main(){ static int a; // a という変数を使うという宣言 static int b; // b という変数を使うという宣言 static int c; // c という変数を使うという宣言 a = 1; // a という変数に 1 を代入 b = 2; // b という変数に 2 を代入 c = a + b; // c という変数に a と b を足した値を代入 // 結果の表示 printf("a の値は %d、b の値は %d, c の値は %d です\n", a, b, c); } #include #include main() { static int val; val = 2; for (vol < 4294967296) { printf("val = %d\n"); sleep(1); } } Lisp (setq seikaku-list '(("デモ子" . "明るい") ("デモ美" . "暗い") ("デモ代" . "理解不能"))) (assoc "デモ美" seikaku-list) (cdr (assoc "デモ美" seikaku-list)) JavaScript - 例) http://v223.jorudan.co.jp/norikae/cgi-bin/norikeyin.cgi?proc_sw=0 - ブラウザで、ソースを表示させる - で囲まれた部分がプログラム(ソースコード) Hanoi の搭 - PowerPoint 資料 - Emacs Lisp による実演 用語 - ハードウェア(hardware, ハード) 金物 パソコン本体 キーボード ディスプレイ - ソフトウェア(software, ソフト) 形は無い、コンピュータに対する命令書、昔は紙だった CD-ROM に保存されていたり、ネットワークから取得する - アプリケーション (application) 応用ソフトウェア - OS (operating system オペレーティングシステム) 基本ソフトウェア 具体例) WindowsXP, MacOS X, Linux - インストール (install, 導入) ソフトウェアをハードウェアに入れること UNIX 系の OS - 少し前はワークステーションと呼ばれる少し高級なコンピュータ用のOSだった - 現在はパソコンとワークステーションの厳密な境目は無い - Linux が有名 - オープンソースコード (Open Source Code), フリー(無料)ウェアとも呼ばれる プログラムが公開されている - フィンランドの Linus Torvalds が書き始め、 現在は世界中の人が開発に携る - 親戚 NetBSD、FreeBSD、OpenBSD など なお MacOS X は FreeBSD を基にしている Windows アプリケーションのインストール - OpenOffice のインストール エクセルのマクロ(一部抜粋) F2を押すと入力モードになる 一般的な関数 f(x) 例) x+x^2 A B C D E F 1 名前 国語 英語 数学 平均 合否 2 デモ子 =sum(B2:D2)/3 A B C D E F 1 名前 国語 英語 数学 平均 合否 2 デモ子 =sum(B2:D2)/3 3 デモ美 =IF(E3>=60;"合格";"不合格") 4 デモ代 5 平均 =sum(B2:B4)/3 セル F2 を =IF(E2>=80;"優";IF(E2>=70;"良";IF(E2>=60;"可";"不可"))) とすることで、優、良、可、不可、を表示できる 一般のプログラミング言語風に書くと、 =IF (E2>=80; "優"; IF (E2>=70; "良"; IF (E2>=60; "可"; "不可" ) ) ) C言語の場合 main() { int E2 = 65; if (E2 >= 80) { printf("優"); } else { if (E2 >= 70) { printf("良"); } else { if (E2 >= 60) { printf("可"); } else { printf("不可"); } } } } フローチャート (flow chart, 流れ図) | / \ / \ Yes +-------------+ < E2>=80 >----+ "優" と表示 | \ / +-------------+ \ / | No | / \ / \ Yes +-------------+ < E2>=70 >----+ "良" と表示 | \ / +-------------+ \ / | No | / \ / \ Yes +-------------+ < E2>=60 >----+ "可" と表示 | \ / +-------------+ \ / | No | +----+----------+ | "不可" と表示 | +---------------+ 課題 1. JavaScript で書かれたサイトを捜して、ソースコードを確認せよ。 URL (http://www.yahoo.co.jp/abc など) を送るように。 [表示] -> [ページのソース] などで調べる。 検索機能を使って、Javascript という文字列を探す。 (a)