Top Banner
選選選選選選選選選 選選 選選 選 選選 選 [518、H . 16( 0 4)] 選選選選選選選 選選選選選選選選選 1) 選選選選選選選選選 選選選選選 2)() 選選選選選選 選選選選選選 選選選選選 3)、、 選 選 選選選選選 PE04-0 . ppt
23

選択構造と条件判断

Jan 04, 2016

Download

Documents

noble-levine

第5回目 [5月18日、H . 16(‘04)]. 選択構造と条件判断. 本日のメニュー. 1)前回の課題について 2)構造化プログラム(選択構造) 3)等価演算子、関係演算子、条件演算子 4)課題・提出. PE04-05 . ppt. (2)単位を互いに換算するプログラムを書いてみよう。 (a) センチ (cm) とインチの換算[ 1 インチ =2.54cm ] (b) ドル ($) と円 (\) の換算[ 1$=\109.5 ] (c) 摂氏 C (℃) と華氏 F (°) の換算. F. 第2章までの総合演習(前回の課題). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 選択構造と条件判断

選択構造と条件判断

第5回目 [5月18日、H .16(‘04)]

本日のメニュー

1)前回の課題について

2)構造化プログラム(選択構造)

3)等価演算子、関係演算子、条件演算子

4)課題・提出PE04-05 .ppt

Page 2: 選択構造と条件判断

第2章までの総合演習(前回の課題)

(1)画面に、『本日は晴天なり』と表示するプログラムを書いてみよう。

