PowerPoint プレゼンテーション

Similar documents
Java講座

PowerPoint プレゼンテーション

プログラミングA

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

メソッドのまとめ

プログラミング入門1

プログラミングA

プログラミング入門1

Prog1_6th

Javaプログラムの実行手順

PowerPoint Presentation

プログラミング入門1

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Microsoft PowerPoint - prog03.ppt

デジタル表現論・第4回

プログラミング基礎I(再)

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

メソッドのまとめ

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Prog1_2nd

PowerPoint プレゼンテーション

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft Word - no11.docx

プログラムの基本構成

プログラミング入門1

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

プログラミングA

PowerPoint プレゼンテーション

プログラミング入門1

Microsoft PowerPoint - lec10.ppt

JavaプログラミングⅠ

Microsoft PowerPoint - 3.pptx

スライド 1

6 関数 6-1 関数とは少し長いプログラムを作るようになると 同じ処理を何度も行う場面が出てくる そのたびに処 理を書いていたのでは明らかに無駄であるし プログラム全体の見通しも悪くなる そこで登場す るのが 関数 である 関数を使うことを 関数を呼び出す ともいう どのように使うのか 実際に見て

Prog1_3rd

Microsoft Word - VBA基礎(6).docx

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

cp-7. 配列

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

プログラミング入門1

Microsoft PowerPoint - ruby_instruction.ppt

JavaプログラミングⅠ

Microsoft Word - VBA基礎(3).docx

JavaプログラミングⅠ

デジタル表現論・第6回

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

第2回講義:まとめ

JavaプログラミングⅠ

情報処理Ⅰ

Microsoft Word - 3new.doc

プログラミング実習I

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の

2

基礎計算機演習 実習課題No6

2

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

Microsoft PowerPoint - prog04.ppt

gengo1-11

ガイダンス

PowerPoint プレゼンテーション

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

PowerPoint プレゼンテーション

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

Microsoft PowerPoint - prog08.ppt

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

計算機プログラミング

Microsoft PowerPoint - 計算機言語 第7回.ppt

プログラミング基礎

Javaによるアルゴリズムとデータ構造

問題 01 以下は コンソールより年齢を入力させ その年齢にあった料金を表示するプログラムである 年齢ごとの金額は以下の通りである 年齢の範囲金額 0 歳以上 6 歳以下 120 円 7 歳以上 65 歳未満 200 円 65 歳以上無料 package j1.exam02; import java

プログラミング入門1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Microsoft PowerPoint - kougi6.ppt

プログラミング基礎

Prog1_10th

GEC-Java

1. if~ 1.1. 確認を促す まずは簡単な分岐プログラムを作ってみましょう 以下はそのフローチャートです 開始 charc よろしいですか? (y/n) 変数 c の値が 'y' と等しいかどうか c c='y' Yes よろしいですね No 終了 1: 2: 3: 4: 5: 6: 7: 8

プログラミング入門1

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

情報処理Ⅰ演習

JavaプログラミングⅠ

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

Microsoft Word - java a.doc

情報実習Ⅱ

memo

JavaプログラミングⅠ

Microsoft PowerPoint - prog09.ppt

memo

プログラミング入門1

JAヴぁ講座 第三回

Microsoft Word - no103.docx

ToDo: 今回のタイトル

Transcription:

Let s review! 2012.5.10(Thu) 担当者清水浜田

今までに覚えた (?) こと 入出力 変数 演算子 条件分岐 ループ構文 メソッド 今日はこれらを復習して行きます 2

String 変数名 = JOptionPane.showInputDialog( 説明 ); JOptionPane.showMessageDialog(null, 表示させたいもの ); import javax.swing.joptionpane; を忘れずに! 3

変数を作るときは型を設定する ( 変数を使うときは不要 ) 文字列 String 整数 int(integer) 実数 double 文字列 整数の変換はInteger.parseInt( 変数 ); 文字列 実数の変換はDouble.parseDouble( 変数 ); Double 型の変数の小数点以下の末端の 0 は省略される 4

四則 + - * /( 商 ) %( 余り ) ( 不 ) 等号 =( 左辺に右辺の値を代入 ) ==( 等しい )!=( 等しくない ) >=( 以上 ) <=( 以下 ) > < 論理 &&( かつ ) ( または )!( 否定 ) a+b の答えを出力 a と b を別々に出力してしまっている 5

6

i<5 i が 5 より小さい間はループを続ける i++ ループが終わったら i の値に 1 を足す これで処理内容が 5 回ループされる ( 繰り返される ) (i = 0, 1, 2, 3, 4) i は 0,1,2,,num まで増えていき i =num になった瞬間ループを抜ける 最終的に num 回だけ for 文の中を処理する 7

while 文の中身は永遠に繰り返す 処理をとめるには 1break 文を使う 2 条件から外れる 次頁と言った方法がある break 文はループを終了させる働きを持つ while 文は条件が true だと永遠にループする 8

