HOME»応用情報技術者試験掲示板»平成28年春期午後問7設問4
投稿する
はい、その点は私も賛成です。
No.3で私は「タッチされた座標」を間違いだと指摘しましたが、部分点が認められる可能性のある間違いだと思っています。
ジンジャーさんの主張はこうだろう、という内容をNo.3の具体例で述べてみます。間違っているようなら指摘してください。
タッチパネルの座標 (700,480) にタッチしたとき、
(これが 下線① 設問2(2) 「タッチされた座標情報」)
メインタスクに(700,480)を通知する。
(これが 下線② 設問4 で、下線① 設問2(2)と同じ解答)
(700,480)が注文履歴確認ボタンの領域内にある、という照合処理を、
入力判定タスク内でもおこなうし、
*その後、メインタスク内でもおこなう*。
それに対して、
公式解答例はこう主張していると私は理解しました。
画面表示タスクから通知される「ボタンの座標」は、
複数の座標情報を内部に持つ構造体のリスト、オブジェクトのリスト
として実装されるでしょう。
領域[0]…左上( 20,100)~右下(180,500)の矩形
領域[1]…左上(220,100)~右下(380,500)の矩形
領域[2]…左上(420,100)~右下(580,500)の矩形
領域[3]…左上(620,450)~右下(780,500)の矩形
タッチパネルの座標 (700,480) にタッチしたとき、
(これが 下線① 設問2(2) 「タッチされた座標情報」)
メインタスクに通知されるのは 領域[3](を指す指標)です。
(これが 下線② 設問4「有効なボタンの座標情報」です)
同じ構造体のリスト、オブジェクトのリストを
入力判定タスクとメインタスクとで共有していれば、
照合処理は入力判定タスクで済んでおり、メインタスクではおこないません。
全然そんなことないですよ。
No.5 の後半で示したような流れの方が効率的だという思いは変わらないけれど、
No.6 のようなストーリーで実現できる、というのはそのとおりですし、
No.6 が不可である根拠を私は問題文から見つけられませんでした。
であるなら、別解(正解)として認められるべきものだ、と考えを改めているとことです。
»[5951] 平成31年 春期 午後問9 プロジェクトマネジメについて 投稿数:4
»[5950] 午後のDB選択しない方がいいのか 投稿数:11
平成28年春期午後問7設問4 [5953]
ジンジャーさん(No.1)
https://www.ap-siken.com/kakomon/28_haru/pm07.html
設問4につきまして、「タッチされた座標」と回答しました。
模範解答は「有効なボタンの座標情報」となっています。
過去、掲示板で「"有効"は必要か?」という趣旨の質問は幾つかされており、その必要性は理解しました。「タッチされた座標」が正解かどうかという質問は見つかりませんでしたので、お考えをお聞かせください。
以下、私の見解です。
有効か無効かの判定基準はボタンの座標内か否かです。この情報を通知する前の分岐で「ボタンの座標内か?」に対して必ず「Yes」を経ていますので、タッチされている座標はすべて有効です。従ってメインタスクへ通知される情報に無効なボタンの情報は含まれ得ません。「タッチされた座標=有効なボタンの座標」、あるいは「タッチされた座標⊂有効なボタンの座標」です。
設問4につきまして、「タッチされた座標」と回答しました。
模範解答は「有効なボタンの座標情報」となっています。
過去、掲示板で「"有効"は必要か?」という趣旨の質問は幾つかされており、その必要性は理解しました。「タッチされた座標」が正解かどうかという質問は見つかりませんでしたので、お考えをお聞かせください。
以下、私の見解です。
有効か無効かの判定基準はボタンの座標内か否かです。この情報を通知する前の分岐で「ボタンの座標内か?」に対して必ず「Yes」を経ていますので、タッチされている座標はすべて有効です。従ってメインタスクへ通知される情報に無効なボタンの情報は含まれ得ません。「タッチされた座標=有効なボタンの座標」、あるいは「タッチされた座標⊂有効なボタンの座標」です。
2025.09.03 20:33
応用太郎さん(No.2)
正解になると思いますよ。
見解として書かれている内容も全くその通りだと思います。
採点講評に書かれているように、「有効なボタン」や「タッチされたボタン」だとNGになる感じです。
見解として書かれている内容も全くその通りだと思います。
採点講評に書かれているように、「有効なボタン」や「タッチされたボタン」だとNGになる感じです。
2025.09.04 00:38
jjon-comさん(No.3)
★AP プラチナマイスター
応用情報 平成28年 春期 午後 問7
https://www.ap-siken.com/kakomon/28_haru/pm07.html
設問2(2) と 設問4 は同じ解答だとおっしゃっているのですよね?
それは間違いです。
表2と図3を参照してください。
タッチパネルタスクから入力判定タスクに通知される
下線① 設問2(2)「タッチされた座標情報」とは、
(タッチパネルにどんな画面が表示されているかを問わない)
タッチパネル自体のタッチ座標です。
横800×縦600のディスプレイなら(0,0)~(799,599)になるでしょうか。
流れ図が進んで、
画面表示タスクから入力判定タスクに通知される
画面種別及びボタンの座標から成る画面情報とは、
画面種別が「図2 (a) 選択画面」だとして例を挙げるならば
ボタンの座標情報の具体例は次のようになります。
左上( 20,100)~右下(180,500)の矩形領域 …商品選択ボタン1
左上(220,100)~右下(380,500)の矩形領域 …商品選択ボタン2
左上(420,100)~右下(580,500)の矩形領域 …商品選択ボタン3
左上(620,450)~右下(780,500)の矩形領域 …注文履歴確認ボタン
この両者を基に ボタンの座標内か? という判断分岐で
タッチの有効性を判断するわけです。
その後の 設問4 で、
下線② 設問2(2) と同じ「タッチされた座標情報」(0,0)~(799,599)を
メインタスクに通知するのなら、
メインタスク側でも同じ入力判定をまたすることになります。
そうではなく、メインタスクに通知するのは、
左上(620,450)~右下(780,500)の矩形領域 という例のような
「有効なボタンの座標情報」です。
いいえ、その解釈は間違っています。
「タッチされた*ボタンの*座標」という表現なら「有効なボタンの座標」と同じと見なすことができるでしょうが、
「タッチされた座標」は 設問2(2) であり、設問4とは別です。
ちなみに。
設問4 が「タッチされたボタン(の識別名)」ではない点について、
私は過去に発言したことがあります。
https://www.ap-siken.com/bbs/4951.html
https://www.ap-siken.com/kakomon/28_haru/pm07.html
> 設問4につきまして、「タッチされた座標」と回答しました。
設問2(2) と 設問4 は同じ解答だとおっしゃっているのですよね?
それは間違いです。
表2と図3を参照してください。
タッチパネルタスクから入力判定タスクに通知される
下線① 設問2(2)「タッチされた座標情報」とは、
(タッチパネルにどんな画面が表示されているかを問わない)
タッチパネル自体のタッチ座標です。
横800×縦600のディスプレイなら(0,0)~(799,599)になるでしょうか。
流れ図が進んで、
画面表示タスクから入力判定タスクに通知される
画面種別及びボタンの座標から成る画面情報とは、
画面種別が「図2 (a) 選択画面」だとして例を挙げるならば
ボタンの座標情報の具体例は次のようになります。
左上( 20,100)~右下(180,500)の矩形領域 …商品選択ボタン1
左上(220,100)~右下(380,500)の矩形領域 …商品選択ボタン2
左上(420,100)~右下(580,500)の矩形領域 …商品選択ボタン3
左上(620,450)~右下(780,500)の矩形領域 …注文履歴確認ボタン
この両者を基に ボタンの座標内か? という判断分岐で
タッチの有効性を判断するわけです。
その後の 設問4 で、
下線② 設問2(2) と同じ「タッチされた座標情報」(0,0)~(799,599)を
メインタスクに通知するのなら、
メインタスク側でも同じ入力判定をまたすることになります。
そうではなく、メインタスクに通知するのは、
左上(620,450)~右下(780,500)の矩形領域 という例のような
「有効なボタンの座標情報」です。
> 「タッチされた座標=有効なボタンの座標」、あるいは
> 「タッチされた座標⊂有効なボタンの座標」です。
いいえ、その解釈は間違っています。
「タッチされた*ボタンの*座標」という表現なら「有効なボタンの座標」と同じと見なすことができるでしょうが、
「タッチされた座標」は 設問2(2) であり、設問4とは別です。
ちなみに。
設問4 が「タッチされたボタン(の識別名)」ではない点について、
私は過去に発言したことがあります。
https://www.ap-siken.com/bbs/4951.html
2025.09.06 23:15
ジンジャーさん(No.4)
応用太郎さん
jjon-comさん
ご回答ありがとうございます。
jjon-comさん
毎度ご解説に感謝です。
スレッドNo.1でも書かせていただいたように、設問4(下線②を通知するタイミング)に至るまでに無効なタッチ(その画面におけるボタン外の座標)は排除されています。ですのでこの段階ではタッチされた場所は必ず有効であって、単なる「タッチされた座標」は受け取ったメインタスクが(画面種別と併せて)どのボタンであるかを判断するのに足る情報だと思うのですが、いかがでしょうか。
「(単に)ボタンの情報」「タッチされたボタン」がNGである理由は理解しているつもりです。
jjon-comさん
ご回答ありがとうございます。
jjon-comさん
毎度ご解説に感謝です。
スレッドNo.1でも書かせていただいたように、設問4(下線②を通知するタイミング)に至るまでに無効なタッチ(その画面におけるボタン外の座標)は排除されています。ですのでこの段階ではタッチされた場所は必ず有効であって、単なる「タッチされた座標」は受け取ったメインタスクが(画面種別と併せて)どのボタンであるかを判断するのに足る情報だと思うのですが、いかがでしょうか。
「(単に)ボタンの情報」「タッチされたボタン」がNGである理由は理解しているつもりです。
2025.09.07 12:49
jjon-comさん(No.5)
★AP プラチナマイスター
> 「タッチされた座標」は受け取ったメインタスクが
> (画面種別と併せて)どのボタンであるかを
> 判断するのに足る情報だと思うのですが、いかがでしょうか。
はい、その点は私も賛成です。
No.3で私は「タッチされた座標」を間違いだと指摘しましたが、部分点が認められる可能性のある間違いだと思っています。
ジンジャーさんの主張はこうだろう、という内容をNo.3の具体例で述べてみます。間違っているようなら指摘してください。
タッチパネルの座標 (700,480) にタッチしたとき、
(これが 下線① 設問2(2) 「タッチされた座標情報」)
メインタスクに(700,480)を通知する。
(これが 下線② 設問4 で、下線① 設問2(2)と同じ解答)
> 左上( 20,100)~右下(180,500)の矩形領域 …商品選択ボタン1
> 左上(220,100)~右下(380,500)の矩形領域 …商品選択ボタン2
> 左上(420,100)~右下(580,500)の矩形領域 …商品選択ボタン3
> 左上(620,450)~右下(780,500)の矩形領域 …注文履歴確認ボタン
(700,480)が注文履歴確認ボタンの領域内にある、という照合処理を、
入力判定タスク内でもおこなうし、
*その後、メインタスク内でもおこなう*。
それに対して、
公式解答例はこう主張していると私は理解しました。
画面表示タスクから通知される「ボタンの座標」は、
複数の座標情報を内部に持つ構造体のリスト、オブジェクトのリスト
として実装されるでしょう。
領域[0]…左上( 20,100)~右下(180,500)の矩形
領域[1]…左上(220,100)~右下(380,500)の矩形
領域[2]…左上(420,100)~右下(580,500)の矩形
領域[3]…左上(620,450)~右下(780,500)の矩形
タッチパネルの座標 (700,480) にタッチしたとき、
(これが 下線① 設問2(2) 「タッチされた座標情報」)
メインタスクに通知されるのは 領域[3](を指す指標)です。
(これが 下線② 設問4「有効なボタンの座標情報」です)
同じ構造体のリスト、オブジェクトのリストを
入力判定タスクとメインタスクとで共有していれば、
照合処理は入力判定タスクで済んでおり、メインタスクではおこないません。
2025.09.07 14:35
ジンジャーさん(No.6)
jjon-comさん
言語化、大変助かります。
ただ、私の描いていたイメージとは少し違っているように思います。
想像の話になってしまうのでどれほど意義があるかはわかりませんが、、、
私のイメージでは、ある有効なタッチがどのボタンのものであるのかの判断(照合処理)を入力判定タスク内で行いません。
カギとなるのは設問4内にある「同時に画面種別情報を通知している」という情報です。画面種別とタッチされた座標の2つを受け取り、それが何のボタンであるのかと言う判断は*メインタスクのみが行う*、と言うのが私の考えるストーリーです。
照合処理が入力判定タスクで済んでいてその結果を受け取れるのであれば、メインタスクは画面種別を知る必要がないのではないでしょうか。
(画面種別がなければ「戻る」をタッチされたときにどの画面に遷移したらいいか不明だ、と言うのは考えなくていいかなと思っています。。。表記とオブジェクト名/手続き名を別にするだけで回避できますので。)
言語化、大変助かります。
ただ、私の描いていたイメージとは少し違っているように思います。
想像の話になってしまうのでどれほど意義があるかはわかりませんが、、、
>(700,480)が注文履歴確認ボタンの領域内にある、という照合処理を、
>入力判定タスク内でもおこなうし、
>*その後、メインタスク内でもおこなう*。
私のイメージでは、ある有効なタッチがどのボタンのものであるのかの判断(照合処理)を入力判定タスク内で行いません。
カギとなるのは設問4内にある「同時に画面種別情報を通知している」という情報です。画面種別とタッチされた座標の2つを受け取り、それが何のボタンであるのかと言う判断は*メインタスクのみが行う*、と言うのが私の考えるストーリーです。
照合処理が入力判定タスクで済んでいてその結果を受け取れるのであれば、メインタスクは画面種別を知る必要がないのではないでしょうか。
(画面種別がなければ「戻る」をタッチされたときにどの画面に遷移したらいいか不明だ、と言うのは考えなくていいかなと思っています。。。表記とオブジェクト名/手続き名を別にするだけで回避できますので。)
2025.09.07 17:10
応用太郎さん(No.7)
No.2において「タッチされた座標」で正解になると吹聴してしまいましたが、
jjon-comさんの解説を読んで納得しました。
是正に感謝します。 また、誤解を招く回答となり、失礼しました。
確かに、図3の処理フローにおいて入力判定タスク内で「ボタンの座標内か?」を判定しています。
そのままタッチされた座標だけを通知してしまうと メインタスクでも同様の判定を行う必要がある、という視点が抜けていました。
jjon-comさんの解説を読んで納得しました。
是正に感謝します。 また、誤解を招く回答となり、失礼しました。
確かに、図3の処理フローにおいて入力判定タスク内で「ボタンの座標内か?」を判定しています。
そのままタッチされた座標だけを通知してしまうと メインタスクでも同様の判定を行う必要がある、という視点が抜けていました。
2025.09.08 15:33
jjon-comさん(No.8)
★AP プラチナマイスター
> No.2において「タッチされた座標」で正解になると吹聴してしまいました
> 誤解を招く回答となり、失礼しました。
全然そんなことないですよ。
No.5 の後半で示したような流れの方が効率的だという思いは変わらないけれど、
No.6 のようなストーリーで実現できる、というのはそのとおりですし、
No.6 が不可である根拠を私は問題文から見つけられませんでした。
であるなら、別解(正解)として認められるべきものだ、と考えを改めているとことです。
2025.09.08 17:27
その他のスレッド
»[5952] 試験当日のお昼について 投稿数:17»[5951] 平成31年 春期 午後問9 プロジェクトマネジメについて 投稿数:4
»[5950] 午後のDB選択しない方がいいのか 投稿数:11