(2)単位を互いに換算するプログラムを書いてみよう。(a) センチ (cm) とインチの換算[ 1 インチ=2.54cm ](b) ドル ($) と円 (\) の換算[ 1$=\109.5 ](c) 摂氏 C( )℃ と華氏 F(°) の換算

)32(95 FC

Page 3: 選択構造と条件判断

#include <stdio.h>int main(void){ printf(" 本日は晴天なり \n"); return(0); }

解答例:文字の表示(1)

以下の解答例では " おまじない " 部分は略

puts(" 本日は晴天なり ");

Page 4: 選択構造と条件判断

double cm, inch;puts("cm?");scanf("%lf",&cm);inch = cm/2.54;printf("%6.2fcm は %6.2f ですインチ \n", cm, inch);puts(" インチ ?");scanf("%lf",&inch);cm = 2.54*inch;printf("%6.2f はインチ %6.2fcm です \n", inch, cm);

解答例:単位の換算(2 .a)

Page 5: 選択構造と条件判断

double dl, en;printf(" $? ");scanf("%lf",&dl);en = dl*109.5;printf(" $ %6.2f は¥ %6.2f です \n", dl,   en);printf(" ¥? ");scanf("%lf",&en);dl = en/109.5;printf(" ¥ %6.2f は$ %6.2f です \n", en,   dl);

解答例:単位の換算(2 .b)

Page 6: 選択構造と条件判断

double c, f;printf(" 摂氏温度は? ");scanf("%lf",&c);f = 9.0*c/5.0 + 32.0;printf(" 華氏で、 %6.2f です \n",f);printf(" 華氏温度は? ");scanf("%lf",&f);c = 5.0*(f-32.0)/9.0;printf(" 摂氏で、 %6.2f です \n",c);

解答例:単位の換算(2 .c)

5/9*(f-32)

Page 7: 選択構造と条件判断

int main(void) { double f, c ; puts("123456 朝日太郎 "); printf(" 華氏温度は? "); scanf("%lf",&f); c = (5.0/9.0)*(f-32.0); printf(" 摂氏温度 %f です。 ",c); printf(" 摂氏温度は? "); scanf("%lf",&c); f = (9.0/5.0)*c + 32.0; printf(" 華氏温度 %f です。 ",f); return(0); }

9/5 と書くと、1.8 ではなく、

1 になる(整数演算)

5/9 と書くと、0.55…ではなく、

ゼロになる(整数演算)

Page 8: 選択構造と条件判断

( 3 ) 単価 a 円のハンバーガーを n 個買い、 y 円札を出したら、お釣りはいくらになるでしょう?この計算をするプログラムを書いてみよう。( 4 ) 上底 a 、下底 b 、高さ h の台形の面積 S

を計算するプログラムを書いてみよう。

2)( hbas

第2章までの総合演習(前回の課題)

Page 9: 選択構造と条件判断

int a, n, y, turi;printf(" 単価? ");scanf("%d",&a);printf(" 個数? ");scanf("%d",&n);printf(" お札の金額? "); scanf("%d",&y);turi = y – a*n;printf(" お釣りは %6d 円です \n",              turi);

解答例:ハンバーガーの問題(3)

Page 10: 選択構造と条件判断

double a, b, h, s;printf(" 上底、下底、高さは? ");scanf("%lf %lf %lf",&a,&b,&h);s = (a + b) * h / 2.0;printf(" 面積は、 %6.2f です。 \n", s);

解答例:面積計算(4)

Page 11: 選択構造と条件判断

前回の宿題◎ キーボードから整数部分

2桁、小数点以下2桁の値を入力し、それぞれの桁の数値とそれらの合計、平均値 ( 小数点以下2桁)を求めよ。

◎ 教科書演習2 - 6(33頁)

数値=> 65.42十の位は 6一の位は 5十分の 1の位は 4百分の 1の位は 2合計は 17平均は 4.25

ファイル名: hw4-****.c hw4-****.exe• 締め切り: 5月15日 ( 土) 午後1時• リストの提出は、オープン利用室のレポート

入れ • aucopy でのファイル転送フォルダーは、

[森下伊三男]-[ 演習プログラミング ]

Page 12: 選択構造と条件判断

int i, a,b,c,d ; double x, z ; printf(" 浮動小数点数を入れよ ===>"); scanf("%lf",&z); z = z * 100.0; i = z; a = i / 1000; b = ( i % 1000) / 100 ; c = ( i % 100) / 10 ; d =   i % 10 ; x = (a+b+c+d) / 4.0;  ・・・

65 .42

654265425424

65422

6542 .000

6542

直接に  i=z*100.0 と記述しても良い

内部表現は65 .419999

9・・・となっている可能性

あり

この場合、 i は6541 となる

対応策:四捨五入i=z*100.0+0.5;

100 倍すると6541.9999 ・・

Page 13: 選択構造と条件判断

int h;double w;printf(" 身長を入力してください: ");scanf("%d", &h);w = ( h – 100.0 ) * 0.9;printf(" 標準体重は %.1f です。 \n",                  w);

解答例:演習2 - 6

Page 14: 選択構造と条件判断

課題についての注意・数学的な問題 → 式の変形ができない(問題外)

)32(95 FC 325

9 CF

・ c=5/9*(f-32);   f=9/5*c+32; と書くと、 結果がおかしくなる。 次の場合ならば良い。 c=(f-32)*5/9; f=c*9/5+32;  (整数型)( */+-% )(整数型) → (整数

型) 演算は括弧内が優先で、左から行われる・かけ算の式で*を忘れる5/9(kashi-32) → 5.0/9.0*(kashi-32)

を変形すると

Page 15: 選択構造と条件判断

課題についての注意・インチ-センチ、ドル-円の変換で、利用す

る式を逆に使っている

・出力例や簡単な場合の結果を参考に、必ず実行結果をチェックする事。

・途中まででも、リスト出力を必ず提出する事。

・ *.C のファイルの拡張子を *.exe  に書き換えてファイル転送している → パソコン停止.exe ファイルはコンパイルが完了すると自動的に生成されるファイルである。

・問題を良く読む→演習2 - 6:整数値を入力する

Page 16: 選択構造と条件判断

構造化プログラミング順次構造

B B

判断

true false

判断

true

false

選択構造・二者択一、

複数場合分け・ if文、 switch文

繰り返し(反復)構造・定数回繰り返し、前判断、後判断・ for文、 while文、 do-while文

どの構造も入口と出口が一つだけ

Page 17: 選択構造と条件判断

選択構造・条件判断によって処理を選択していく構

造・判断の結果は非0 : true(Yes) または0 : false(No)

・ trueの場合にはAを、falseの場合にはBを実行する

条件判断

true false

菱形の中:0又は非0の結果を持つ式

Page 18: 選択構造と条件判断

関係演算子と等価演算子 (p.42-)関係演算子:値の大小関係を比較する  関係成立: 1(true)、不成立: 0(false)a < b aがbより小さいなら 1(条件成立)a <= b aがbより小さいか又は等しいなら 1a > b aがbより大きいなら 1a >= b aがbより大きいか又は等しいなら 1

a == b aとbが等しいなら 1a != b aとbが等しくないなら 1

•等価演算子:値が等しいかどうかを判定する

  関係成立: 1(true) 、不成立: 0(false)

Page 19: 選択構造と条件判断

条件演算子 (p.48-)条件判断によって式を選択していく構造if文と似た構造を持った式を記述

式 3

式 1

式 2

true false

式 1 ? 式2 : 式 3

式の値

式 2 の値 式 3 の値

式 1が非0

式 1が0

3項演算子

Page 20: 選択構造と条件判断

今日の課題

ファイル名は  en5-****.c

教科書の各演習を順に処理していくプログラムを作成せよ。(1)演習3 - 1(41頁)、演習3 -3(45頁)、 演習3 - 4(45頁)(2)[発展](時間に余裕の有る人は進む) 演習3 - 2、演習3 - 5~演習3 - 8

ファイル名の  **** は学籍番号の二桁目と下3桁例:学生番号 034987 ならば  xxx-3987 .c

Page 21: 選択構造と条件判断

今日の提出1)プログラムリストを提出する。今日の課題の各演習について、できたところまでのリストを印刷して提出する (途中まででも、必ず提出すること)なお、授業中にできなかった演習は、各自で必ず完成させること。

2) aucopy で en5-****.c を転送する。 3) aucopy で en5-****.exe を転送する。

.C の拡張しを変えて .exe を作らないこと

ファイル名の  **** は学籍番号の二桁目と下3桁例:学生番号 034987 ならば  xxx-3987 .c

Page 22: 選択構造と条件判断

今回の宿題

ファイル名: hw5-****.c hw5-****.exe

◎3つの整数を入力し、最大値と最小値を表示するプログラムを作れ。[46~47頁を参考に]

整数を入力? 8 5 2最大値は 8 です。最小値は 2 です。

{発展問題}入力する整数が五つの場合。

整数を入力? 8 5 2 4 9最大値は 9 です。最小値は 2 です。

• 締め切り: 5月22日 ( 土) 午後1時• リストの提出は、オープン利用室のレポート

入れ • aucopy でのファイル転送フォルダーは、

[森下伊三男]-[ 演習プログラミング ]

Page 23: 選択構造と条件判断

第5回終了

次回(第6回)のプログラミング入門、

プログラミング演習は

5月25日です。