boolean も String や int 等と同じ変数の型 ( 使い方も同じ ) boolean 型の変数に代入できるのは true または false のみ if 文や while 文の条件判定などに用いられる この while 文は boolean 型の変数である isloop に true が入っているときにループするという条件がついている 逆に isloop が false だとループしない 9

If 文や while 文の条件式になっている boolean 型の変数の前に! をつけることで値を反転することができる すなわち 変数の値が true なら false に false なら true に変わる 変数 isloop の前に! をつけることによって値が反転する! によってループを止めるには isloop に true を代入しなければいけない 10

Math.random() で 0 以上で 1 未満の乱数を生成できる Math.random で 0 以上で 1 未満の乱数を生成し それを 6 倍することで 0 以上で 6 未満の乱数をつくっている (int) をつけることで小数点以下の数字を切り捨てて整数にしている これによって 0, 1, 2, 3, 4, 5 の数字のどれかになるので 1 を足してさいころにしている 11

簡単なタイピングゲームを作ってみよう インプットダイアログに表示した文字列と 入力された文字列が同じかを確かめる これを 3 回繰り返し 正解数を返す 実行例 : 12

n 個の m 面サイコロを振って その出た目の合計を出力するプログラムを作成せよ さらに サイコロ一つ一つの出目をコンソールに表示せよ コンソールへの出力は System.out.print() もしくは System.out,println() を使う 実行例 : 13

プログラムをまとめて名前をつけたもの (if 文 for 文みたいな何か命令するものではなくただ単にプログラムをまとめる役割 ) メソッドを使わなくてもプログラムは書けるが プログラムがわかりやすくなるので必須 メソッドの例 14

これでこのメソッドの中身をこれから実行するという命令になる これがないとメソッドの中身を いくら書いても実行してくれない Question という名前のメソッドの中身を実行するぞー! それが終わったら Answer という名前のメソッドの中身を実行するぞー! 15

{} の中がメソッドの中身になる start メソッドもこのように書きましたね Question メソッドの中身 Answer メソッドの中身 16

1startメソッドから実行 2startメソッド内にQuestion メソッドが宣言されているのでQuestionメソッドを実行する 3startメソッド内にAnswer メソッドが宣言されているのでAnswerメソッドを実行する 1 2 3 2 3 17

メソッド同士は同格 命令文などはメソッドより格下!!! 命令文はメソッドの中に書き メソッドは他のメソッドの外に書く! メソッドの中にメソッドを書いちゃだめ! メソッドの外に命令文とか書いちゃだめ 18!

Java の仕様上 違うメソッド同士で同じ変数のやり取りはできない ( 例 )Question メソッドにある変数 num をそのまま Answer メソッドに送ることはできない Question メソッドで作った変数 num を Answer メソッドで使いたいのだが そのままではだめか でも変数の中身 ( データ ) ならやり取りができる やり取りするために引数というものを使う 19

Question メソッド内で作られた変数 num に入っている中身を Answer メソッドに送りたい Question メソッド内での操作 Answer メソッドを宣言するとき括弧の中に送りたい変数の名前を書く これで Answer メソッドが起動するときに num に入っている中身が Answer メソッドに送られる 変数そのものは送られない 括弧の中に入っている変数を実引数と言う 20

Answer メソッドで num の中身を受け取りたいが それを入れる変数が Answer メソッドにはない そこで新しく変数を作る Answer メソッドでの操作 Answer メソッドの中身を書くとき 最初の括弧に num の中身を入れるための変数を新しく作る 新しく作るので変数の型を書く必要があるが それは実引数にあわせる ここで作った変数はこのメソッド内で自由に使用可能 括弧の中に入っている新しく作った変数を仮引数という ここで作った変数は もとの変数 num と別の変数である 21

1start メソッドから実行 2start メソッド内に Question メソッドを宣言し Question メソッドを実行する 3Question メソッドの最後に num を引数とし Answer メソッドを宣言し 呼び出す 4Answer メソッド実行時に num の中身を入れるための int 型変数 number が作られる そして Answer メソッドを 実行する 1 2 3 2 4 22

引数は 2 つ以上とることもできる 変数 name の中身と変数 age の中身を Answer メソッドに渡したい Question メソッドでは送りたい変数の名前をカンマ区切りで書く Answer メソッドでは name と age の中身を入れるための変数を 2 つ作る 1 番目の実引数の中身は 1 番目の仮引数に 2 番目の実引数の中身は 2 番目の仮引数に入る 3 番目以降の実引数も同様 23

下みたいに実引数と仮引数で型が違っていると OUT 実引数が String 型なのに仮引数は int 型 実引数が int 型なのに仮引数は String 型 24

