7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。 表示せよ。 演習2:キーボードから3つの整数を入力し、最小値を見つけて 演習3:キーボードから3つの整数を入力し、昇順に並べて 表示せよ。(昇順:小さい方から大きい方に並べる) 力作が多くて感心!
if 文課題 よくある間違い 要るか要らないかよく考える if no a > b else no yes a < b a=b の場合はこちら 処 理 1 yes 処 理 2 次の処理
if 文課題 間違いを引き起こしやすい書き方 A, Bは、例えばa>b, b>c A が no なのか B が no なのか A も B も no なのか 分からない !! A && B ? no yes A B A && B 1 真理値表 “1”: true(真) “0”: false(偽) no yes
7/10 if 文課題のフローチャート 前回(7/3)提出したプログラムのフローチャートを書け。 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。 演習2:キーボードから3つの整数を入力し、最小値を見つけて 演習3:キーボードから3つの整数を入力し、昇順に並べて 表示せよ。(昇順:小さい方から大きい方に並べる) キーボードからの入力 ディスプレイへの表示 判断 開始 処理 終了
多数の数に対応できる方法(アルゴリズム) 演習4を、下記アルゴリズムでプログラミングせよ。 演習4:キーボードから5つの整数を入力し、最小値を見つけて 表示せよ。 n個の入力数字列 a1, a2, a3, ・・・・ ,an min=a1 とおく。 minとa2比較 min> a2ならmin= a2,そうでなければなにもしない minとa3比較 min> a3ならmin= a3,そうでなければなにもしない ・ minとan比較 min> anならmin= an,そうでなければなにもしない 最終的に、minが入力数字列全体の最小値になる。 演習1~4 課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report7.10.1/学生番号
多数の数に対応できる方法(アルゴリズム) 演習3を、演習4のアルゴリズムを使ってプログラミングせよ。 (これを、シンプルソートという。) 演習5:キーボードから3つの整数を入力し、昇順に並べて 表示せよ。(昇順:小さい方から大きい方に並べる) 課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report7.10.2/学生番号
xの値に応じて、case1,2,…またはdefaultに飛ぶ switch 文を使った分岐 #include<stdio.h> main() { int x; printf(“1 または 2 を入力して下さい。\n”); scanf("%d",&x); switch(x){ case 1: printf(“1 が入力されました。\n”); break; case 2: printf(“2が入力されました。 \n”); default: printf(“1,2 以外の数字が入力されました。\n”); } xの値に応じて、case1,2,…またはdefaultに飛ぶ
課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report7.10.3/学生番号 switch 文を使った分岐 演習6: 0から100までの数字を一つ入力する。その値が 100 ~ 90 なら @ 80 ~ 89 なら A 70 ~ 79 なら B 60 ~ 69 なら C 0 ~ 59 なら D と表示するプログラムを作れ。 課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report7.10.3/学生番号