@@ -4,107 +4,114 @@ title: 条件分岐
44
55## if 文
66
7- ** if 文** を用いると、特定の条件下のみで実行されるプログラムを記述することができます 。
7+ ** if 文** を使うと、特定の条件の時だけ実行される処理を書くことができます 。
88
9- ## 基本構造
9+ 次のプログラムを実行すると、 ` 未成年です。 ` と表示されますが、1 行目を ` let age = 18; ` に変更すると何も表示されなくなります。
1010
11- ``` javascript
12- let age = 18 ;
13- if (age < 20 ) {
14- document .write (" お酒を飲めません " );
11+ ``` javascript showLineNumbers
12+ let age = 12 ;
13+ if (age < 18 ) {
14+ document .write (" 未成年です。 " );
1515}
1616```
1717
18- このプログラムは、` お酒は飲めません ` と表示しますが、1 行目を ` let age = 20; ` に変更すると何も表示されなくなります。
18+ 2 行目の ` if (age < 18) ` がポイントです。
19+ ` age < 18 ` は ` true ` になります。
20+ if 文では、` ( ` と ` ) ` で囲まれた部分が、` true ` になると、` { ` と ` } ` で囲まれた処理が実行されます。
21+ このため、` 未成年です。 ` が表示されたのです。
1922
20- 2 行目の ` if (age < 20) ` 部分がポイントです。
21- ここに差し掛かると、括弧内の<Term >式</Term > ` age < 20 ` が` true ` か ` false ` か判断され、` true ` になります。
22- このため、直後の波括弧内の処理が実行されます。
23+ ### 確認問題
2324
24- if 文の基本構造は
25+ 学校で小テストがありました。
2526
26- ``` javascript
27- if (式) {
28- 処理;
29- }
30- ```
27+ テストの点数を表す変数 ` score ` が用意されています。
3128
32- で、< Term >式</ Term >の結果が ` true ` であれば処理が実行されます 。
29+ 点数が 80 点以上なら、 ` 合格です。 ` と表示してください 。
3330
34- ## if ~ else
31+ ``` javascript
32+ let score = 85 ;
33+ // ここにif文を書いてください。
34+ ```
3535
36- if ~ else 構文を用いると、条件が満たされなかったときの処理を記述できます。
36+ < Answer title = " 小テスト " >
3737
3838``` javascript
39- if (式) {
40- 処理1 ;
41- } else {
42- 処理2 ;
39+ let score = 85 ;
40+ if (score >= 80 ) {
41+ document .write (" 合格です。" );
4342}
4443```
4544
46- { /* prettier-ignore */ }
47- <Term >式</Term >の結果が ` true ` であれば処理 1 が、` false ` であれば処理 2 が実行されます。
45+ <ViewSource url = { import .meta .url } path = " _samples/quiz" />
4846
49- ``` javascript
50- let age = 18 ;
51- if (age >= 20 ) {
52- document .write (" お酒が飲めます" );
47+ </Answer >
48+
49+ ## if ~ else 文
50+
51+ if ~ else 文を使うと、条件が満たされなかったときの処理を書くことができます。
52+
53+ 次のプログラムを実行すると、` age ` が ` 18 ` 未満の場合は ` 未成年です。 ` が表示されますが、` 18 ` 以上の場合は ` 成年です。 ` が表示されます。
54+
55+ ``` javascript showLineNumbers
56+ let age = 12 ;
57+ if (age < 18 ) {
58+ document .write (" 未成年です。" );
5359} else {
54- document .write (" お酒が飲めません " );
60+ document .write (" 成年です。 " );
5561}
5662```
5763
58- この例では、 ` age >= 20 ` の結果が ` false ` となるので、 ` 未成年はお酒が飲めません ` が表示されます 。
64+ ` age < 18 ` の結果が ` true ` の場合は 3 行目が実行され、 ` false ` の場合は 5 行目が実行されています 。
5965
60- ## if ~ else if ~ else
66+ ## if ~ else if ~ else 文
6167
62- if ~ else if ~ else 構文を使うと、複数の条件を重ねることができます。
68+ if ~ else if ~ else 文を使うと、複雑な条件を表すことができます。
69+
70+ 次のプログラムを実行すると、変数 ` weather ` が ` 晴れ ` の場合は、` 今日は晴れです。 ` と表示されます。
71+ 変数 ` weather ` が ` 晴れ ` ではなく ` 雨 ` の場合は、` 今日は雨です。傘を持ちましょう。 ` と表示されます。
72+ 変数 ` weather ` が ` 晴れ ` でも ` 雨 ` でもない場合は、` 天気がわかりません。 ` と表示されます。
6373
6474``` javascript
65- if (式1 ) {
66- 処理1 ;
67- } else if (式2 ) {
68- 処理2 ;
75+ let weather = " 晴れ" ;
76+ if (weather === " 晴れ" ) {
77+ document .write (" 今日は晴れです。" );
78+ } else if (weather === " 雨" ) {
79+ document .write (" 今日は雨です。傘を持ちましょう。" );
6980} else {
70- 処理 3 ;
81+ document . write ( " 天気がわかりません。 " ) ;
7182}
7283```
7384
7485![ if 文のフローチャート] ( ./flowchart.drawio.svg )
7586
76- ## 演習
87+ ## 演習問題
88+
89+ 自分の年齢を表す変数 ` age ` が用意されています。
7790
78- 自分の年齢を< Term >変数</ Term >に入れておきます 。
91+ 自分の年齢が 18 歳未満なら ` 選挙権はありません。 ` と表示して、18 歳以上 25 歳未満なら ` 投票に行けます。 ` と表示して、25 歳以上なら ` 衆議院議員に立候補できます。 ` と表示してください 。
7992
8093``` javascript
81- let age = 20 ;
94+ let age = 12 ;
95+ // ここにif~else if~else文を書いてください。
8296```
8397
84- 下を満たすプログラムを作成してください。
85-
86- - 18 歳未満なら ` 選挙権はありません ` と表示する
87- - 18 歳以上 ~ 25 歳未満なら ` 投票に行けます ` と表示する
88- - 25 歳以上なら ` 衆議院議員に立候補できます ` と表示する
89-
9098<Answer title = " 選挙権" >
9199
92- if ~ else if ~ else 構文を使うと、次のように書くことができます。
93-
94100``` javascript showLineNumbers
95- let age = 20 ;
101+ let age = 12 ;
96102if (age < 18 ) {
97- document .write (" 選挙権はありません" );
103+ document .write (" 選挙権はありません。 " );
98104} else if (age < 25 ) {
99- document .write (" 投票に行けます" );
105+ document .write (" 投票に行けます。 " );
100106} else {
101- document .write (" 衆議院議員に立候補できます" );
107+ document .write (" 衆議院議員に立候補できます。 " );
102108}
103109```
104110
105- <ViewSource url = { import .meta .url } path = " _samples/the-right-to-vote " />
111+ <ViewSource url = { import .meta .url } path = " _samples/voting-rights " />
106112
107- 4 行目の式は ` age >= 18 && age < 25 ` ではないかと思うかもしれませんが、上のように ` age < 25 ` としても同じ結果になります。
108- これは、if ~ else if ~ else 構文では、1 つ目の条件が満たされた場合、2 つ目の条件は実行されないためです。
113+ 4 行目は ` age < 25 ` ではなく ` 18 <= age && age < 25 ` ではないかと思ったかもしれません。
114+ しかし、` age < 25 ` と書くことも正しいです。
115+ これは、` age < 18 ` が ` true ` になり 3 行目が実行された場合、4 行目は実行されないからです。
109116
110117</Answer >
0 commit comments