前回(2021/04/16)の復習 初回回(2021/04/09)の内容 ガイダンス 去年(コンピュータ概論)と同じ 演習環境を作る Ubuntu 上で、gcc をインストール Windows と Ubuntu のファイル共有 ( c:\usr\c の作成 ) # 実際にコンパイルできる ( gcc が動く ) 事を確認した 前回(2021/04/16)の内容 プログラミング <= ソフトウェア概論の目標 A/B 一年の講義が終了したら、「プログラミングができるようになる」 プログラム : コンピュータへの指示を並べたもの プログラミング : プログラムを作る 「作る(動詞)」=> How to / やりたいことを、どう「表現」してゆくか ? How to => Rule ( 文法、単語の意味.. ) 語学を学ぶ 「表現」 => 思考法 プログラミング固有の発想法 プログラミング言語 ( C 言語 ) プログラムを記述するための人工言語 ( <=> 自然言語:日本語,英語..) 効率はよいが、融通が利かない => 色々な種類がある C 言語 (<= ソフトウェア概論で学ぶ) python (<= AI でよく使われるので、最近有名) Fortan (<= 最初のプログラミング言語) etc.. 実は、コンピュータ自身が理解できる言語は 機械語とよばれている言語だけ => CPU 毎に異なる <= いちいち対応できない 高級言語 人間にわかりやすい言語でプログラムを書く => 機械語に翻訳、あるいは通訳して、そのプログラムをコンピュータにやらせる C 言語の場合 C 言語という高級言語で記述した、プログラム(ソース)を 機械語で記述されたプログラム(オブジェクト)に 通訳(コンパイル)して、利用する 「Hello, World」プログラム => 完全で、わかりやすいプログラム例 # => 自分で新しいプログラムを作るときには、出発点になる 実習内容 Ubuntu でのコンパイル 課題の提出 先週 : 時間を早めた 「順接/関数の作り方」をやらなかった ( 課題 2, 3 をやっていない ) => 前回の続き 関数 => 引数付き関数 分割コンパイル / make [順接] 「Hello, World」 C のプログラムは、あるが、 => コンパイルして、実行できる <= 書いてある事の意味は説明されていない プログラムは、命令をならべたもの 命令 : コンピュータに何かをやらせる記述 例 : 「printf ( "文字列" );」が、 コンピュータに対して、「文字列」を表示させる「命令」である => 命令を並べたら.. ? C 言語の命令は、 命令を並べると、その命令は、並べた順に実行される => この仕組みを「順接」と呼ぶ # 順接を学べば、本質的に「有限な結果」であれば、 # その結果を出すようように、プログラムを書く事ができる [関数] 命令列に対して、名前を付ける事ができる => 名前を付けた命令列は、その付けた名前だけで、(再)利用できる 名前を付けた命令列の事を「(C 言語)関数」 !! 数学で学ぶ「関数」(今の時点では..)異なる [引数付き関数]