Comments
Description
Transcript
5 - iMetrics.co.jp
第5回 数とプログラミング 2016. 9. 11 数学の言葉とアルゴリズムで科学する力を子供たちへ ⬜ 循環小数の秘密、- 数は有理数で近似できるか?、 ① 電卓で有理数と無理数の区別ができる、できない? (約 10分) 1. 4 1 4 2 1 3 5 6 2 1. 4 7 0 5 8 8 2 5 3 図は、鏡の国のアリスから ② エクセルを使い、分母が7, 11, 13の時の原始根の表を完成する (約 20分) ⬜ c言語プログラミング例題 2題 例1. 正多面体でオイラーの法則を計算する (はじめてのC言語体験) (約 10分) 例2. ユークリッド互除法 (約 10分) 例3. エキスポセンターのH2ロケットの高さを測ろう (約 10分) 例4. 指定された年月日の曜日を計算する ( mod 7 ) (約 20分) ⬜ c言語プログラミング演習 選択3題 1. 国際情報オリンピア2014 の予選問題 (約 30分) 2. 水ロケットの飛行距離・飛行時間の計算 (約 30分) 3. 日出・日没時間の計算 (約 30分) C言語演習3題 基礎知識 http://imetrics.co.jp/mathematics/c-language.pdf 1. 循環小数の秘密 ① まず電卓に、”2”, “√ “と入力して結果を表示する √2 = 1.41421356 2373095. . . . これは無理数だ! 次に、25を17で割ると1.470588235294118…が表示されるが、これは有理数だ --> 25 / 17 = 1.470588235294118… 99 / 70 = 1.414285714285714… 47321 / 33461 = 1.414213562057320… 円周率 π = 3.14159265358979. . .も無理数だが、 --> 22 / 7 = 3.142857 142857… 223 / 71 = 3.140845070422535… 355 / 113 = 3.141592920353982… 245850922 / 78256779 = 3.141592653589793… というように、数は有理数でいくらでも近似できそうだ! でも、数だけ見ると、有理数か無理数かの区別はつかない. . . . . ② 繰り返し(循環)が現れる小数は、有理数だ! 1 / 3 = 0.33333333. . . 1 / 7 = 0.142857 142857 . . . 1 / 3 x 3= 0.999999999. . . . = 1 (6桁) 2 / 7 = 0.285714 285714 . . . . (〃) 3 / 7 = 0.428571 428571 . . . . (〃) 4 / 7 = 0.571428 571428 . . . (〃) 4 / 11 = 0.36 36 36 36. . . . (2桁) 1 / 13 = 0.076923 076923. . . (6桁) 1 / 17 = 0.0588235294117647 0588235294117647 058823 . . . (16桁) 25 / 17 = 1.4705882352941178 4705882352941178 47. . . . . . . . (16桁) その繰り返しの長さ(桁数)はどうして決まるのか? 原始根が決めている 問題1-1: F7, F11, F13の原始根を、エクセルで計算しなさい ・循環小数解答編 http://imetrics.co.jp/mathematics/RecurringDecimal.pdf 3. c言語プログラミング演習3題 問題 3-1: IOI2014予選問題(c言語) (約 20分) JOI 君が住んでいる地域には水道会社が X 社と Y 社の 2 つある.2 つの会社の 1 ヶ月の水道料 金は,1 ヶ月の水道の使用量に応じて次のように決まる. X 社: 1 リットル あたり A 円かかる. Y 社: 基本料金は B 円である.使用量が C リットル以下ならば,料金は基本料金 B 円のみが かかる.使用量が C リットルを超えると基本料金 B 円に加えて追加料金がかかる.追加料金は 使用量が C リットルを 1 リットル超えるごとに D 円である. JOI 君の家では 1 ヶ月の水道の使用量が P リットルである. 水道料金ができるだけ安くなるように水道会社を選ぶとき,JOI 君の家の 1 ヶ月の水道料金を 求めよ. 入力は 5 行からなり,1 行に 1 つずつ整数が書かれている. 1 行目には X 社の 1 リットルあたりの料金 A が書かれている. 2 行目には Y 社の基本料金 B が書かれている. 3 行目には Y 社の料金が基本料金のみになる使用量の上限 C が書かれている. 4 行目には Y 社の 1 リットルあたりの追加料金 D が書かれている. 5 行目には JOI 君の家の 1 ヶ月の水道の使用量 P が書かれている. 書かれている整数 A, B, C, D, P はすべて 1 以上 10000 以下である. ・IOI2024予選問題の解説 http://imetrics.co.jp/mathematics/IOI2014_elucidation.pdf ・IOI2014問題解答編 http://imetrics.co.jp/mathematics/IOI2014.pdf 問題 3-2: 水ロケットの最大飛行到達距離と飛行時間を(微分方程式を使わずに)解く (c言語) (約30分) 500 ml ペットボトル65g、水を約200ml, 空気圧を3気圧 初速度=20 m/s, 発射角=45度、重力加速度=9.8 m/s^2 <変数の定義> #include <math.h> /* 数学ライブラリ */ #define g 9.8 /* m/s^2 重力加速度のこと */ #define PI 3.141592653589793 /* 円周率 π*/ int V0; /* 初速度 */ int a;` /* 発射角度 */ double t; /* 飛行時間 */ double D; /* 飛行距離 */ <計算式> /* 飛行時間 t 2 V0 sin θ /g */ t = 2*V0* sin(a)/g; /* t時間後のx, y方向の変位は、x = Vt cos θ, y = Vt sin θ - 1/2 g t*2 */ D = (V0*V0/g)*sin(2*a); < 計算結果の表示 > 例: printf(“\n発射角度 = %d”,a); printf("\n到達距離 = %.2f",D); ・水ロケットの性能計算 http://imetrics.co.jp/academy/水ロケットの性能計算書.pdf ・水ロケット飛距離 C言語解答編 http://imetrics.co.jp/mathematics/WaterRocket.pdf 問題3-3 : 日出・日没時間を計算(c言語) (30分) 日付、緯度、経度だけを入力条件にして、日出と日没の時間を求める. 日付(days)は、1月1日からのl通算日 Intで定義. 緯度経度は、a度b分c秒を 、a. 0000 + b / 60 + c / 3600 doubleで定義. 均時差(Et) は、太陽時 - 平均太陽時. 天球上を一定な速さで動くと考えた平均太陽と視太陽(真 太陽)との移動の差で、.単位は経度での角 度(分)で表示 太陽の南中時間(hour)、高度(CA)、太陽の赤緯(delta)、太陽の時角(H)、doubleで定義. 日出(Sunrise)・日没時間(Sunset)、doubleで定義. Sunrise = (DEG(-H) + (9.0 - Et + 12.0) * 15.0 - DEG(L)) / 15.0 Sunset = (DEG( H) + (9.0 - Et + 12.0) * 15.0 - DEG(L)) / 15.0 ・日出・日没の計算プログラミング (C言語) 解説編 http://imetrics.co.jp/mathematics/ CrossingTheMeridian.pdf ・日出・日没計算プログラム解答編 http://imetrics.co.jp/mathematics/Sunriseset.pdf