情報とコンピュータ 静岡大学工学部 安藤和敏 2004.10.25.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
初年次セミナー 第13回 2次元グラフィックス(1).
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
初年次セミナー 第8回 データの入力.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
情報処理 第12回.
情報とコンピュータ 静岡大学工学部 安藤和敏
Fortran と有限差分法の 入門の入門の…
プログラミング演習(1組) 第7回
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
初年次セミナー 第4回 整数と実数の取り扱い.
情報基礎(Week6) ≪Excel 2007を使った表計算の基礎≫
ファーストイヤー・セミナーⅡ 第8回 データの入力.
データ構造とアルゴリズム 第10回 mallocとfree
第12回構造体.
数値計算及び実習 第3回 プログラミングの基礎(1).
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
情報科学1(G1) 2016年度.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
初年次セミナー 第2回 文字の出力.
プログラミング入門2 総合演習課題 2008年 1/7, 1/21 実施 これまでの講義内容についての腕試し
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
整数データと浮動小数データ 整数データと浮動小数データの違い.
繰り返し計算 while文, for文.
FlexとBison+アルファ -実習編-
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
プログラミング演習(2組) 第8回
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
コンピュータに計算させる命令を確かめよう!
情報とコンピュータ 静岡大学工学部 安藤和敏
前回の練習問題.
第7回 条件による繰り返し.
情報とコンピュータ 静岡大学工学部 安藤和敏
情報とコンピュータ 静岡大学工学部 安藤和敏
すべてのレポートの提出期限 1月22日 火曜日 これ以降は特殊な理由が無い限り レポートを受け取りません!
計算機構成 第2回 ALUと組み合わせ回路の記述
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
情報処理Ⅱ 第2回:2003年10月14日(火).
C言語 はじめに 2016年 吉田研究室.
情報とコンピュータ 静岡大学工学部 安藤和敏
データ構造とアルゴリズム 第11回 リスト構造(1)
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
基礎プログラミング演習 第6回.
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
情報とコンピュータ 静岡大学工学部 安藤和敏
ウェブデザイン演習 第6回.
情報処理基礎 2006年 6月 29日.
1.Scheme の式とプログラム.
標準入出力、変数、演算子、エスケープシーケンス
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 数値計算における計算精度と誤差
情報処理Ⅱ 第2回 2004年10月12日(火).
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
printf・scanf・変数・四則演算
情報とコンピュータ 静岡大学工学部 安藤和敏
Presentation transcript:

情報とコンピュータ 静岡大学工学部 安藤和敏 2004.10.25

3章 数値計算と関数の学習 数値計算をしてみよう 単純な計算 関数 ループの作成と関数の学習 最適値の探索 情報を配列に格納する 3章 数値計算と関数の学習 数値計算をしてみよう 単純な計算 関数 ループの作成と関数の学習 最適値の探索 情報を配列に格納する 総和,極小,極大を求める プログラミングのパターン

数値計算をしてみよう(1) 20歳の青年が60歳までに1億円貯めるには,毎月いくら貯金しなければならないか?

数値計算をしてみよう(2) 1000㎡の錫(すず)の板で円柱をつくるとき,その円柱の体積が最大になるのは正確にどの寸法のときか? 最適化:ある状況におけるパラメータの最適値を求める作業.

数値計算をしてみよう(2)

変数の型 変数は,その変数がどのような値を取ることができるか,つまり,変数の型を指定しなければならない. Pascal で用いられる変数の型 例: var position1: string; var 変数名: 変数の型; Pascal で用いられる変数の型 integer: 整数型 (例:1,2,3,…, -5,-6) string: 文字列型 (例:’安藤’, ‘kazu’); real: 実数型

実数(real)型の変数 実数(real)型の変数の値は,仮数部と指数部の二つの部分からなる. 例: 177 = 1.77 × 102    177 = 1.77 × 102 指数部 仮数部 現在のPCで表現できる実数の絶対値の範囲は,10-45~1038,仮数部は7~8桁.

実数(real)型の変数の宣言 例: var x, y, z: real; var 変数名の並び: real;

実数(real)型の変数 var x, y, z: real; begin x := 12.0; y := 13.3 + x; z := (x + 17.2) * (121 – (y / x)); end. x y z 1.2×101 1.2×101 2.53×101 2.53×101 3.471637×103 3.471637×103

四則演算 加算(足し算) ( + ) 減算(引き算) ( - ) 乗算(掛け算) ( * ) 除算(割り算) ( / )

円柱の体積の計算 πを円周率,r を円柱の底面の半径,h を円柱の高さとすると,この円柱の体積 V は これをPascalで書くと, V := 3.14159 * r * r * h;

円柱の体積の計算のアルゴリズム 半径 r を読み込む. 高さ h を読み込む. V = πr2h を計算する. 体積 V を書き出す.

