1 / 26

プログラミング演習( 2 組) 第 4 回

プログラミング演習( 2 組) 第 4 回. http://www.fit.ac.jp/~matsuki/PEB1.html. 今日の内容. 前回の課題の解説 演算の優先順位 整数型 ( int ) と実数型 (double) による計算 scanf 関数(入力関数) 今日の課題. 4 月 24 日のタイピング結果 ( S-Class ). 第 1 位 松本 君  第 2 位 シャイニングp・・・何でもない。  第 3 位 無名  第 4 位 真・喰人王  第 5 位  Mat. 4 月 24 日のタイピング結果 ( A-Class ).

orpah
Download Presentation

プログラミング演習( 2 組) 第 4 回

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. プログラミング演習(2組)第4回 http://www.fit.ac.jp/~matsuki/PEB1.html

  2. 今日の内容 • 前回の課題の解説 • 演算の優先順位 • 整数型(int)と実数型(double)による計算 • scanf関数(入力関数) • 今日の課題

  3. 4月24日のタイピング結果(S-Class) 第1位 松本 君  第2位 シャイニングp・・・何でもない。  第3位 無名  第4位 真・喰人王  第5位 Mat

  4. 4月24日のタイピング結果(A-Class) 第1位 Pストーン  第2位 柊百合 第3位 金子  第4位 がっちゃん 第5位 kpvy

  5. 4月24日のタイピング結果(B-Class) 第1位 忍者  第2位 WALLY 第3位 toshi 第4位 ふでばこ 第5位 JUN

  6. タイピング • 喰人王を使用して結果を記録する • ステージ:第一の店(中華) • Excelのシートにスコアを毎回記録していく • 残り時間⇒ FeedBackページで報告 • 総タイプ数 • ミスタイプ数 • 正確さ⇒ FeedBackページで報告 • 喰いっぷり ⇒ FeedBackページで報告

  7. 前回の課題 (1)三角形の面積を求めるプログラムを作れ (2)円の円周の長さ,円の面積を求めるプログラムを作れ (3)scanf関数を使ってキーボードから値を入力できるように,(1)と(2)を改造せよ.

  8. 課題1(解答例 金子君) //変数の宣言 int height=50; //縦の長さ[cm] int base=30; //底辺の長さ[cm] int area; //面積[cm^2] //プログラムの処理内容を画面表示 printf("以下のような三角形の面積を求めます\n"); printf("縦の長さ:%d[cm]\n",height); printf("横の長さ:%d[cm]\n",base); //面積の長さを計算 area=base*height/2; //結果の表示 printf("\nこの三角形の面積は%d[cm^2]です\n\n",area); #include<stdio.h> int main() { //変数の宣言 int height=50; //縦の長さ[cm] int base=30; //底辺の長さ[cm] int area; //面積[cm^2] //プログラムの処理内容を画面表示 printf("以下のような三角形の面積を求めます\n"); printf("縦の長さ:%d[cm]\n",height); printf("横の長さ:%d[cm]\n",base); //面積の長さを計算 area=base*height/2; //結果の表示 printf("\nこの三角形の面積は%d[cm^2]です\n\n",area); return 0; } int型で宣言 「%d」は10進数の整数として表示

  9. 課題2(解答例 近藤君) #include<stdio.h> int main() { //変数の宣言 double radius; //円の半径の長さ[cm] double length; //円周の長さ[cm] double area; //面積[cm^2] //円周率を設定 double pai = 3.145927; //円の半径の長さを設定 radius = 10.0; //プログラムの処理内容を画面表示 printf("以下のような円の周回の長さと面積を求めます\n"); printf("使用する円周率はπ= %f\n\n",pai); printf("円の半径の長さ: %f [cm]\n\n",radius); //周回の長さを計算 length = 2 * pai * radius; //面積を計算 area = pai * radius * radius; printf("この円の周回の長さは%f [cm]\n",length); printf("この円の面積は%f [cm^2]\n\n",area); return 0; } //変数の宣言 double radius; //円の半径の長さ[cm] double length; //円周の長さ[cm] double area; //面積[cm^2] //円周率を設定 double pai = 3.145927; //円の半径の長さを設定 radius = 10.0; //面積を計算 area = pai * radius * radius; printf("この円の面積は%f [cm^2]\n\n",area); double型で宣言 「%f」は実数として表示

  10. 全角を使った変数名について • Visual Studioでは、変数名に全角文字を使用することができます。 int半径=30; double 面積; double ぱい = 3.14; 面積 = 半径*半径*ぱい; • ただし、これはVisual Studioの環境でしか動作しない、特殊なプログラムになります。 • ビルドもOK • 実行もOK 変数名は、半角英数文字のみを使用する

  11. 課題3(解答例 和田見君) /*プログラムの処理内容を画面表示*/ printf("以下のような円の円周の長さと面積を求めます。\n"); printf("半径:"); scanf("%lf",&radius); double型の変数radiusにキーボードから値を入力させる

  12. scanf関数(テキストp.92) • 機能:標準入力(キーボード)から値を入力させる • 引数:書式(変換指定子)と,変数 • 変換指定子: • %d : 10進整数 • %f : float型浮動小数点数 • %lf : double型浮動小数点数 • %c:  文字 • %s:   文字列 • %x:  16進数整数 • 使い方:scanf(“変換指定子”, &変数);

  13. scanf関数 • 例: int x; float y; double z; printf(“xに入力してください”); scanf(“%d”,&x); printf(“yに入力してください”); scanf(“%f”,&y); printf(“zに入力してください”); scanf(“%lf”,&z); int型の変数 x に入力 float型の変数 y に入力 doubleの変数 z に入力

  14. scanf関数の警告メッセージ • warning C4996:『warning C4996: 'scanf' が古い形式として宣言されました。 c:\program files\microsoft visual studio 8\vc\include\stdio.h(295) : 'scanf' の宣言を確認してください。 メッセージ: 'This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.‘』 Visual Studio 2005では、セキュリティ上の配慮から、scanf関数の使用に対して警告が出されます(大量のデータ入力がなされた場合に、メモリ破壊を招く危険性があるため)。 • 対策1: この警告については無視する。 • 対策2:ソースファイルの最上部に以下の一文を追加#define _CRT_SECURE_NO_DEPRECATE 1

  15. printf関数 • 変数の中身を表示することが可能 • 書式指定を指定することが可能

  16. printf関数 printf (“表示したい文字列”, 引数1, 引数2, ・・); 文字列 書式指定文字列 エスケープシーケンス 書式指定文字列 “ ・・・・ % ― 0 5 d ・・・ “ 型の指定 表示する最大桁数 数値の場合(0:ゼロサプレス無) ―:左詰め(省略値は右詰め) +:符号を表示

  17. printf関数(テキストp.51) • 浮動小数点型の値を表示する場合 double pi= 3.14159265358979323; //桁数指定なし(小数点以下6桁で表示) printf(“円周率 = %f”, pi); //全部で5桁、小数点以下は2桁で表示 printf(“円周率 = %5.2f”,pi);

  18. 演算 • 演算子

  19. 式の評価 • 式は評価されて値を持つ (1 + 2) * 4;    3    * 4; 12;

  20. データ型と計算(同じ型同士) #include <stdio.h> int main() { int a = 10, b = 3; double c; c = a / b; printf(“%d ÷ %d = %f\n”, a, b, c); return 0; } 10/3 = 3.33333となるはずなのに… 結果: 10 ÷ 3 = 3 同じ型同士の計算を行うと、結果も同じ型になる

  21. データ型と計算(違う型同士) #include <stdio.h> int main() { int a = 10; double pi = 3.14; printf(“%d × %.2f = %.2f\n”, a, pi, a*pi); return 0; } 結果: 10 × 3.14 = 31.40 違う型同士の計算では、結果は大きい型に合わせられる (格上げ)

  22. 今日の課題(締切:5/14) (1)車の速さspeedと、目的地までの距離distanceを入力させて、目的地までの所要時間を求めるプログラムを作成せよ。 (2)2次方程式a x2 + b x + c = 0の解を求める プログラムを作成せよ(a,b,cは入力させよ) xの平方根を求めるプログラムを参考にせよ。

  23. 平方根を求めるプログラム #include <stdio.h> #include <math.h> int main() { double x = 2; double y; y = sqrt(x); printf(“ xの平方根は %fです”,y); }

  24. 注意事項 • ソースファイルについて • ソースファイルは添付ファイルで送る • ソースファイル以外は送らない • ソースファイルの名前は,半角のみ使用 • メールについて • 件名は,学籍番号+半角スペース+氏名 • (例)S09F2099  松木裕二 • 本文にも短いカバーレター(説明)をつける

  25. その他 • 講義に関する質問・課題提出など: • 2009pe12x@gmail.com • Feed back page: • http://www.fit.ac.jp/~matsuki/cgi-bin/newpage11.html • メールアドレスの入力は不要です • ニックネームを決めてください(Ranking表示に使います)

More Related