第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.

Slides:



Advertisements
Similar presentations
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
Advertisements

情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
オブジェクト指向 言語 論 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 河西朝雄 : 「原理がわかる プログラムの法則」,
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
言語処理系(1) 金子敬一.
ループで実行する文が一つならこれでもOK
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
FORTRAN 科学技術計算用 数値演算精度を重視したシステム K=0 DO 10 I=0,N,1 K=K+I 10 CONTINUE
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
オブジェクト指向言語論 知能情報学部 新田直也.
C言語 配列 2016年 吉田研究室.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
プログラミング言語論 理工学部 情報システム工学科 新田直也.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
情報科学1(G1) 2016年度.
条件式 (Conditional Expressions)
  【事例演習6】  数式インタプリタ      解 説     “インタプリタの基本的な仕組み”.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
関数 関数とスタック.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
プログラミング言語入門 手続き型言語としてのJava
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング言語入門.
ソフトウェア制作論 平成30年10月3日.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
Fortranについて 高エネルギー加速器研究機構 平山 英夫.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
情報処理Ⅱ 第2回:2003年10月14日(火).
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
情報とコンピュータ 静岡大学工学部 安藤和敏
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
プログラミング言語入門 2013 (C言語 初級) 演習期間 担当 参考資料 採点 10/24 - 1/23 (全10回) 松澤,鈴木,児玉
コンパイラ 2012年10月1日
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
アルゴリズムとプログラミング (Algorithms and Programming)
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語 1.
ソートのプログラムの流れ 配列の中身を小さい順に並び替える a[1],a[2],…a[n]の値を順に出力する
情報処理Ⅱ 2006年11月24日(金).
情報処理Ⅱ 第7回 2004年11月16日(火).
プログラミング言語論 第2回 篠埜 功.
第6回放送授業.
プログラミング基礎演習 第4回.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2012年10月11日
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
情報処理Ⅱ 2005年11月25日(金).
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
1.2 言語処理の諸観点 (1)言語処理の利用分野
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
アルゴリズム ~すべてのプログラムの基礎~.
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語

計算の方法の図 取り出し型 分割型

変数(variable) 値を覚えておく”もの”(変数には型がある) -代入(assignment) 変数に値を設定する操作, ”変数名” ← ”式” で表す   a:変数とする   a a+b a:=a+b a=a+b など (a:=a+1 は等式ではなく、代入を表す。)

条件判断 if (条件C) then (A) endif 条件Cが成立すればAを実行する。そうでなければ何もせず次に進む (b) if (条件C) then (A) else (B) endif 条件Cが成立すればAを実行する。そうでなければ、Bを実行し、次に進む

(b) if-then-else 文 (a) if-then 文 if 条件が成立するか? then 実行文を実行する YES NO if 条件が成立するか? YES NO then 実行文1を 実行する else 実行文2を 実行する

x=あなたの体重(kg); y=あなたの身長(cm); if ( x> ((y-100)×0.9) then print( 太りすぎです) endif then print( 太りすぎです) else print (正常です)

While 文の例  2 のk 乗がはじめて 10000 以上になる k を求める ------------------------------------------------------------------- i, k: integer; i=2; k=0; while(j<10000) do i:=2i; k=k+1; end

i < 10000 ? while(i<10000) i = 2i, k=k+1 (2) 繰り返し(while文) No Yes i = 2i, k=k+1 k を出力する

手続き型の例 例: 正の整数a, b,a/b の商q,余りr を求める 計算の手順 計算の記述 r ← a q ← 0 引いた回数を商,残りを余りとする 計算の記述    r ← a    q ← 0    while r ≧ b do    r ← r - b    q ← q + 1    done

A 添え字付き変数(配列) A[8] : 文字 と定義すると A[3] の値は 1 A[8] の値は L 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 A P x 1 % r H A L A[3] の値は 1 A[8] の値は L

例 与えられた列を小さい順に並べかえる問題 (ソーティング)での逐次的アルゴリズム ---バブルソート (ソーティング)での再帰的アルゴリズム --- Quick Sort

プログラム QuickSort(w); (wは数の配列) wの列中から任意にひとつ要素aを選ぶ; wを順に見ていって、a以外の要素について、 a より小さいものはw1 の列に、 a より大きいものは w2 の列に付け加えていって列 w1, w2 を作る。 4. Sort を使って、 w1’=Sort(w1), w2’=Sort(w2) としてw1, w2 の並べ替えを行う 5. w=w1+a+w2 を答えとして出力する。

2 6 3 7 5 4 1 8 Sortの実行例 5 2 3 4 1 6 7 8 7 3 6 8 2 1 4 2 1

プログラム プログラム(program) プログラム言語(programming language) 計算を記述したもの コンピュータを使った問題解決における活動単位 一般に,人間には読み書き不可能 プログラム言語(programming language) プログラムを記述するための約束事をまとめたもの 人工的に作られた言語(人工言語) 人間にも読み書き可能

プログラム言語 プログラムを記述するための種々の約束事 "内容"の集まり "表記法"の集まり ある内容のことがらを表すための表記法の集まり 変数への代入(←) 条件付き処理(if ... then ... else ... endif) 反復処理(while ... do ... done) "内容"の集まり 意味(semantics) "表記法"の集まり 構文(syntax)

機械語とプログラム言語処理系 機械語(machine language) バイナリ(binary)プログラム 言語処理系 すべて2進数か,決まった長さのビットパターン バイナリ(binary)プログラム 機械語で書かれたプログラム コンピュータ(ハードウェア)が理解,実行できる 言語処理系 "プログラム言語で書かれたプログラム" を "バイナリプログラム"に変換(翻訳)するシステム

アセンブリ言語とアセンブラ アセンブリ言語 アセンブラ(assembler) 機械語の機能部分や,データの場所に人間が読めるような名前(ニーモニック)をつけた言語 アセンブラ(assembler) "アセンブリ言語で書かれたプログラム" を "バイナリプログラム"に変換(翻訳)するシステム 最も初期から使われてきた言語処理系

高水準言語 高水準言語 人間が理解しやすい形でプログラムを読み書きできる言語 コンパイラを使ってバイナリプログラムに変換する 高水準言語の例: C言語,C++言語, LISP, COBOL, Prolog, Java, Pascal

コンパイラとインタプリタ コンパイラ(compiler) インタプリタ プログラム言語で書かれたプログラム(ソース)を機械語(オブジェクト)に変換(翻訳)するソフトウェア インタプリタ プログラム言語で書かれたプログラム(ソース)を解釈(interpret)してその意味通りの実行を行うソフトウェア

2. インタープリター方式 高級言語で書かれたプログラムを1行ずつ解釈しながら実行する 3.中間言語方式 JAVA

(c)高級言語(ふつうのプログラミング言語のこと) 1.高水準言語(コンパイラ方式) ソースプログラム   (文法上の誤りをチェック) バイナリプログラム コンパイラ オブジェクトプログラム I/Oなどのライブラリ

Javaの実行過程 Java のソースプログラム クラスファイル(中間言語) インタプリタA インタプリタB インタプリタC          クラスファイル(中間言語) インタプリタA インタプリタB インタプリタC 機械 A 機械B 機械C

高水準言語の実行のされ方 高水準言語プログラム コンパイラ 中間言語 プログラム インタプリタ プログラム コンパイラ 仮想機械 プログラム バイナリプログラム コンピュータハードウェア