自分自身を呼び出したメソッドに 値を返すことができる ここはいままで void だった 値を返すときは返す変数の型をここに書く 値を返さないときは今までどおり void でいい return 返す変数の名前 ; と書くことで値を返せる なお 返せる値は 1 つだけである 25

とすれば 返ってきた値をそのまま変数に入れられる 当然だが 返ってくる値の型と変数の型は同じでなくてはいけない Question メソッドを実行し Question メソッドから返ってきた値を変数 ans に入れる num に 1 を足した値を Question メソッドを宣言したところに返す 26

boolean 型の値 (true または false) を返すことで if 文や while 文の条件式をメソッドを使って表すことが可能になる この while 文の条件式は judge メソッドを実行し judge メソッドから返ってくる値が true ならループを繰り返し false ならループをやめる と言う意味である なお judge メソッドを宣言する際変数 result と count を実引数に取っている Judgeメソッドは仮引数として変数 nowresultとnowcountを作り この2 つの変数の値によってfalseを返してループをやめさせるか trueを返してループを続けるかを判定する 27

条件式となるメソッドの名前の前に! をつけることで返ってきた boolean 型の値を反転することができる すなわち 返ってきた値が true なら false に false なら true になる P10 と要領は同じ これより上のプログラムは前頁と同じ メソッド judge の前に! をつけたことで返ってくる値を反転する よって ループをやめるときは true, ループを続けるときは false を返さなければいけない 28

29

演習 3 で作ったサイコロのプログラムを サイコロの面の数と 振る個数を受け取り サイコロの目の合計値を返す int 型のメソッドにせよ 30

2 次方程式 ax^2+bx+c=0 の解を表示するプログラムを次からの 2 ページに示すので 赤線が引いてある空欄を埋めなさい なお 解は実数の範囲で考え a=0 のときの処理は考えない プログラムは start() メソッドから始まるものとする 2 次方程式の解の公式は x = b± b2 4ac 2a 判別式は D = b 2 4ac ちなみに Math.sqrt( 変数 ); で変数の平方根を求めることができる 31

void start() { String message= "a の値を入力してください "; double numa= ; message= "b の値を入力してください "; double numb= ; message= "c の値を入力してください "; double numc= ; } solveequation( ); // 入力された値を double 型で返すメソッド inputdouble(string message){ String input = JOptionPane.showInputDialog(message); return Double.parseDouble(input); } // 判別式を求めるメソッド double getdiscriminant(double a,double b,double c){ double discriminant = b * b - 4 * a * c; return ; } 32

// 2 次方程式の解を求めるメソッド void solveequation(double a, double b, double c) { double D = getdiscriminant(a, b, c); if ( ) { JOptionPane.showMessageDialog(null, " 解なし "); } else { double solutionplus = (-b + Math.sqrt(D)) / (2 * a); double solutionminus = (-b - Math.sqrt(D)) / (2 * a); } } if (solutionplus == solutionminus) { JOptionPane.showMessageDialog(null, " 解は " + solutionplus); } else { JOptionPane.showMessageDialog(null, " 解は " + solutionplus + " と "+ solutionminus); } // 2 次方程式が解を持つかどうかを判定するメソッド havesolutionornot(double D) { if (D < 0) { return false; } else { return true; } } 33

プログラムを順番に追っていこう コメントアウトをヒントにしてメソッドがどういう働きをしているか考えてみよう 実引数と仮引数の関係は正しいだろうか? return 文はあるだろうか? あるとしたらその型は? If 文の条件式には P9 の条件式のような使い方も可能 34

簡単な戦闘システムを作ってみよう 最初にプレイヤーの HP と 敵の HP を決める プレイヤーに行動を入力させて それによって処理を分岐させる サイコロで出目勝負をして 負けた方の HP を減らす この時のサイコロの面の数 個数を処理によって変える 出目勝負には演習 4 で作った関数を使うと良い これをプレイヤーか敵の HP が 0 以下になるまで繰り返す これが出来たらいろいろ改造してみよう 35

36

プログラムの概形の一例を挙げると void start(){ // ループ内で使う変数の初期化 // // プレイヤーの HP と敵の HP を決める //---------------------// while( 敵の HP が 0 以上かつプレイヤーの HP が 0 以上 ){ プレイヤーの行動を入力させるダイアログを表示 if( 入力が行動 1 を表すとき ){ // 行動 1 の処理 // }else if( 入力が行動 2 を表すとき ){ } // 行動 2 の処理 // } if( 敵の HP が 0 以下 ){ // 敵を倒した時の処理 // }else if( プレイヤーの HP が 0 以下 ){ // 倒された時の処理 // } } 37

これで復習は終わりです ここまで理解すればプログラミング入門 1 の内容の 4 分の 3 はできたも同然! メソッドは難しいかもしれませんが これからプログラムを書く上で欠かせないのでがんばって勉強しましょう 次回は 5/14( 月 ) に行います 内容は配列とクラスです 次回の内容も非常に重要です また会いましょう 38