論理回路 第1回

プログラミング演習(2組)
第8回
http://www.fit.ac.jp/~matsuki/PEB1.html
今日の内容
• 前回の課題の解説
• 今回の課題の説明
タイピング
• 喰人王を使用して結果を記録する
• ステージ:第一の店(中華)
• Excelのシートにスコアを毎回記録していく
– 残り時間⇒ FeedBackページで報告
– 総タイプ数
– ミスタイプ数
– 正確さ⇒ FeedBackページで報告
– 喰いっぷり ⇒ FeedBackページで報告
前回の課題(1)
【課題1】
① 演算をメニューから数値で選ばせる(switch
文を使うこと)。
② 必要な数値を入力させる。
③ 演算を実行し、結果を出力する
今回の課題(1)
【課題1の実行画面例1】
---- MENU ---1) 足し算
2) 引き算
3) かけ算
4) 割り算
5) 平方根
-------------------実行する演算を番号で選択してください 3
かけ算を計算します。2つの値を入力してください。
一つ目の値は? 8
二つ目の値は? -2
演算結果は,-16です。
今回の課題(1)
【課題1の実行画面例2】
---- MENU ---1) 足し算
2) 引き算
3) かけ算
4) 割り算
5) 平方根
-------------------実行する演算を番号で選択してください 5
平方根を計算します。値を一つ入力してください。
値は? 2
演算結果は,1.41421356です。
プログラムの方針
変数の宣言
メニューの表示
メニュー番号の入力処理
メニュー番号に応じた処理に分岐
変数の宣言
メニューの選択番号用
int menu;
double a;
2変数による演算に使用
double b;
int c;
平方根の演算に使用
double result1;
double result2;
double result3;
選択された演算の結果用
double result4;
double result5;
メニューの表示と入力
printf("----MENU----\n");
printf("1)足し算\n");
printf("2)引き算\n");
printf("3)かけ算\n");
printf("4)割り算\n");
printf("5)平方根\n");
printf("----------------\n");
printf("実行する演算を番号で選択してください");
scanf("%d",&menu);
平方根の演算に使用
メニュー番号に応じた処理に分岐
switch(menu){
case 1:
printf("足し算を計算します。2つの値を入力してください。\n");
printf("一つ目の値は?");
scanf("%lf",&a);
printf("二つ目の値は?");
scanf("%lf",&b);
result1 = a + b;
menuが1のときの
printf("演算結果は,%.2fです。",result1);
処理内容
break;
case 2:
printf("引き算を計算します。2つの値を入力してください。\n");
printf("一つ目の値は?");
defaultの使い方
//平方根の場合
case 5:
printf("平方根の計算をします。\n値を入力してください。\n");
scanf("%lf",&a);
//演算
answer = sqrt(a);
//演算結果を表示
printf("%fの平方根の値は%fです。",a,answer);
break;
//条件に当てはまらない場合
default:
printf("1からまでの数値を入力してください。\n");
break;
menuが1~5以外のときの処理内容
(エラー処理)
割り算の処理の工夫
(0入力に対する処理)
//割り算の場合
case 4:
printf(“足し算を計算します。2つの値を入力してください。。\n");
printf("一つ目の値は?");
scanf("%lf",&a);
printf("二つ目の値は?");
scanf("%lf",&b);
= a0/)b;{
ifresult4
( b ==
printf("演算結果は,%.2fです。",result4);
printf(“0で割ることはできません\n”);
break;
} else {
result4 = a / b;
printf("演算結果は,%.2fです。",result4);
}
break;
平方根の処理の工夫
(負値の入力に対する処理)
//平方根の場合
case 5:
printf("平方根の計算をします。\n値を入力してください。\n");
scanf("%lf",&a);
//演算
= sqrt(a);
ifanswer
( a >=
0){
//演算結果を表示
answer = sqrt(a);
printf("%fの平方根の値は%fです。",a,answer);
//演算結果を表示
break; printf("%fの平方根の値は%fです。",a,answer);
} else
printf(“負の平方根は計算できません");
break;
今回の課題(2)
【課題2】
今までの知識を使って、自分で問題を設定し、その問
題を解決するプログラムを作成せよ。ただし、以下の機
能を盛り込むこと。メール本文に問題についての説明を
書くこと。
1.
2.
3.
4.
5.
6.
+、ー、*、/を用いた演算(すべて使うこと)
sqrt, sin, cos, tanのいずれかを用いた計算
printfによる表示(出力)
scanfを用いた入力
if文
switch文
課題2の例
•
•
•
•
•
•
「4つの4」問題(近藤君)
サイコロゲーム(左山君)
数値の大小比較(金子君)
ジャンケンゲーム(高原君)
クイズゲーム(松本君)
計算練習をさせるプログラム(黒武者さん)
今日の課題
課題1 10個の値をキーボードから入力させて,
その中の最大値と平均値を求めるプログラム
を作れ(余裕のある人は,10個の乱数に対し
て,最大値と平均値を求める)
今日の課題
課題1 10個の値を入力してください.
10個の値をキーボードから入力させて,
1個目:9
その中の最大値と平均値を求めるプログラム
2個目:72
を作れ(余裕のある人は,10個の乱数に対し
て,最大値と平均値を求める)
3個目:20
4個目:5
:
:
10個目:9
最大値は,72です
平均値は,25.3です
今日の課題
課題2 6月1日のプログラミングⅠで出題した問題
(1)
1 1 1 1 1
1
1     
3 5 7 9 11
9999
減算
加算
減算
加算
減算
(2) 
1 1 1 1 1
1 
1        
 4
9999
 3 5 7 9 11
加算と減算を交互に行う
注意事項
• ソースファイルについて
ソースファイルは添付ファイルで送る
ソースファイル以外は送らない
ソースファイルの名前は,半角のみ使用
• メールについて
件名は,学籍番号+半角スペース+氏名
(例)S09F2099 松木裕二
本文にも短いカバーレター(説明)をつける
その他
• 講義に関する質問・課題提出など:
[email protected]
• Feed back page:
http://www.fit.ac.jp/~matsuki/lecture.html
メールアドレスの入力は不要です
ニックネームを決めてください(Ranking表示に使います)