このプログラムでは、たとえば、1番目が点(1 , 1)であれば
1) 1 1 |
10 INPUT "n=";N 20 S=0 30 FOR K=2 TO N 40 FOR X=1 TO [ア] 50 Y=K-X:S=S+1 60 PRINT S;")";X;Y 70 NEXT X 80 NEXT K 90 END(1) 上のプログラム中の[ア]に、 次の(1)から(9)のうちから適当なものを一つ選んでプログラムを完成せよ。
(1)K+1 | (2)K | (3)K-1 | (4)N+1 | (5)N |
(6)N-1 | (7)N-K+1 | (8)N-K | (9)N-K-1 |
が表示される。
(2) このプログラムを実行し、n=?に対して3を入力すると、新たに
1) [イ] [ウ] | |
2) [エ] [オ] | |
3) [カ] [キ] |
が表示される。
(3) このプログラムを実行し、n=?に対して8を入力すると、 新たに表示される10番目、20番目および最後から一つ前の行はそれぞれ
10) [ク] [ケ] | |
20) [コ] [サ] | |
[シス]) [セ] [ソ] |
となる。
(4) このプログラムによって点(4 , 3)が表示されるような最小のnは[タ]であり、 そのとき、この点は[チツ]番目に表示される。
「格子点」とは、x座標、y座標がいずれも整数である点のことです。 例えば、(1 , 1)や(-4 , 8)は格子点です。 ただし、「格子点」を知らなくても解けるので心配は要りません。 また、この問題では n が絡んでいるので実験すると簡単に解けます。
「**を入力すると、---が表示される」タイプをこれからは「実験タイプ」と呼びます。 このように、具体的な数値を入力させて、その後の結果を聞いてくるタイプの問題では、 どんどん処理を追って実験していくのが常道です。この解き方は、数列の問題にも有効なので、 知っていて損はありません。
- 変数の役割を理解せよ数学で使う変数と同じものがあるので、比較的分かりやすいでしょう。
- X
FOR-NEXTで使っている変数。問題文のx、座標平面上でのx座標を表します。 - Y
問題文のy、座標平面上でのy座標を表します。 - K
x+yの値。なぜなら、50行にY=K-Xとあるからです。 - S
格子点に割り振られる番号を表します。
- X
- 「**を入力すると、---が表示される」タイプは実験あるのみ(2)では、n=3を入れた場合ですから、x+y=2、x+y=3の二つの場合を実験すればOK。 n=8の場合も同様に実験してもよいですし、推測して答えてもよいでしょう。
このプログラムでは、直線x+y=k(図のだいだい色の直線)上の格子点に、
左上の格子点から順に番号を付けています。
kは2-->n-1まで動きます。なので、図の青色からピンク色の直線へ、
順番に番号を付けて行きます。
ただし、青色、ピンク色の直線は含みません。
注意 : 図の●は格子点のことです。
(1) この2重ループの内側のループ(40 FOR X=2 TO [ア] <---> 70 NEXT X)は、 2<=K<=Nを満たす整数Kごとに実行されます。 また、直線X+Y=K上の格子点であり、X,Yは正の整数、つまり、 1以上の整数でないといけないですから、[ア]にはK-1が入ります。答えは、[ア]=3です。
(2) 「実験する」と効果的です。 余白に直線X+Y=3を引いて、それより下側(で第一象限上)にある格子点を見つければ答えは自ずと分かります。 ただし、答えを入れる順番に注意して下さい。 2) [エ] [オ]、3) [カ] [キ]に[エ]=2[オ]=1、[カ]=1[キ]=2としてはいけません。 なぜなら、プログラムでは、X座標の小さい方から順に調べているからです。 [エ]=1[オ]=2、[カ]=2[キ]=1が答えです。
(3) この問題もまずは余白に直線X+Y=8を描いて、
それより下側(で第一象限上)にある格子点を見つけて下さい。数える順番に注意すれば、
答えはすぐに出ます。
実験をしなくても解答は出せます。
最後の[シス][セ][ソ]は直線x+y=8上にある格子点です。[シス]は、順番に注意して下さい。題意の格子点の数-1が答え。
[セ][ソ]は、直線x+y=8上にある格子点で、最後から2つ目の格子点です。最後の格子点は、(7 , 1)ですから、
求める格子点は(6 , 2)です。[セ]=6,[ソ]=2
解答記号 | 解答 | 配点 |
[ア] | 3 | 4 |
[イウ],[エオ],[カキ] | 1 1,1 2,2 1 | 4 |
[ク],[ケ] | 4 , 1 | 2 |
[コ],[サ] | 5 , 1 | 2 |
[シス],[セ],[ソ] | 27,6,2 | 3 |
[タ] | 7 | 2 |
[チツ] | 19 | 3 |