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