HOME»応用情報技術者試験掲示板»令和4年春期試験 午後問3【プログラミング】
投稿する

[3396] 令和4年春期試験 午後問3【プログラミング】

 管理人(No.1) 
午後問3(プログラミング)についての投稿を受け付けるスレッドです。
2022.04.17 00:08
たいがさん(No.2) 
バックトラッキング問題でしたね。
2022.04.17 15:40
ぱーちゃんさん(No.3) 
最後は、Zをコピーしておいて、戻りが発生したらZをコピーから復元ですかね
2022.04.17 15:42
KKさん(No.4) 
過去問よりだいぶ複雑な式多いなって思ったのは僕が間違ってるからですかね?!
2022.04.17 15:59
さん(No.5) 
最後って要素の変更かと思った
2022.04.17 16:09
タコさん(No.6) 
最後記述×2全くわからんかったわ
2022.04.17 16:17
かやさん(No.7) 
最後の2つ目は直前のzの更新処理を戻すって書いちゃいました。
最後の1つ目はわからなかったです。
コピーして復元するか~笑
2022.04.17 16:20
さん(No.8) 
最後の2問分からなくて重複チェックと更新?みたいなこと書きました笑
2022.04.17 16:28
ひまびとさん(No.9) 
ぱーちゃんさんと同じで、一時的にコピーとっておいて、2つ目の方で戻すにしました
2022.04.17 16:37
villagerYさん(No.10) 
ア.board[x]と0が等しくない
イ.x+1
ウ.board[x]と0が等しい
エ.0
オ.9※div(x, 9)
カ.board[row_top+i]がnと等しい
キ.mod(x, 9)
ク.board[column_top+9※i]とnが等しい
ケ.9※(div(x, 9)-3)

違うとこあったら教えていただきたいです
2022.04.17 16:40
ゴーーさん(No.11) 
問1
ア. board[x]が0と等しくない
イ. x + 1
ウ. check_ok(n,x)
エ. 0
問2
オ. x - mod(x, 9)
カ. board[row_top + i] がnと等しい
キ. x - 9div(x, 9)
ク. board[column_top + 9i] がnと等しい
ケ. 9div(mod(x,27), 9)
問3
処理A:データ構造Zの該当する数字を0に更新する?
処理B: データ構造Zの該当する数字を1に更新する?

最後20字がよくわからなかった
2022.04.17 16:41
ダミーさん(No.12) 
【設問1】
ア:board[x]が0と等しくない
イ:x + 1
ウ:check_on(n,x)がTrueと等しい
エ:0

【設問2】
オ:div(x,9) * 9
カ:board[row_top + i * 9]
キ:mod(x,9)
ク:board[column_top + i]
ケ:div(x,3) * 3

【設問3】
(・ω・;)?


カとキで「*9」の有無を逆に回答してしまったかもしれない・・・
2022.04.17 16:43
ななしさん(No.13) 
ウはゴーさん
オ、キはvilさんと一緒でした
2022.04.17 16:46
遊兎さん(No.14) 
問2
オ. div(x,9)*9
キ. mod(x,9)
ケ. mod(div(x,9),3)*9
問3
処理A, 処理B: コピー、復元で書いたけど自信ないです

オ、キを解きなおした後、カ、クを直すの忘れてたかもしれない…
2022.04.17 16:51
ハローさん(No.15) 
カとクで「見てるところがxでない」ってつけくわえちゃったけど大丈夫かな…
言ってることは同じなんだけど
2022.04.17 16:52
ベキオさん(No.16) 
【設問1】
ア:board[x]が0と等しくない
イ:x + 1
ウ:check_on(n,x)がTrueと等しい
エ:0

【設問2】
オ:div(x,9) * 9
カ:board[row_top + i] がnと等しい
キ:mod(x,9)
ク: board[column_top + 9i] がnと等しい
ケ:わからんかったー

【設問3】
わからなかったー


