プログラミング論 第一回 ガイダンス(C言語の基礎知識) 本日の内容 コンピュータとは? – ハードウェアとソフトウェア ソフトウェアの指示 – 機械語,アセンブラ,高級言語 – C言語とは? コンパイル,リンクとは? ~とりあえず動かしてみよう~ コンピュータとは? 仕事(データ処理)をするための箱・部屋 そもそも単なる四則演算の計算機 ENIAC, 1946 A.Kay, ダイナブック思想,1972 今ではいろんな事に利用されている 余談ですが。 http://www.maniacworld.com/steve-jobsvs-dennis-ritchie.html コンピュータの構成 ハードウェア – ハードディスク,メモリ,ディスプレイなど – 仕事をするときの机,本棚,引き出しに相当 ソフトウェア – Windows, Word, Excel, PowerPoint など – コンピュータで仕事をするための手順書(プログラム) – プログラムの仕様書(マニュアル) コンピュータとは? つまり・・・ コンピュータは,プログラムが無ければ,ただの箱 ということは・・・ プログラムが分かれば,コンピュータに好きな事を指示出来る プログラミングとは,コンピュータに命令する指示を書く事 プログラミング言語とは,コンピュータに命令するときの言葉 ソフトウェアの指示 そもそも,コンピュータはどんな「言葉」を 理解するのだろう? 信号が「ある」「ない」の組み合わせで指 示を理解する。 「ある」=’1’, 「ない」=’0’ ‘1’と’0’の組み合わせが「言葉」となる ソフトウェアの指示 では,この指示の意味は? 0 1 0 0 1 0 0 0 これは,「あるメモリの内容を1だけ減らす」という意味になる わっ,分からない・・・・ これが,「機械語」。コンピュータはこの言葉しか分からない。 ど,どうしよう・・・・ ソフトウェアの指示 しかたない,機械語を勉強して覚えるか。 無理!! じゃ,どうする?? 機械語を,意味が分かる言葉に置き換えよう! 「アセンブラ」 ソフトウェアの指示 「あるメモリの内容を1だけ減らす」 機械語 0 1 0 0 1 0 0 0 アセンブラ DEC *「decrement」(減少)からつけられた では,簡単な四則演算, 「data1に5を加えた結果をdata2に保存する」 という処理を考えてみましょう。 ソフトウェアの指示 コンピュータの中では,こんな感じ。 – data1の内容を,あるメモリ位置’AX’に入れ る。 – ‘AX’の内容を5だけ増やす。 – ‘AX’の内容をdata2に入れる。 アセンブラだとこんな感じ。 – MOV AX, data1 – ADD AX, 5 – MOV data2, AX ????? ソフトウェアの指示 やっぱり, 「data2 = data1 + 5」 と書かないと,直感的に理解出来ない。。 高級言語 C,Fortran, BASIC, Pascal, COBOL, LISP, Prolog, Java など ソフトウェアの指示 では,なぜC言語なのか? – もともと,UNIXというオペレーティングシステムを記 述するために開発された言語 – きめ細かい記述が可能で実行速度も速い,かつ書 きやすい(記述容易性) – 便利な機能が多くあり,現在では「汎用プログラミン グ言語」と呼ばれる – ワープロソフトから表計算ソフト,科学技術計算プロ グラムからゲームまで,さまざまなものが開発可能 – でも,一番の理由は「無料で配布」されたからじゃな いか? – 情報処理技術者試験でも採用 コンパイル,リンクとは? ちょっと待った! コンピュータは,機械語しか 理解出来ないのでは?? 高級言語を機械語に「翻訳」すればいい コンパイル コンパイル,リンクとは? コンパイル – C言語などで記述したプログラムを,処理単位ごとに 機械語に変換する事 – 変換するためのソフトウェアを「コンパイラ」という リンク – 標準ライブラリ等を統合して実行可能な機械語の ファイルを作成する – コンパイル後に行われるが,通常はコンパイル指示 コマンドにより自動的にリンクまで行われるので気に しなくて良い では,実際にやってみます。
© Copyright 2024 ExpyDoc