第45問 おつりの硬貨の枚数
1780円のおつりを、500円玉・100円玉・10円玉を使って、できるだけ少ない枚数でわたします。それぞれ何枚になるかを表示しよう。大きい硬貨から順に「わり算の商(小数は切り捨て)がその硬貨の枚数」「わったあまりが次に回す残り」になります。あてはまる記号を選ぼう(3か所の穴をうめよう)
難易度:★★★☆☆(3/標準)。共通テスト「情報I」で使われるDNCL(共通テスト用プログラム表記)の穴埋め問題です。JavaScriptを有効にすると、このページでプログラムを組み立てて実行しながら解けます。
プログラム
tsuri = 1780
go = 切り捨て(tsuri / 500)
nokori = tsuri [A] 500
hyaku = 切り捨て(nokori / 100)
hasuu = nokori [B] 100
juu = hasuu [C] 10
表示する("500円玉が" + go + "枚")
表示する("100円玉が" + hyaku + "枚")
表示する("10円玉が" + juu + "枚")
空欄 [A]・[B]・[C] に当てはまるものを、次の選択肢から選びます。
選択肢
ヒント
大きい硬貨から順に「金額 / 硬貨の額 = 枚数」「金額 % 硬貨の額 = 次に回す残り」の2本立てです。1780円なら 500円玉は 切り捨て(1780 / 500) = 3枚、残りは 1780 % 500 = 280円、と進みます
解答
- 空欄 [A] …
%
- 空欄 [B] …
%
- 空欄 [C] …
/
よくある間違い
- [A]
/ [B]% [C]/ … 1つ目は「500円玉をわたしたあとの残り」です。/ だと 1780 / 500 = 3.56 という枚数まじりの数になり、100円玉が0枚とおかしくなります。残りは 1780 % 500 = 280 円と、あまりで求めます
- [A]
- [B]% [C]/ … 500円玉は3枚わたすので、ひくなら 1780 - 1500 です。- だと1枚ぶんの 1780 - 500 = 1280 しかひけず、100円玉が12枚になってしまいます。何枚ぶんでも一度にひける % を使いましょう
- [A]
% [B]/ [C]/ … 2つ目は「100円玉もわたしたあとの残り」です。/ だと 280 / 100 = 2.8 となり、10円玉が0.28枚とおかしくなります。残りは 280 % 100 = 80 円と、あまりで求めます
- [A]
% [B]- [C]/ … 100円玉は2枚わたすので、ひくなら 280 - 200 です。- だと1枚ぶんの 280 - 100 = 180 しかひけず、10円玉が18枚になってしまいます。あまりの % なら一度で 80 円になります
- [A]
% [B]% [C]% … 10円玉の枚数は「わり算の商」です。% はあまりなので 80 % 10 = 0 となり0枚になってしまいます。80円は10円玉8枚ちょうどなので、80 / 10 = 8 とわり算にしましょう
ほかの問題