2022.04.17 16:52
さん(No.17) 
Viiさんとケ以外ほぼ同じでした。
2022.04.17 16:54
さん(No.18) 
Villagerさんと、全部同じですね
2022.04.17 16:58
ゆはるさん(No.19) 
この投稿は投稿者により削除されました。(2022.04.17 17:00)
2022.04.17 17:00
YNeosさん(No.20) 
ほぼベキオさんと同じ解答で、
ケ:mod(div(x,9),3)*9
処理A:データ構造Zをコピーする
処理B:データ構造Zをコピーを新しいZにする
でした。
2022.04.17 17:00
あわわわさん(No.21) 
設問1
(ア) board[x]が0でない
(イ) x+1
(ウ) check_on(n,x)がtrue
(エ) 0
設問2
(オ) x-mod(x,9)
(カ) board[row_top+i]がnと等しい
(キ) x-9*div(x,9)
(ク) board[column_top+9*i]がnと等しい
(ケ) 9*mod(div(x,9),3)

設問3は諦めました。。。。
2022.04.17 17:01
ミロさん(No.22) 
等しくないのところ
ーー  not ~~
って回答しちゃったんだけどこれ不正解判定?
初心者質問ごめんなさい
2022.04.17 17:05
tatoさん(No.23) 
【設問1】
ア、board[x]が0と等しい
イ、x+1
ウ、check_ok(n,x)
エ、0
【設問2】
オ、x-mod(x,9)
カ、board[row_top+i]がnと等しい
キ、mod(x,9)
ク、board[i*9+column_top]がnと等しい
ケ、mod(div(x,9),3)*9
【設問3】
①データ構造zのコピーを作成する
②データ構造zを処理Aで作成したコピーにする

でした。どうでしょう…

2022.04.17 17:10
いいちこさん(No.24) 
(カ) row_ok(n,row_top+i)がfalse
(ク) column_ok(n,column_top+9i)がfalse

も正解だと思いますが、どうでしょうか?
2022.04.17 17:12
ループさん(No.25) 
設問1
ア:board[x]が0と等しくない
イ:x+1
ウ:check_ok(n,x)とtrueが等しい
エ:0
設問2
オ:9×div(x,9)
カ:nとboard[i+row_top]が等しい
キ:mod(x,9)
ク:nとboard[9×i+column_top]が等しい
ケ:9×mod(div(x,9),3)
設問3
処理A:データ構造Zの入れる数字の要素を0にする
処理B:1つ前のデータ構造Zの更新処理を取り消す

にしました!*を×と書いてしまって間違えにならないか不安過ぎる。
2022.04.17 17:19
ループさん(No.26) 
>>いいちこさん
無限にrow_ok(n,x)とcolumn_ok(n,x)を呼び出すことになって不正解になりそう。
2022.04.17 17:23
tatoさん(No.27) 
「とtrueが等しい」をつけ忘れたー
これ、間違えになるんですかね?
普通にプログラム感覚で書いてしまった。
2022.04.17 17:30
さん(No.28) 
この投稿は投稿者により削除されました。(2022.04.17 18:32)
2022.04.17 18:32
iaさん(No.29) 
最後の2つの記述は
①Zをスタックに格納する
②スタックからZを取り出す
と書きました
2022.04.17 17:32
ななしさん(No.30) 
「とtrueが等しい」の部分はいらないと思います