円柱の体積の計算のプログラム program CyllinderVolume(input, output); var r, h, V: real; begin writeLn('円柱の半径を入力して下さい.'); readLn(r); writeLn('円柱の高さを入力してください.'); readLn(h); V := 3.14159*r*r*h; writeLn('円柱の体積は',V,'です.'); end.

円柱の体積の計算のプログラム program CyllinderVolume2(input, output); var r, h: real; begin writeLn(‘円柱の半径と高さを入力して下さい.'); readLn(r,h); writeLn('円柱の体積は',3.14159*r*r*h,'です.'); end.

金利計算の公式 金利は少数で表されているとする.(12% = 0.12) 新預金残高 = 元の預金残高 + (元の預金算残高*金利) savings を預金残高,interestrate を金利とすると,Pascal の計算は, savings := savings + (savings*interestrate);

預金残高計算のアルゴリズム 預金の初期残高 savings を読み込む. 一定期間の金利 interestrate を読み込む. savings := savings + (savings*interestrate) を計算する. savings を書き出す.

預金残高計算のプログラム program FindSavings(input, output); var savings, interestrate: real; begin writeLn(‘預金の初期残高を入力して下さい(単位:万円).'); readLn(savings); writeLn('金利を入力して下さい.'); readLn(interestrate); savings := savings + (savings*interestrate); writeLn(‘一期後の預金残高は,', savings:6:2, '万円です.'); end.

注意(演算の優先順位) x = 2, y = 3, z = 4 のとき,次の計算結果はどうなるか? result := x + y * z;

注意(演算の優先順位) プログラミング言語では,曖昧な状況では,以下のような優先順位を持っている. 優先順位 乗算・除算(*, /) 加算・減算(+, -) x = 2, y = 3, z = 4 のとき,result := x + y * z; を実行した結果は,14.

注意(演算の優先順位) 優先順位の等しい一連の計算では,左から右へ計算が行われる. x = 6, y = 2, z = 3 のとき,result := x / y * z; を実行した結果は, (6/2)*3 = 9   (6/(2*3)=1ではない.) 括弧を使うことで,優先順位を強制的に指定できる. result := (x + y) * z; (result は 24). result := x + (y*z); (result は 36);

注意(誤差) コンピュータのメモリには,有限の桁数の数しか記憶できない. 例えば,1/3を小数で表すと 0.33333….であるが,コンピュータの中では,1/3の計算結果は 0.333333 として記憶される.

ErrorDemo program ErrorDemo(input, output); var data, extra: real; begin readLn(data); readLn(extra); data := data + extra; data := data - extra; writeLn(data:30:2); end.

data = 100 Extra = 100000000000000000000000 data = data+extra = 100000000000000000000100 = 100000000000000000000000 data = data- extra = 0

関数(言語による記述) 関数とは,入力を受け取り,出力を返す機能. 例) 人の名前を受け取るとその人の父親の名前を返す機能.(この関数を F と呼ぶ.) F 入力 出力 小泉孝太郎 Abel Issac Abraham Adam 小泉純一郎 例) 国の名前を入力として,首都名を返す関数, 半径と高さを入力としてその円柱の体積を返す関数.

関数(数式による記述) 数学的には,関数名の後の()の中に入力を書き,出力を = の右に書く. 例) 父親関数 F の場合は, F(Issac) = Abraham F(Abel) = Adam F(小泉孝太郎) =小泉純一郎

数値関数の例 入力データを2倍して返す関数を考え,この関数を d と呼ぶ. d(3) = 6 d(17) = 34 より一般的には,d(x) = 2x と書ける. 円柱の半径 r と円柱の高さ h を受け取って,その 体積を返す関数 v は, v(r, h) = πr2h と書ける.

数値関数の表による記述 2倍関数 d(x) = 2x は以下のような表で表すこともできる.

数値関数の表による記述 円柱体積関数 v(r, h) = πr2h を表現するためには,2次元の表が必要になる.

数値関数のグラフによる記述 2倍関数 d(x) = 2x をグラフで表現すると以下のようになる.

数値関数のグラフによる記述 円柱体積関数 v(r, h) = πr2h をグラフで表現すると以下のようになる.

レポートについて 課題:テキスト p.55 練習問題 2 「あなたが興味のある事柄に関して決定木を作り,それをプログラムに書け.」 提出方法:決定木につい記述した Microsoft Word で書いたファイル,及び,Pascal プログラムをEメールに添付して送信しなさい. Eメールの宛先は,ic@coconut.sys.eng.shizuoka.ac.jp Eメールの送信アドレスは,大学から配布されたものを用いること. Eメールの件名には,学籍番号と氏名を記載すること. 提出期限は,10月31日(日)17:00 である.