>100 Views
February 04, 22
スライド概要
Java プログラミング入門(スライド資料とプログラム例)(全6回)
https://www.kkaneko.jp/pro/ji/index.html
金子邦彦研究室ホームページ
https://www.kkaneko.jp/index.html
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
ji-2. 計算 (Java プログラミング入門) URL: https://www.kkaneko.jp/cc/ji/index.html 金子邦彦 1
目標 • 自分の思い通りの計算ができるようになる • 四則演算 • ライブラリ関数(三角関数,対数・指数関数など) • 見やすいプログラムを書くために,字下げを行う 2
内容 例題1.三角形の面積 ・変数,代入,入力,出力 ・System.out.printf と System.out.println の違い 例題2.sin 関数による三角形の面積 例題3.標準ライブラリを利用した計算 3
オンライン開発環境 Online GDB • プログラミングを行えるオンラインのサービス https://www.onlinegdb.com • ウェブブラウザを使う • たくさんの言語を扱うことができる Python3, Java, C/C++, C#, JavaScript, R, アセンブリ言語,SQL など • オンラインなので、「秘密にしたいプログラム」 を扱うには十分な注意が必要 4
Online GDB で Java を動かす手順 ① ウェブブラウザを起動する ② 次の URL を開く https://www.onlinegdb.com 5
③ 「Language」のところで,「Java」を選ぶ 6
実行ボタン エディタ画面 プログラムを 書き換えること ができる 7
例題1.三角形の面積 • 底辺と高さを読み込んで,面積を計算するプログ ラムを作る 例) 底辺が 2.5,高さが 5 のとき, 面積: 6.25 • 底辺,高さ,面積を扱うために,浮動小数点数の 変数を3つ使う 8
import java.lang.Math; import java.util.Scanner; public class Main { メッセージ表示と double teihen, takasa, menseki; キーボードからの Scanner s = new Scanner(System.in);データの読み込み public static void main(String[] args) { System.out.println("Please Enter teihen ="); teihen = s.nextDouble(); System.out.println("Please Enter takasa ="); takasa = s.nextDouble(); menseki = teihen * takasa * 0.5; 三角形の面積の式 System.out.printf("menseki = %8.3f\n", menseki); } } 画面表示 9
実行結果画面(例) 10
プログラム実行順 System.out.println("Please Enter teihen ="); メッセージ「 'Please Enter teihen= 」を表示 teihen = s.nextDouble(); 浮動小数点数データを読み込み System.out.println("Please Enter takasa ="); メッセージ「 'Please Enter takasa: 」を表示 takasa = s.nextDouble(); 浮動小数点数データを読み込み menseki = teihen * takasa * 0.5; 計算 System.out.printf("menseki = %8.3f\n", menseki); 計算結果を表示 11
プログラムとデータ メモリ ① teihen teihen = s.nextDouble(); 浮動小数点数データを読み込み ② ③ takasa menseki = teihen * takasa * 0.5; 計算 menseki takasa = s.nextDouble(); 浮動小数点数データを読み込み ④ System.out.printf("menseki = %8.3f\n", menseki); 計算結果を表示 3つの変数 12
四則演算のための演算子 + 和 - 差 * 積 / 商 13
変数宣言 • 変数は,データを入れるためのメモリ • 変数宣言とは,変数を使うために,名前と型を書 いて,変数の使用をコンピュータに伝えること 型:double 浮動小数点数 変数名: teihen, takasa, menseki (変数は3つ) 14
代入 • 代入は,計算結果などの値を,変数に格納する • 「=」は,代入の意味 15
入力 入力は,データをプログラムに読み込む nextDouble: 浮動小数点数の入力を行うメソッド 16
出力 • 出力では,メッセージの画面表示,データの画 面表示などを行う. ■ System.out.printf による画面表示 %8.3f: 全体を 8桁,小数点以下 3桁で浮動小数点数を表示 メッセージとデータの組み合わせ表示に適する ■ System.out.println による画面表示 メッセージ表示に適する 17
例題3.sin 関数による三角形の面積 三角形の2辺の長さ a, b とその挟角 thetaを読み込 んで,面積 S を計算するプログラムを作る • 面積を求めるために,sin関数を使う • 円周率 π = 3.14159 とする 1 S = ab sin 2 18
import java.lang.Math; import java.util.Scanner; public class Main { メッセージ表示と public static void main(String[] args) { キーボードからの double a, b, theta, S; Scanner s = new Scanner(System.in); データの読み込み System.out.println("Please Enter a ="); a = s.nextDouble(); System.out.println("Please Enter b ="); b = s.nextDouble(); System.out.println("Please Enter theta ="); theta = s.nextDouble(); 三角形の面積 S = 0.5 * a * b * Math.sin( theta * 3.14159 / 180.0 ); System.out.printf("S = %8.3f\n", S); } 画面表示 } 19
実行結果例 20
例題3.標準ライブラリを利用した計算 • 浮動小数点数データ x を読み込んで,次の計算を 行うプログラムを作る • • • • • 指数 対数 平方根 三角関数 絶対値 21
import java.lang.Math; import java.util.Scanner; public class Main { public static void main(String[] args) { double x; Scanner s = new Scanner(System.in); System.out.println("Please Enter x ="); x = s.nextDouble(); System.out.printf("exp(%8.3f) = %8.3f\n", x, Math.exp(x)); System.out.printf("log10(%8.3f) = %8.3f\n", x, Math.log10(x)); System.out.printf("sqrt(%8.3f) = %8.3f\n", x, Math.sqrt(x)); System.out.printf("sin(%8.3f) = %8.3f\n", x, Math.sin(x)); System.out.printf("cos(%8.3f) = %8.3f\n", x, Math.cos(x)); System.out.printf("tan(%8.3f) = %8.3f\n", x, Math.tan(x)); System.out.printf("abs(%8.3f) = %8.3f\n", x, Math.abs(x)); } 22 }
実行結果例 23
出力と計算式の組み合わせ メッセージと計算結果の表示 24
Java の標準ライブラリの機能(ごく一部) • 指数,対数,平方根 • exp • log10 • sqrt 指数関数(e のべき乗) 対数関数(底を 10 とする自然対数) 平方根 • 三角関数 • cos • sin • tan コサイン サイン タンジェント • 絶対値 • abs 絶対値 25
いろいろな計算 y = Math.sin( x ); sin x を計算し,y に格納 y = Math.sqrt( x ); √ x を計算し,y に格納 d = Math.sqrt( ( x * x ) + ( y * y ) ); √ x2 + y2 を計算し,d に格納 x = Math.sqrt( a * ( a - b ) * ( a - c ) ); √ a(a-b)(a-c)を計算し,x に格納 26
演習1.Heron の公式 • 三角形の3辺の長さ a, b, c を読み込んで,面積 A を計算するプログラムを作りなさい. • Heronの公式を用いること A= s(s −a)(s −b)(s −c) s =(a +b+c)/ 2 27