確認テスト: 条件文
この確認テストの目的は、あなたがコードでの意思決定 — 条件文を理解したかどうかを判定することです。
メモ: 手助けが必要な場合は、確認テスト使用ガイドをお読みください。また、コミュニケーションチャネルのいずれかを使用して、私たちに連絡することもできます。
条件文 1
この課題では、2 つの変数が提供されています。
season— 現在の季節を示す文字列が格納されます。response— 初期化されていない状態で始まりますが、後に出力パネルに表示される応答を格納するために使用されます。
この課題を完成させるには、次のようにします。
seasonに文字列 "summer" が入っているかどうかを調べる条件を作成し、もし入っている場合はresponseに文字列を割り当てて、ユーザーに季節に関する適切なメッセージを表示させるようにしてください。そうでない場合は、responseに一般的な文字列を割り当てて、ユーザーに季節が何であるかわからないことを指示してください。seasonに文字列 "winter" が入っているかどうかを調べる別の検査を追加し、こちらもresponseに適切な文字列を割り当ててください。
この課題の出発点は次のようなものです(まだ何も見えません)。
この出発点の基盤となるコードは次の通りです。
js
let season = "summer";
let response;
// ここにコードを追加
// 以下のコードは編集しないでください。
const section = document.querySelector("section");
const para1 = document.createElement("p");
para1.textContent = response;
section.appendChild(para1);
更新後の出力の初期状態は、次のようになるはずです。
ここをクリックすると、模範解答を表示します。
完成した JavaScript は、次のようになるでしょう。
js
let season = "summer";
let response;
if (season === "summer") {
response = "きっと暖かくて気持ちいいでしょうね。日差しを楽しんで!";
} else if (season === "winter") {
response = "寒すぎないといいのですが。暖かい服を着てください!";
} else {
response =
"そちらの季節がどうなっているのかは分かりませんが、お元気で。";
}
// 以下のコードは編集しないでください。
// ...
条件文 2
この課題では、3 つの変数が提供されています。
machineActive— 応答装置のスイッチがオンになっているかどうかを示す値 (true/false) が格納されます。score— 想像上のゲームにおけるあなたのスコアを格納します。このスコアは応答装置に供給され、どれだけうまくできたかを示す応答を提供します。response— 初期化されていない状態で始まりますが、後に出力パネルに表示される応答を格納するために使用されます。
この課題を完成させるには、次のようにします。
if...else構造を作成して、マシンの電源が入っているかどうかを調べ、もし入っていなければresponse変数にメッセージを入れて、ユーザーにマシンの電源を入れるように指示するようにする必要があります。- 最初の
if...else構造の中に、もう一つのif...elseを入れて、マシンの電源が入っていれば、score の値に応じて適切なメッセージをresponse変数に格納するようにする必要があります。様々な条件の検査(および結果の応答)は以下の通りです。- 点数が 0 未満または 100 を超える場合 — "ありえません。エラーが発生しました。"
- 0 から 19 点 — "ひどい点数だ。完全に失敗だ!"
- 20 から 39 点 — "いくらか知っているようだが、かなり悪い点数だ。改善が必要だ。"
- 40 から 69 点 — "悪くない仕事をしましたね!"
- 70 から 89 点 — "素晴らしい点数だ、実によく分かっている"
- 90 から 100 点 — "すごい点数だね。カンニングしてない?本当?"
下記のライブコードを更新して、完了例を再現してみてください。コードを入力したら、 machineActive を true に変更して、これがうまく動作するかどうか試してみてください。
この演習では、machineActive 変数の値に関係なく、Your score is __ という文字列は画面に残ったままになることに注意してください。
この課題の出発点は次のようなものです。
この出発点の基盤となるコードは次の通りです。
js
let response;
let score = 75;
let machineActive = false;
// ここにコードを追加
// 以下のコードは編集しないでください。
const section = document.querySelector("section");
const para1 = document.createElement("p");
const para2 = document.createElement("p");
para1.textContent = `Your score is ${score}`;
para2.textContent = response;
section.appendChild(para1);
section.appendChild(para2);
更新後の出力の初期状態は、次のようになるはずです。
ここをクリックすると、模範解答を表示します。
完成した JavaScript は、次のようになるでしょう。
js
let response;
let score = 75;
let machineActive = false;
if (machineActive) {
if (score < 0 || score > 100) {
response = "ありえません。エラーが発生しました。";
} else if (score >= 0 && score < 20) {
response = "ひどい点数だ。完全に失敗だ!";
} else if (score >= 20 && score < 40) {
response =
"いくらか分かっているようですが、かなり悪い点数です。改善が必要です。";
} else if (score >= 40 && score < 70) {
response = "悪くない仕事をしましたね!";
} else if (score >= 70 && score < 90) {
response = "素晴らしい点数だ、実によく分かっている";
} else if (score >= 90 && score <= 100) {
response = "すごい点数だね。カンニングしてない?本当?";
}
} else {
response = "電源がオフになっています。電源を入れてスコアを処理してください。";
}
// 以下のコードは編集しないでください。
// ...
条件文 3
最後の課題では、4 つの変数が提供されています。
machineActive- ログインマシンの電源が入っているかどうかを示す値 (true/false) が格納されています。pwd- ユーザーのログインパスワードが格納されています。machineResult- 初期化されていない状態で始まりますが、後にマシンの電源が入ったかどうかをユーザーに知らせるために、出力パネルに表示されるレスポンスを格納するために使用されます。pwdResult- 初期化されていない状態で始まりますが、後に出力パネルに表示されるレスポンスを格納するために使用され、ログインが成功したかどうかをユーザーに知らせます。
この課題を完成させるには、次のようにします。
- マシンのスイッチがオンになっているかどうかを調べる
if...else構造を作成し、machineResult変数に、マシンがオンになっているかオフになっているかをユーザーに指示するメッセージを格納したいと思います。 - マシンの電源が入っている場合、2 つ目の条件も実行して、
pwdがcheeseと等しいかどうかを調べます。もしそうなら、pwdResultに文字列を割り当てて、ユーザーにログインに成功したことを指示します。そうでない場合は、pwdResultに異なる形の文字列を割り当てて、ログインに失敗したことをユーザーに指示しなければなりません。これを単一の行で、if...else構造でないものを使用してほしいと思います。
この課題の出発点は次のようなものです(まだ何も見えません)。
この出発点の基盤となるコードは次の通りです。
js
let machineActive = true;
let pwd = "cheese";
let machineResult;
let pwdResult;
// ここにコードを追加
// 以下のコードは編集しないでください。
const section = document.querySelector("section");
const para1 = document.createElement("p");
const para2 = document.createElement("p");
para1.textContent = machineResult;
para2.textContent = pwdResult;
section.appendChild(para1);
section.appendChild(para2);
更新後の出力は次のようになります。
ここをクリックすると、模範解答を表示します。
完成した JavaScript は、次のようになるでしょう。
js
let machineActive = true;
let pwd = "cheese";
let machineResult;
let pwdResult;
if (machineActive) {
machineResult = "マシンは動作中です。ログインを試みています。";
pwdResult =
pwd === "cheese"
? "ログインに成功しました。"
: "パスワードが違います。ログインに失敗しました。";
} else {
machineResult =
"マシンは動作していません。起動してログインしなおしてください。";
}
// 以下のコードは編集しないでください。
// ...