trueかfalseを返す関数であればの話ですが
2022.04.17 17:32
4回目さん(No.31) 
キをx-(x-mod(x,9))にしたんですがだめですかね
2022.04.17 17:34
ミミさん(No.32) 
オ:x-mod(x,9)
キ:x-9*div(x,)(

じゃないんです?
オは横一行の重複チェックで、行の左端を表すもので、キは縦一行なので、こうしないとデないと思うんですが。。。
2022.04.17 17:40
ミミさん(No.33) 
No.32
すみません、誤字った上にパスワードタイプミスしてました、、
オ:x-mod(x,9)
キ:x-9*div(x,9)
です。。。
2022.04.17 17:42
ななしさん(No.34) 
今更ですが、オって2通りありません?
①9で割った時の商と9をかける
②9で割った時のあまりをxから引く
2022.04.17 17:54
4回目さん(No.35) 
column_topはxとrow_topとの差だと考えたんですが違うんですかね?どうもしっかりこないです
2022.04.17 17:56
さん(No.36) 
違いますね
2022.04.17 18:01
ミミさん(No.37) 
No.34
確かに、、、2つありますね。
キも皆さんの回答を見ると2通りありそうな気がするんですが、どうなんでしょう。
2022.04.17 18:05
マリンさん(No.38) 
ケはmod (div (x, 9) * 9, 27)にしました
プログラム組んで結果表示させてみたら
00 00 00 03 03 03 06 06 06
00 00 00 03 03 03 06 06 06
00 00 00 03 03 03 06 06 06
27 27 27 30 30 30 33 33 33
27 27 27 30 30 30 33 33 33
27 27 27 30 30 30 33 33 33
54 54 54 57 57 57 60 60 60
54 54 54 57 57 57 60 60 60
54 54 54 57 57 57 60 60 60
になったので枠内の左上のマスを示す添字は求められている…はず
2022.04.17 18:09
4回目さん(No.39) 
オが  x-mod(x,9) と  9*div(x,9) なら
キは  x-(x-mod(x,9)) と  x-9*div(x,9)
になると思うんですがどうなんですかね?
合っててほしいなあ
2022.04.17 18:09
ジミタスさん(No.40) 
自分の回答です。

ア  board[x]!=0
イ  x+1
ウ  check_on(n,x)==True
エ  0
オ  div(x,9)*9
カ  borad[row_top + i]
キ  mod(x,9)
ク  borad[column_top+9*i]

ケ  div(x,3)*3←多分間違いです。

設問3
  ここで  タイムアップでした。
2022.04.17 18:12
ななしさん(No.41) 
>オが  x-mod(x,9) と  9*div(x,9) なら
>キは  x-(x-mod(x,9)) と  x-9*div(x,9)
>になると思うんですがどうなんですかね?
計算上は間違っていないと思います。
「  x = div(x,9) + mod(x,9)  」の関係式が成り立つので。
全部正解になると信じましょう。
2022.04.17 18:20
キヨさん(No.42) 
カ.board[row_top+i]がboard[x]と等しい
はダメ?
2022.04.17 18:21
ななしさん(No.43) 
>「  x = div(x,9) + mod(x,9)  」の関係式が成り立つので。
「  x = 9 * div(x,9) + mod(x,9)  」ですね。すみません。
2022.04.17 18:21
さん(No.44) 
この投稿は投稿者により削除されました。(2022.04.17 22:57)
2022.04.17 22:57
ASDさん(No.45) 
(ケ)の回答をdiv(x-div(x,27)*27,9)*9
にしたんですけどやっぱり違いますかね?
あと最後の問題Zを初期化処理するとか書いちゃいました...
2022.04.17 18:50
ななしさん(No.46) 
>(ケ)の回答をdiv(x-div(x,27)*27,9)*9
>にしたんですけどやっぱり違いますかね?
気になってexcelで計算しましたが、結果は正しそうですよ。(気休めにでも)
これ、採点者も大変ですね。。。(計算上合っているなら、正解になると思いますが・・・)

0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
27 27 27 30 30 30 33 33 33
27 27 27 30 30 30 33 33 33
27 27 27 30 30 30 33 33 33
54 54 54 57 57 57 60 60 60
54 54 54 57 57 57 60 60 60
54 54 54 57 57 57 60 60 60
2022.04.17 20:13
ASDさん(No.47) 
ありがとうございます!
計算機とにらめっこしてました...
2022.04.17 20:33
ああさん(No.48) 
yu自分も*を×にしてしまった...
2022.04.17 20:37
あわわわさん(No.49) 
設問3だけで何点ぐらいの配点になるものなのでしょうか。。
4×2の8点?
3×2?
希望は2×3…
2022.04.17 20:59
たこやきさん(No.50) 
ケの回答なのですが、9*div(x,9)じゃダメなのでしょうか?
みなさんすごく複雑な式なので...。
2022.04.17 21:07
はじきさん(No.51) 
この投稿は投稿者により削除されました。(2022.04.17 21:14)
2022.04.17 21:14
バッハさん(No.52) 
ア board[x]が0と等しい(/(^o^)\ヤッチマッタ)
イ x+1
ウ check_ok(n,x) がtrueと等しい
エ 0
オ x-mod(x,9)
カ board[row_top+i] がnと等しい
キ mod(x,9)
ク board[column_top+9*i] がnと等しい
ケ 9*mod(div(x,9),3)
3-1 データ構造Zの更新処理を実施する
3-2 データ構造Zの初期化処理を実施する

別解の片方しか○にしないとかだったら泣きますお
2022.04.17 21:14
ななしさん(No.53) 
>たこやきさん
>ケの回答なのですが、9*div(x,9)じゃダメなのでしょうか?
こうなりました。4行目以降がNGみたいです。
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
0 0 0 3 3 3 6 6 6
2022.04.17 21:20
余裕合格さん(No.54) 
やっぱり3の答えが分からない
具体的な数字で書くのは違う気がするし、更新処理、初期化処理もしっくり来ない
2022.04.17 21:29
余裕合格さん(No.55) 
と言いつつ52番の方と同じです。
アだけboard[x]が0より大きいにしました。
2022.04.17 21:36
やまじさん(No.56) 
ア、board[x]が0に等しいじゃなくて0より大きいってまずいですかね、、、
2022.04.17 21:37
ほげほげさん(No.57) 
この投稿は投稿者により削除されました。(2022.04.17 21:45)
2022.04.17 21:45
ほげほげさん(No.58) 
設問3ですが、29番さんが正答かと思ってます。。。
データ構造Zは逐次更新されてしまっているため、入れる数字がなく処理マスが1つ前に戻った時に、
戻ったマスで使っていたデータ構造Zが再現できないとバグります。

ちなみに自分は、
処理A:データ構造Zを別領域に保存する
処理B:データ構造Zを別領域から復元する
でした。スタックに気が付いたのが帰り道の時でした。。。

部分点もらえないかなぁ。。。
2022.04.17 21:47
tmpさん(No.59) 
この投稿は投稿者により削除されました。(2022.04.17 21:56)
2022.04.17 21:56
tmpさん(No.60) 
ケ  mod(x-mod(x,9), 27)としました。
2022.04.17 22:07
nonon0358さん(No.61) 
ア board[x]が0でない
イ x+1
ウ check_ok(n,x)
エ 0
オ x-mod(x,9)
カ board[row_top+i] がnと等しい
キ mod(x,9)
ク board[column_top+9*i] がnと等しい
ケ 9*mod(div(x,9),3)
3-1 ??
3-2 データ構造Zの更新処理を元に戻す
2022.04.17 22:20
ななしさん(No.62) 
3-1,3-2は重複チェックを行う、重複チェックを一つ取り消すじゃだめですかね…
2022.04.17 22:33
さん(No.63) 
配列の[]で囲むとこ、()で囲んでしまったんですけど、△点とかくれますか?
()の中身は合ってると思います。
友達からはそこまで採点きつくないと聞いて期待してるんですけど、、、
2022.04.17 22:57
きゃさん(No.64) 
エ、nullにしちゃいました、、
みなさん0にしていますね。
2022.04.17 23:15
kyonさん(No.65) 
ケは「div(x-1,3)*3」にしました
合っているといいな...
2022.04.17 23:21
あああさん(No.66) 
今回のプログラミング問題、プログラムの穴埋めが多いから1点の問題もありそう
個人的予想(というか希望)で、問1 1点×4 問2 2点×5 問3 3点×2 計20点
2022.04.18 00:44
ピザまるさん(No.67) 
オ~ケでnとxを逆に書いてしまったんですけどこれって点もらえませんよね・・・?
(n,xを逆にすればほぼ正解です)
2022.04.18 01:38
toさん(No.68) 
ケは9*mod(div(x,9),3)だと思います
2022.04.18 12:50
ひがみさん(No.69) 
ケは、「x - ケ - mod(x,3)」のトータルで各セルの先頭に来ればいいと考えたので僕もNo.50のたこやきさんと同じ9*div(x,3)にしました。xからケで上にシフトしてmod(x,3)で左にシフトする感じです。
2022.04.18 20:16
さん(No.70) 
1.4て、nullじゃないのか、
board[x]が0のとき空って定義されてましたっけ、、、
2022.04.18 21:41
ぬこさん(No.71) 
div関数は小数点以下は考えなくて良いのでしょうか?(商といえば整数部?)

ケは
mod(div(row_top,9),3)*9
にしました。
2022.04.18 23:57
あああさん(No.72) 
> あ  さん
[盤面の表現]のところで「空白の場合は0を格納する」とあるので、0が正解だと思います。

> ぬこ  さん
確かに「商を求める関数」としか書かれてないですね。
単に「商」というと小数部を含む場合もありますが、div関数とmod関数をわざわざ用意しているところから察して、ってことじゃないでしょうか。
2022.04.19 00:28
ぬこさん(No.73) 
>あああさん
ありがとうございます。
表の流れだと整数のみ格納するようにも見えますね。
自分は少数嫌ってオもx-mod(x,9)にしました。
あと、ケは本文中の[表1の配列及び変数は大域変数とする]から、row_topあたりの変数を使うのかな?と思いましたが邪推かもしれません。
明日から各サイトから速報が出るようなので大人しく待ちます。
2022.04.19 00:43
aaaさん(No.74) 
ケが9*div(x,3)だと、3*3の左上のマスではなく、列の一番上まで上がってしまいますね。
mod(div(row_top,9),3)*9でも正解かと思いましたが、3*3の枠内の重複チェックメソッドframe_ok(n,x)では変数row_topが初期化されていないので引数で渡されているxを用いてmod(div(x,9),3)*9かと
2022.04.19 07:41
キヨさん(No.75) 
カ.board[row_top+i]がboard[x]と等しい
はダメ?
2022.04.19 08:10
ぬこさん(No.76) 
aaaさん
ありがとうございます。
変数row_topは大域変数であることから、row_ok(n,k)で設定された値が持ってこられるのかと思いました。
そうすると計算上はあってるような気がしますがどうなのでしょう、、
模範解答は mod(div(x,9),3)*9 なので、丸貰えればラッキーくらいに思っておきます。
2022.04.19 08:26
カメマさん(No.77) 
オってx-mod(x,9)かと思っていましたが、div(x,9)*9なんですかね。。
小数点以下含まれると成り立たないような気がするのですが、「整数のみ格納する」などの記述ありましたっけ?
(「関数用意しているので察してくれ」ということかもしれないのであまり自信はないです。。)
2022.04.19 13:19
ぬこさん(No.78) 
カメマさん
私も同じ考えでx-mod(x,9)にしました。
どちらも正解もらえると思います。
divについては問題文中で明言されてないはずですが一般的には整数のみが返却されるようです。
2022.04.19 14:08
gjさん(No.79) 
設問3、さすがに二次元配列をスタックに積むような富豪的プログラミングしなくない?そしてこのデータめちゃくちゃ圧縮効率良くない?と思って圧縮してスタックに積む、解凍して復元する、的な回答にしたんですがどこの予備校も圧縮とか書いてないですね(泣)
そもそも仮にマス目の数×9だけ二次元配列を保存したとしてもそんな大した容量にならないな~と後から後悔(処理結果は同じはずだけど、毎回圧縮するから遅くなるので減点されそう)
2022.04.21 00:10
mtさん(No.80) 
大問1の「ウ:check_on(n,x)がTrueと等しい」って「check_on(n,x)」だけだとどうなんでしょうか
check_on(n,x)がtrueを返すので"trueとtrueが等しいからtrue"というのもおかしいなと思ってcheck_on(n,x)だけにしました
2022.04.21 07:38

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop