• 検索結果がありません。

前回の復習(1)

N/A
N/A
Protected

Academic year: 2021

シェア "前回の復習(1)"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング A

5

回 場合に応じた処理、繰り返し

2013年5月27日 東邦大学 金岡 晃

(2)

前回の復習(1)

このプログラムを作成し実⾏してください

(3)

前回の復習(2)

このプログラムを作成し実⾏してください

(4)

前回の復習(3)

このプログラムを作成し実⾏してください

(5)

前回の復習

• 演算⼦

– 代⼊演算⼦、インクリメント、シフト演算⼦

• 型変換

(6)

場合に応じた処理

(7)

こういうプログラムを作りたい

おめでとう!これで

100

点越えの プレゼントを獲得!

というメッセージを出⼒

5

教科のテスト

各科目の点数の合計が

100

点以上

100

点未満

残念!

100

点越えのプレゼント まであと**点!

というメッセージを出⼒

条件に応じたプログラム

5

教科の点数の合計が

100

点以上か

(8)

条件

5

教科の点数の合計が

100

点以上か

” true or false

で答えられる

条件

式のうち、

true

あるいは

false

で答えられるもの

関係演算子や論理演算子をつかって記述される

条件は、式として評価され、

true

または

false

の値

(boolean

)

を返す

記号 名前

> より⼤きい

>= 以上

< 未満

<= 以下

== 等価

⾮等価

演算⼦関係

sum>=100

(9)

関係演算⼦と boolean

(10)

条件に従ったプログラミング

おめでとう!これで

100

点越えの プレゼントを獲得!

というメッセージを出⼒

5

教科のテスト

各科目の点数の合計が

100

点以上

100

点未満

残念!

100

点越えのプレゼント まであと**点!

というメッセージを出⼒

条件は書くことができた。では、条件に従って動作を変更させるには??

if if

else

switch

特殊な文がある

(11)

if (条件){

1;

2;

… }

if (

条件

)

;

条件に従ったプログラミング(1)

: if ⽂

もし〜だったら、**しよう

if

条件

true

だったら

を実行

if(sum>=100)

System.out.println(“おめでとう!これで100点越えのプレゼントを

獲得!”);

複数の⽂を実⾏

(12)

条件に従ったプログラミング(2)

: if 〜 else

もし〜だったら、**しよう。

〜じゃなかったら、○○しよう

if (

条件

)

1;

else

2;

if

else

条件

true

だったら

1”

を実行、

false

だったら

2”

を実行

if(sum>=100)

System.out.println(“おめでとう!これで100点越えのプレゼント

を獲得!”);

else

System.out.println(“残念!100点越えのプレゼントまであ ”+(100‐sum)+”点!”);

(13)

if 〜 else の例題

(14)

100

点未満で

90

点以上

条件に従ったプログラミング(2)

: if 〜 else

もし〜だったら、**しよう。

もし〜じゃなくて△△だったら、○○しよう、

それでも違うんだったら××しよう

if(sum>=100)

System.out.println(“おめでとう!これで100点越えのプレゼント

を獲得!”);

else if (sum>=90)

System.out.println(“おしい!100点越えのプレゼントまであ ”+(100‐sum)+”点!”);

else 

System.out.println(“がんばれ!100点越えのプレゼントまであ

”+(100‐sum)+”点!”);

(15)

条件に従ったプログラミング(2)

: switch ⽂

こういったプログラムを作りたい

もし⼊⼒されたのが

A

だったら、

X

という作業を

もし⼊⼒されたのが

B

だったら、

Y

という作業を

もし⼊⼒されたのが

C

だったら、

Z

という作業を

もしどれでもなかったら、

W

という作業を

• If

else

の組み合わせでもできるが

switch(){

case 1:

1;

break;

case 2:

2;

break;

default:

3;

break;

switch

(16)

switch ⽂

switch(){

case 1:

1;

break;

case 2:

2;

break;

default:

3;

break;

}

switch

“式”の値が“値き、“文1”を実行。1”だったと

“値2”だったときは、“文2 を実行。

どれでもないとき(default は、“文3”を実行。

注意

switch()

の中の式は、条件式だけではなく通常の式が使える

break

: 制御文(

if

文や、

switch

文)を途中で終了させる命令

(17)

switch の例題

(18)

論理演算⼦

記号 名前

!

論理否定(単項)

&&

論理積

||

論理和

または、かつ、の話。

複数の条件をまとめて評価するときや、条件の否定(~でないとき)をするときに使う 条件が

2

つある場合どうしよう?

たとえば「大学近辺の」「ランチの時間帯にやっている」という飲食店を探すとき

if

else

2

回使えばできるが、

いっぺんにまとめてできないか?

演算⼦論理

(19)

論理演算⼦のイメージ

&&

(AND)

||

(OR)

! (NOT)

A B

A B

A

(20)

論理演算⼦の例題

(21)

何度も繰り返す

(22)

こういうプログラムを作りたい

120

⼈いる情報科学科全員のプログラミング

A

の 合計点と平均点を求めたい

できないことはない。合計を入れておく変数を作り、

120

回「次の人の点数を入れてください」と書く。

120

回おんなじことをプログラムに書かない といけない??

(23)

for ⽂

for (

初期化の式

繰り返すかどうか調べる式

変化のための式

)

; for

繰り返すか どうか調べる

式 初期化

変化のための式

true

false for

⽂の

for

構造⽂の 構造

(24)

ループ内で変数を使う

初期化の式 :

int i=1

繰り返すかどうか調べる式 :

i <= 5

変化のための式 :

i++

ループの変数を

⽂に使うこともできる

(25)

ループ内で変数を使う

繰り返すか どうか調べる

式 初期化

変化のための式

true

false

int i=1

i<=5 “

繰り返しています

の出⼒

i++

(26)

for ⽂の例題

(27)

while ⽂

while(

条件

){

;

… } while

条件が

true

の間 繰り返す

条件

true

while

⽂の

while

構造⽂の 構造

false

条件に⼊るものを⽂の中で 変化させないと 無限ループになる

恐れがある

(28)

do 〜 while ⽂

do{

;

} while(

条件

);

while

最初に文を実行し、

条件が

true

の間繰り返す

条件

true do~while

⽂の

do~while

構造⽂の 構造

false

(29)

break と continue

• 制御⽂( if, switch, for, while )を途中ですっ⾶ばして次に⾏く

– 次?

ループを外れる ループに戻る

break;

continue;

(30)

continue の例⽂

(31)

今⽇の課題

1. 120までの偶数を出⼒するプログラムを作成してくださいただし、for⽂とif⽂を利⽤すること

2. キーボードからテストの点数を⼊⼒させ、その合計点と平均点を出⼒するコードを 記述してください

ただし、0が⼊⼒されたら⼊⼒が終了するものとし、何⼈(何科⽬)分の⼊⼒で も可能なように⼯夫してください

3. <チャレンジ問題>

キーボードから⼊⼒された数字が素数であるかどうかを判定する、素数判定プログ ラムを作ってみよう

素数:1とその数以外では割り切れない数(これはできなくても構いません)

提出先

[email protected]‐u.ac.jp

件名

プログラミングA:第5

注意

かならず、メールで提出してから帰ってください。また提出前に、エラーが出た 画⾯を、私かTAに⾒せて確認を受けてから帰ってください。

ソースコード(javaファイル)を添付してください

参照

関連したドキュメント

次に我々の結果を述べるために Kronheimer の ALE gravitational instanton の構成 [Kronheimer] を復習する。なお,これ以降の section では dual space に induce され

前回パンダ基地を訪れた時と変わらず、パンダの可愛らしい姿、ありのままの姿に癒されまし

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

前回ご報告した際、これは昨年度の下半期ですけれども、このときは第1計画期間の

具体的な取組の 状況とその効果 に対する評価.

具体的な取組の 状況とその効果 に対する評価.

ことの確認を実施するため,2019 年度,2020

平成28年度の日本経済は、緩やかな回復軌道を描いてきましたが、米国の保護主義的な政