IT
มัธยมปลาย
เคลียร์แล้ว

情報のプログラミングについて質問です。

写真の問題のコ、サ、に当てはまる答えがわかりません。(解答は写真二枚目です)

解答にはコ、、、⑦
サ、、、⑤
だとあったのですが、どうしてそれらが答えになるのかさっぱり分かりません。
分かりやすく教えてください🙇‍♀️
お願いします🙏

18 〈プログラミング1〉 次の文章を読み, 空欄 ア (2013年センター試験本試験 情報関係基礎 改題) ~ チ に入れるのに最も適当なものを、下のそれぞれの解答群 のうちから一つずつ選べ。 なお、 同じ記号を複数回選んでもよい。 に続いて、3日間の平均感染者数の推移のグラフを表示するプログラムを作成した。 なお, 「四捨五入()」は小数点以 30日間のウイルス感染者数が配列 Kansen に入っている。 Aさんは、毎日の感染者数の推移を表すグラフの表示 下を四捨五入して整数にする関数, 「棒表示 (a, b) 」 はaをb個分並べて表示する関数, 「要素数(配列)」は配列の要素数 を返す関数である。 [22,30,23, ... (略)・・ 29,35,42] ア まで1ずつ増やしながら繰り返す : (1) Kansen = (2) iを0から (3) 棒表示 ("@", イ (4) iを0から ウ まで1ずつ増やしながら繰り返す: (5) ) 棒表示 ("@", 四捨五入 ( I 図1 毎日の感染者数の推移と3日間の感染者数の推移を表すグラフを表示する手続き ⑩ 要素数 (Kansen)-3 ① 要素数 (Kansen) - 2 ② 要素数 (Kansen) - 1 ③ 要素数 (Kansen) ア ~ I の解答群 ④ 要素数 (Kansen) +1 ⑤ i ⑥ Kansen [i] ⑧ (Kansen [i] + Kansen [i + 1] +Kansen [i + 2])/3 9 (Kansen [i-1]+Kansen [i] +Kansen [i + 1]) / 3 ⑦ Kansen [i * 3] 次に,Aさんは, 7日間の平均感染者数の推移もグラフにしようと考え,まず, 七つの数値の平均値を求める関数 「平均7」を作成した。 関数の引数は複数の数値が入った配列 Hairetsu と, 平均を求める七つの要素の開始位置の添 字 start, 戻り値は平均値を整数にした値とした。 start は、 配列の先頭要素を指定する場合は0 を指定する。 (6)関数平均7 (Hairetsu, start) の定義: ↓うから (7) syoukei = オ (8) iを0から カ まで1ずつ増やしながら繰り返す : (9) (10) = syoukei syoukei + Hairetsu [start + ク 戻り値 (四捨五入 (syoukei/ キ (11) iを0から (要素数 ( ケ -7)まで1ずつ増やしながら繰り返す : (12) ( 表示("@",平均7 コ サ )) ' オ サ 0 0 ⑤ i 図2 7日間の感染者数の推移を表すグラフを表示する手続き の解答群 ① 1 ⑥ start 6 ⑧ syoukei Hairetsu Kansen (3) コンピュータとプログラミング 139
こことから、1 となることがわかる。 次に,Aさんは7日間の平均感染者数の推移もグラフにしようと考え,まず,七つの数値の平均値を求める関数 「平均7」を作成した。 関数の引数は複数の数値が入った配列 Hairetsu と, 平均を求める七つの要素の開始位置の添 字 start, 戻り値は平均値を整数にした値とした。 start は、 配列の先頭要素を指定する場合は0 を指定する。 (6) 関数平均7 (Hairetsu, start) の定義: (7) syoukei オ (B) iを0から カ まで1ずつ増やしながら繰り返す: (9) (10) _syoukei = syoukei + Hairetsu [start + キ 戻り値 (四捨五入 (syoukei/ ② ク ()) (11) iを0から (要素数 ( ケ 7)まで1ずつ増やしながら繰り返す : (12) 棒表示("@",平均7(1 コ ③ 図2 7日間の感染者数の推移を表すグラフを表示する手続き オ 0 サの解答群 ① 1 ② 6 ③ 7 ④ start ⑥ Hairetsu ⑦ Kansen ⑧ syoukei 問題文 Check 「7日間の平均感染者数を求める必 「要がある」と読み取れる。 ② 「添字 start から キ だけ位置を ずらしながら syoukei に Hairetsu の 要素の値を加算している」 と読み取れ る。 ③ 平均7 ( コ [ (プロ 正 サ この戻り値 の値(個数)分 "@" を表示する」と読み 取れる。 ⑤合 ** ●「予約」は必ずれ 解答 オ カ キ (5) ク 1個に き「予約」が1個 ケ ⑦ 解説 オ 1136 ケサ (6)~(10) 行は,関数 「平均7()」の定義部分である。 引数として渡された配列について、 同じく引 数として渡された添字の位置から7個分の要素を繰り返し処理の中で順番に加算しながら合計を求めている。 (10) 行目で,合計を7で割って平均を求め, 四捨五入した値を戻り値として呼び出し元に返している。 (11)~(12) 行は,範囲をずらしながら7日間平均を求めてグラフ表示を行う処理で,関数 「平均7 ( ) 」 を繰り返し呼び出している。 平均を求める対象範囲の開始位置は,添字0から始まり, (要素数 (Kansen)-7) までとなる。範囲をそれ以上後ろにずらすと, 存在しない要素にアクセスすることとなり,参照エラーが発生する。 なお, Kansen は, (1) 行目で値を実際に代入した配列である。 一方, 関数 「平均7()」で使われているHairetsu は, 引数として渡された配列を指し示すもので,常に Kansen を指すとは限らない。

คำตอบ

✨ คำตอบที่ดีที่สุด ✨

問題文(プログラミングコード)の書き方がわかりにくいみたいです
ーーーーー
(6)~(10)は関数の定義なので「平均7」が呼ばれたら処理を開始する部分
・・・問題文の関数と平均7の間にスペースがないので、エラーになりそう
ーーーーー
(5)の次は、(11)の処理に移る

(11)(12)の処理は、過去7日間の平均(移動平均)を毎日表示する
7日ごとに計算するようにも考えられますが違うようです。
(なぜなら、(11)でiは1ずつ増やすとしている)
(12)では過去7日の平均を「関数 平均7」で計算するため、
感染者データKansenと基準となる日(いつから7日分)iをセットして引き渡す。
(関数 平均7の処理を確認しておくことも必要)

(12)平均7(Kansen,i)でセットし、
 →(11)関数 平均7(Hairetu,start)の文字で受け取る

Kansenは配列ですが()は付けない
 ×Kansen() → 〇Kansen としてデータ引き渡す
 引き渡した「(6)関数 平均7」では、Hairetuに配列としてセットされる
 (途中省略)
 計算結果(7日分を合計して、7で割り、四捨五入)を
 戻り値(→平均7(Kansen,i))として戻る

(12)平均7(Kansen,i)を棒表示する

となっていますが、わかりますでしょうか

りんりん

返信遅くなりすみません!!
お陰様で理解出来ました!!!ありがとうございます!

แสดงความคิดเห็น
ข้อสงสัยของคุณเคลียร์แล้วหรือยัง?

เมื่อดูคำถามนี้แล้ว
ก็จะเจอคำถามเหล่านี้ด้วย😉