プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~ 2010.09.29 プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~ 坂口 利裕
聴講カードについて 履修者の全体調整前なので・・・ 仮受理しておき,2010.10.01で確定した者についてはそのまま正式の受理とします。 その他の人については,(調整結果によるので)別途掲示しますのでその指示に従ってください。 2010.09.29 プログラミング基礎a
このクラスで学ぶこと コンピュータ内部の働きを知る 「プログラム」によるコンピュータの制御法を体験する プログラミング基礎a 2010.09.29 このクラスで学ぶこと コンピュータ内部の働きを知る 「プログラム」によるコンピュータの制御法を体験する 基本的なプログラム表現を学び,論理的思考を訓練する オブジェクト指向プログラミング・GUIプログラミングなど先端の技法を学ぶ プログラミング言語を習得する 既存のプログラムが読め,修正ができる 与件・仕様書に応じて,コーディングができる 2010.09.29 プログラミング基礎a 坂口 利裕
授業のすすめ方 授業のホームページを中心に実施 出欠はとらない 教材 成績評価 http://sakkun.cc.yokohama-cu.ac.jp/text/basisprog/ 出欠はとらない 配布資料の確保・課題の有無の確認は自己責任で(Webページの講義録を参照のこと)。 教材 原則としてWebページ上に準備するので,少なくとも授業開始時(最初の10分程度)に各自で印刷して準備。 成績評価 3~4回程度の実習課題を課す。受理状況は,Webページで公開。成績の60%の配点とする。 総合問題として期末レポートを課す。与えられた仕様に従ったプログラム開発の過程を文書にまとめる。成績の40%の配点とする。 2010.09.29 プログラミング基礎a
プログラミング基礎a 2010.09.29 電子計算機 初の電子計算機 ENIAC 2010.09.29 プログラミング基礎a 坂口 利裕
コンピュータの概念的構造 概念的装置 5大機能 プログラミング基礎a 2010.09.29 2010.09.29 プログラミング基礎a 坂口 利裕
ノイマン型コンピュータの要件 電子回路による動作 二進数による演算 プログラムの(主記憶装置への)内蔵 プログラミング基礎a 2010.09.29 ノイマン型コンピュータの要件 電子回路による動作 物的動作(歯車や電磁石)を伴わずに純粋に電子の力で動作 速度の向上、耐久性 二進数による演算 回路の簡素化 データの信頼性 プログラムの(主記憶装置への)内蔵 プログラムの変更の容易さ、汎用性の向上 2010.09.29 プログラミング基礎a 坂口 利裕
ハードウェアとソフトウェアの関係 ハードウェアの特徴 概念的には5つの装置から構成される 制御・演算装置の仕組みは想像するよりも単純である プログラミング基礎a 2010.09.29 ハードウェアとソフトウェアの関係 ハードウェアの特徴 概念的には5つの装置から構成される 制御・演算装置の仕組みは想像するよりも単純である 複雑な処理を、適切な順序の単純処理の組合せで表現することで、ハードウェアの能力を補うことができる→プログラム プログラムも記憶装置上のデータとして電子化されている 2010.09.29 プログラミング基礎a 坂口 利裕
ハードウェアの構造 AR GR0 GR1 GR2 GR3 PC 0000 0001 0002 制御装置 0003 演算装置 0004 主記憶装置の記憶ユニット アドレス GR0 GR1 GR2 GR3 PC LD GR0,#0010 0000 0001 LD GR1,#0011 0002 制御装置 0003 ADDA GR0, GR1 演算装置 0004 ST GR0,#0012 0005 FR WR IR 0006 … 145 0010 DR 236 0011 0012 レジスタ(一時記憶) 切替え/シフタ 2010.09.29 プログラミング基礎a
ソフトウェアの階層 基本ソフトはハードウェアの制御を担当し、応用ソフトウェアから要求される機能を同じ水準で実現する プログラミング基礎a 2010.09.29 ソフトウェアの階層 基本ソフトはハードウェアの制御を担当し、応用ソフトウェアから要求される機能を同じ水準で実現する 2010.09.29 プログラミング基礎a 坂口 利裕
プログラミング総論 プログラム(ソフトウェア) プログラムの表現の工夫 ハードウェアが理解可能→2進数 メインメモリに記録されたものだけが有効 1つ1つの動作は,ハードウェア(マイクロプロセッサ)に依存しておりシンプル プログラムの表現の工夫 2進数のままでは,操作が難しい 記号的表現の導入→アセンブリ言語 抽象的表現の導入→高級言語 2010.09.29 プログラミング基礎a
プログラミング言語の特徴 CPUの働きをより人間の言葉(英語風の文法)に近い表現で制御する 変数(英数字の記号列)によるデータの表現 プログラミング基礎a 2010.09.29 プログラミング言語の特徴 CPUの働きをより人間の言葉(英語風の文法)に近い表現で制御する 変数(英数字の記号列)によるデータの表現 予約された(使用目的の定められた)キーワード=予約語(reserved word) (条件判断や反復処理のような)制御構造 副手続き(サブルーチン・プロシジャ・関数)の定義と参照による構造化(処理の分担) 2010.09.29 プログラミング基礎a 坂口 利裕
プログラミング言語の種類 高級言語(高水準言語)の目的別分類 汎用言語 特定目的のための専用言語 プログラミング基礎a 2010.09.29 プログラミング言語の種類 高級言語(高水準言語)の目的別分類 汎用言語 Fortran,Cobol,PL/I,BASIC,Pascal, C,C++,Lisp,Prolog, Java, Perl,Tcl など 特定目的のための専用言語 SAS,TSP,S,Mathematica, DYNAMO, AWK,TeX,HTML,PostScript など 2010.09.29 プログラミング基礎a 坂口 利裕
プログラムの翻訳・実行形式 一括翻訳型(コンパイラ型) 逐次翻訳型(インタプリタ型) 与えられたソースプログラムを一括して翻訳(変換後はソースは不要) 変換後のプログラムを用いて実行させる 市販ソフトはこの形式 逐次翻訳型(インタプリタ型) 断片(文)が与えられるたびに翻訳して実行 動作結果を確認しながら対話的に進める 2010.09.29 プログラミング基礎a
次回は… 2010.10.06は休講 2010.10.13 国際マネジメント研究科入試のため C言語によるプログラミング入門(1) 計算表現 プログラミング基礎a 2010.09.29 次回は… 2010.10.06は休講 国際マネジメント研究科入試のため 2010.10.13 C言語によるプログラミング入門(1) 計算表現 C言語の紹介 プログラミングツールとその使い方 文字表示,計算の表現,計算結果の表示 2010.09.29 プログラミング基礎a 坂口 利裕