プログラミング演習(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表示に使います)
© Copyright 2025 ExpyDoc