プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

21
プププププププププ1ププ8プ http://www.fit.ac.jp/~matsuki/ PEA1.html
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    5

Transcript of プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

Page 1: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

プログラミング演習( 1 組)第 8 回

http://www.fit.ac.jp/~matsuki/PEA1.html

Page 2: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今日の内容• 前回の課題の解説• 乱数の説明• 今回の課題の説明

Page 3: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

タイピング• 喰人王を使用して結果を記録する• ステージ:第一の店(中華)• Excel のシートにスコアを毎回記録してい

く– 残り時間⇒  FeedBack ページで報告– 総タイプ数– ミスタイプ数– 正確さ⇒  FeedBack ページで報告– 喰いっぷり ⇒  FeedBack ページで報告

Page 4: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

前回の課題(1)【課題1】① 演算をメニューから数値で選ばせる

( switch 文を使うこと)。② 必要な数値を入力させる。③ 演算を実行し、結果を出力する

Page 5: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今回の課題(1)【課題1の実行画面例1】

---- MENU ----1) 足し算2) 引き算3) かけ算4) 割り算5) 平方根--------------------実行する演算を番号で選択してください 3

かけ算を計算します。2つの値を入力してください。一つ目の値は? 8二つ目の値は? -2演算結果は,-16です。

Page 6: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今回の課題(1)【課題1の実行画面例2】

---- MENU ----1) 足し算2) 引き算3) かけ算4) 割り算5) 平方根--------------------実行する演算を番号で選択してください 5

平方根を計算します。値を一つ入力してください。値は? 2演算結果は, 1.41421356です。

Page 7: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

プログラムの方針

変数の宣言

メニューの表示

メニュー番号の入力処理

メニュー番号に応じた処理に分岐

Page 8: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

変数の宣言(嶋田君)int menu;double a;double b;int c;double result1; double result2; double result3; double result4; double result5;

選択された演算の結果用

2変数による演算に使用

平方根の演算に使用

メニューの選択番号用

Page 9: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

メニューの表示と入力printf("----MENU----\n");printf(" 1)足し算 \n");printf(" 2)引き算 \n");printf(" 3)かけ算 \n");printf(" 4)割り算 \n");printf(" 5)平方根 \n");printf("----------------\n");printf(" 実行する演算を番号で選択してください");scanf("%d",&menu);

平方根の演算に使用

Page 10: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

メニュー番号に応じた処理に分岐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");printf(" 一つ目の値は? ");

menu が1のときの処理内容

Page 11: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

解答例(宇山君)// 平方根の場合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以外のときの処理内

容(エラー処理)

Page 12: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今回の課題(2)【課題2】

今までの知識を使って、自分で問題を設定し、その問題を解決するプログラムを作成せよ。ただし、以下の機能を盛り込むこと。メール本文に問題についての説明を書くこと。

1. +、ー、*、/を用いた演算(すべて使うこと)2. sqrt, sin, cos, tan のいずれかを用いた計算3. printf による表示(出力)4. scanf を用いた入力5. if 文6. switch 文

Page 13: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

三角関数三角関数 sin(x) , cos(x) , tan(x) について• x は double 型でなければならない.• x は rad 単位( 180° = π [rad] )• 計算結果は, double 型になる

tan(π/4) を計算するとき,

double pi = 3.141592;double result;result = tan(pi / 4);

Page 14: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

課題2の例• 安部君– 円と直線の位置関係を判定– 投射問題

• 大隈君– 各国(都市)との時差を計算– 外国為替のレートを計算

Page 15: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

乱数• 乱数とは,ランダムに出現する値• コンピュータに,ランダムに値を選んでも

らうことが可能

Page 16: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

乱数を得るプログラム例#include <stdio.h>#include <time.h>int main(){

int N = 10; // 乱数の上限int x;srand(time(NULL)); // 乱数を使うための準備// while (1) {

x = rand() % N; //0 から N-1 までの範囲の乱数を取得printf(“ 乱数は %d\n”,x);

// }return 0;

}

Page 17: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今日の課題課題1 10個の値をキーボードから入力

させて,その中の最大値と平均値を求めるプログラムを作れ(余裕のある人は,10個の乱数に対して,最大値と平均値を求める)

Page 18: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今日の課題課題1 10個の値をキーボードから入力

させて,その中の最大値と平均値を求めるプログラムを作れ(余裕のある人は,10個の乱数に対して,最大値と平均値を求める)

10個の値を入力してください.1個目:92個目:723個目:204個目:5  :  :10個目:9最大値は,72です平均値は,25.3です

Page 19: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

今日の課題課題2 

6月1日のプログラミングⅠで出題した問題

Page 20: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

注意事項• ソースファイルについて

ソースファイルは添付ファイルで送るソースファイル以外は送らないソースファイルの名前は,半角のみ使用

• メールについて件名は,学籍番号+半角スペース+氏名

(例) S09F2099  松木裕二

本文にも短いカバーレター(説明)をつける

Page 21: プログラミング演習( 1 組) 第 8 回 matsuki/PEA1.html.

その他• 講義に関する質問・課題提出など:

[email protected]

• Feed back page :http://www.fit.ac.jp/~matsuki/cgi-bin/newpage11.htmlメールアドレスの入力は不要ですニックネームを決めてください( Ranking表示に使います)