Aさんは、5日間の最高気温を記録した配列Kionから、最も高い気温の日の添字を求めるプログラムを作った(プログラムは共通テスト用プログラム表記。配列の添字は0から始まる)。
( 1 ) Kion = [18, 23, 21, 23, 19]
( 2 ) saidai = Kion[0]
( 3 ) basho = 0
( 4 ) i を 1 から 4 まで 1 ずつ増やしながら繰り返す:
( 5 ) | もし Kion[i] > saidai ならば:
( 6 ) | | saidai = Kion[i]
( 7 ) ⎿ ⎿ basho = i
( 8 ) 表示する(basho)
( 5 )行目の「Kion[i] > saidai」を「Kion[i] >= saidai」に変えて実行したとき、表示される値はどれか。
- ①3
- ②1
- ③4
- ④23
答えと解説を見る
正解は「3」。>= にすると、最高気温と同じ値が後から出てきたときにも basho が書き換わります。
手順
①初めは saidai=18、basho=0 です。
②i=1:23 >= 18 は成り立つので、saidai=23、basho=1。i=2:21 >= 23 は成り立たないので、そのままです。
③i=3:23 >= 23 は成り立つので、basho=3 に書き換わります。i=4:19 >= 23 は成り立ちません。最後に 3 が表示されます。
ひっかけ注意
・「1」…変える前の > のときの結果です。> では同じ値の23では書き換わらないので、最初に現れた添字1が残ります。
・「4」…最後の添字です。19は23より小さいので、basho は4になりません。
・「23」…最高気温の値 saidai です。表示する(basho) なので、表示されるのは気温ではなく、その日の添字(0〜4 のどれか)です。