平成25年度秋 表計算 設問2

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
てんさん  
(No.1)
平成25年度秋 表計算 設問2 f/gなんですが、

■ I:1,I <= NumUsers - NumGroups,1
|  ・相対(B2,C55,G55)←1


この時、Iにあたる記述が繰返し中に無いのですが、いいんですか?
また、C55,G55はいつの間に更新されているんですか?1が繰り返し同じセルに入り続けるように見えますが、違うんでしょうか。
2019.10.06 22:27
まここあさん 
(No.2)
表計算については知識がないですが、Iについての繰り返しであれば、

■ I:1,I <= NumUsers - NumGroups,1

これはいわゆるfor文の繰り返しです。
この行の意味は、Iの値を1からNumUsers - NumGroupsの数になるまで『1つずつ増やしながら』繰り返す、です。

■ I:1,I <= NumUsers - NumGroups,1

この行の一番最後に書いてある「1」が『1つずつ増やしながら』の意味を持ちます。
したがって、繰り返し中にはIに関する記述が必要ありません。



*補足として、投稿者てん様のおっしゃるような「繰り返しの中で、繰り返し条件になる変数の値を変える」というのはwhile文と言われる繰り返しです。
while文は、繰り返し文の最初に繰り返し条件を示し、その条件が満たされる間、永遠に繰り返しつづけます。
この場合はてん様のおっしゃる通り、繰り返しの中に条件に対する何らかの記述がなければなりません。

このようにプログラムの繰り返しには大きくわけて「for文」と「while文」の二つがあります。
しっかりとこの二つを見極めて問題が解けるようにしておきましょう。
2019.10.07 13:29
fuku1005さん 
(No.3)
この投稿は投稿者により削除されました。(2019.10.07 13:43)
2019.10.07 13:43
fuku1005さん 
(No.4)
※下記文章のセルや行列のワークシートは全て「グループ分け」を指します。

・Iにあたる記述が繰返し中に無いのですが、いいんですか?
→まここあ様記載の通り、iは1 ~ NumUsers - NumGroups = 50 - 5 = 45 となります。
なぜ、45回か補足します。
1)学生の数は50人なので、グループ分けは50回行う必要があります。
2)設問2文章:② 5人のグループ長をそれぞれのグループに割り当てる。つまりセル C3~G52 の中で対応するセルの値を 1 に変更する。
  →グループ長のグループ分けが5回行われます。
3)設問2文章:③ 推薦機能によって,推薦する学生の受講者番号はセル C55 に,グループ番号はセル G55 に表示されるので,セル C3~G52 の中で対応するセルの値を 1 に変更する。
  →50人中5人は2)でグループ分けが行われているので、残り45人に対しこの処理を行えば、グループ分けが完了します。

・C55,G55はいつの間に更新されているんですか?1が繰り返し同じセルに入り続けるように見えますが、違うんでしょうか。
→設問1よりP3~P52はO列の値に対する順位が入っています。学生が既にいずれかのグループに割り当てられている場合はJ~O列の値が-1となりますので、設問2文章:③で処理を行った行のP列の値が変わります。
そして、C55:照合一致(1,P3~P52,0) の値が変わります。数式 照合一致(1,P3~P52,0) はセルP3~P52 をセル P3,P4,…と探し、1を最初に見つけたときのセルP3から数えた値を返します。
その後、C55の値に従い、数式 G55:表引き(Q3~Q52,C55,1) の値が変わります。
以上より、相対(B2,C55,G55)のセルC55・G55の値が変わることで、セル C3~G52 の中で対応するセルの値が 1 に変更されます。
2019.10.07 13:44
てんさん  
(No.5)
まここあさん、fuku1005さん回答ありがとうございます。
相対(B2,C55,G55)←1が行われた時点で、C55の値である受験者番号の行のJ~O列の値が-1に更新され、それに伴いP列の値が変更され、C55、B55の値も変更されるということですね。スッキリしました。
また、Iは条件が偽になるまでただ繰り返すために使ってるということもよく分かりました。ありがとうございます。
2019.10.07 15:29

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop