情報処理Ⅱ 第2回:2003年10月14日(火).

Slides:



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

変数とその種類 変数とは何か? → データ ( 数値 ) を入れておく 箱 1000 変数名とは何か? → 箱に付ける名前 xy 変数名 変数の種類 ( 変数の型 ) → 入れるデータによって箱の種類が異なる int char float double その他たくさん integer (
7章 情報の表現と基礎理論. 数の表現(書き方) 「数」と「数の書き方」をわけて考える 「数の書き方」と,「数そのものの性質」は別のもの 例:13 は素数・・・”13”という書き方とは無関係 ここでは書き方(表現方法)について考える 567.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
【事例演習5】  字句解析     解 説  “ハッシュを用いた字句解析の方法”.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
プログラミング言語としてのR 情報知能学科 白井 英俊.
プログラミング入門2 第7回 情報工学科 篠埜 功.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第7回 データの基本型 情報・知能工学系 山本一公
演算、整数型と浮動小数点型 第3回[平成16年4月27日(火)]:PN04ー03.ppt 今日の内容 1 復習 2 加減・乗除演算子
基礎プログラミングおよび演習 第9回
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
x y 復習 変数とその種類 変数名 数学の場合 未知数 「変数xに‥を代入し‥」 x = 5 x = 1.3
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
12: コマンドライン引数 C プログラミング入門 総機1 (月1) Linux にログインし、以下の講義ページ を開いておくこと
12: コマンドライン引数 C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
構造体.
プログラミング入門2 第6回 基本型、文字列 情報工学科 篠埜 功.
情報処理Ⅱ 第4回 2007年10月29日(月).
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング入門2 第7回 情報工学科 篠埜 功.
情報処理Ⅱ 第2回 2007年10月15日(月).
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング入門2 第11回 情報工学科 篠埜 功.
プログラミングⅠ 平成30年10月29日 森田 彦.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
x y 復習 変数とその種類 変数とは何か? →データ(数値)を入れておく箱 変数名 変数名とは何か?
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
コンパイラ 2012年10月29日
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
情報処理Ⅱ 2006年11月24日(金).
情報処理Ⅱ 第7回 2004年11月16日(火).
情報処理Ⅱ 2005年10月28日(金).
標準入出力、変数、演算子、エスケープシーケンス
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 数値計算における計算精度と誤差
情報処理Ⅱ 第2回 2004年10月12日(火).
情報処理Ⅱ 2005年11月25日(金).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理Ⅱ 小テスト 2005年2月1日(火).
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報処理Ⅱ 2006年10月27日(金).
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
12: コマンドライン引数 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

情報処理Ⅱ 第2回:2003年10月14日(火)

本講義に関するWebページ http://www.wakayama-u.ac.jp/~takehiko/ipii2003/ 和歌山大学 – システム工学部 – 情報通信システム学科 – スタッフ一覧 – 田中猛彦 – 情報処理II 講義に使用したスライドと例題プログラムの「画像」を設置 復習用 プログラムは自分で入力して動かそう

型 型(type)とは? 値はどんな種類の情報を持っているか? 変数はどんな種類の情報を格納できるか? 型により異なる値 整数値: 1 実数値: 1.0 文字: ‘1’ 文字列: “1” 計算機処理では「別々の情報」とみなすほうが効率がよい. 相互に変換できる?

型(オブジェクト型)の分類 算術型 ⇒ 本日のテーマ 配列型 構造体型 共用体型 ⇒ 本講義では取り上げない. ポインタ型 オブジェクト型の他に,関数型,不完全型がある. 派生型

算術型(よく使う) char : 文字,小さな範囲の整数 int : 整数 long : より大きな範囲の整数 float:実数 語源…character int : 整数 語源…integer long : より大きな範囲の整数 語源…long integer float:実数 語源…floating point(浮動小数点) double : より大きな範囲の実数 語源…double precision(倍精度)

算術型(あまり使わない) たまに見かけるかも なるべく使わない 型名のルールは? short short int unsigned char unsigned int unsigned long long double なるべく使わない short int long int long long long long int signed unsigned signed int char signed 型名のルールは?

例題1 様々な型の変数に1を代入するプログラム.

整数型の範囲 範囲は処理系に依存し,上記は一つの例にすぎない. 演習室の環境では,intとlongの範囲が同じ. C言語によるプログラミング[スーパーリファレンス編] p.65より 範囲は処理系に依存し,上記は一つの例にすぎない. 演習室の環境では,intとlongの範囲が同じ.

signedとunsigned signed (符号あり) unsigned (符号なし) signedもunsignedも書かなかったら… n: 整数値のサイズ(ビット数). 処理系および型により異なる. signed (符号あり) 負の数をとり得る整数 最小は,-2n-1 最大は,2n-1-1 unsigned (符号なし) 負の数をとらない整数 最小は,0 最大は,2n-1 signedもunsignedも書かなかったら… int, short, longではsignedと決まっている charでは処理系に依存 1 1 1 1 1 1 1 1 n = 8 の 場合 1 1 1 1 1 1 1 1

signedとunsigned (n=3) 1 1 2 2 3 3 4 -4 5 -3 6 -2 7 -1 符号なし 符号あり ビットパターン 1 1 1 2 2 1 3 3 1 1 4 -4 1 5 -3 1 1 6 -2 1 1 7 -1 1 1 1

範囲を越えるとどうなるか? 例題2: signed char型変数に13*13を格納すると? 例題3: オーバーフローによる無限ループ どのような値になるかの推測は難しくないが,それを当てにしてプログラムを組んではいけない.

浮動小数点とは? 0.0000000000000000000000602 ではなく 6.02×10-23 と書く. 例:(6.02×10-23)×10 = 6.02×10-22 (符号)仮数×底指数による表現を,浮動小数点形式という. ただし1≦仮数<底,指数は整数(0や負でもよい) 「底」は「基数」とも言う. 例:(6×102)×(6×102) = (6×6)×102+2 = 36×104 = 3.6×105 C処理系では2を底とする浮動小数点形式で表すことが多い. 例:-0.625 (=1/2+1/8)は,「-」1.01(2) * 2-1

浮動小数点型の範囲(1) 仮数,指数ともメモリ上の制約があるため,あらゆる実数を表すことはできない. 範囲(定数の値は処理系依存) 表現できない数の例:101000 ,√2,π 範囲(定数の値は処理系依存) C言語によるプログラミング[スーパーリファレンス編] p.66より

例題4 1から始めて2でどんどん割っていくと,いずれは0になる.

定数の表現方法 整数定数 浮動小数点定数 上記の英字は,大文字でも小文字でもよい. 123, 0123, 0x123 -123 8進数値 16進数値 ( 0~9, a~f ) 整数定数 123, 0123, 0x123 -123 123U, 123L, 123UL 浮動小数点定数 3.14, -3.1415926 .314, 3. 6.02E-23 6.02E-23F, 6.02E-23L 上記の英字は,大文字でも小文字でもよい. 6.02×10-23

例題5 これは何をするプログラムか? 「…を使用せず…するプログラム」の形で答えよ. 解答例: 他の変数を使用せず,2つの変数の値を交換する プログラム. floatに替えても利用可能. 「+」と「-」を,「*」と「/」に替えても動作する.

異なる型の値同士の計算 例題6: 1/3,1.0/3,1/3.0,1.0/3.0 は同じ値? 演算において,暗黙の型変換により,大きい範囲の型に揃えられる. long double > double > float > long long > long > int > short > char unsigned > signed 変数に値を格納するときは,変数の型に応じて暗黙の型変換が行われる. 注意点 unsignedとsignedの整数値を混在させて演算しない. 1/3は0

まとめ 「数」には「整数」と「浮動小数点数」がある. 表現できる数値には制限がある. オーバーフロー,計算誤差,暗黙の型変換に注意. 「整数」といっても,いくらでも大きな整数値を作れるわけではない. 「実数」といっても,いくらでも精密な実数値を作れるわけではない. オーバーフロー,計算誤差,暗黙の型変換に注意.

次回講義について 10月21日(火):休講 10月28日(火):松田先生による授業.部屋はここ. 11月4日(火)以降:通常通り