質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

Q&A

解決済

1回答

3514閲覧

端数処理について

maiko0318

総合スコア876

COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

0グッド

0クリップ

投稿2015/09/27 07:41

キーパンチャーの成績表を作っています。

1000タッチあたり*一個表示します。

この条件で
1001タッチなら*2個だという意見があります。
もっと言うなら1タッチで*一個もらえることになります。
(切り上げの条件かな?と思った)

逆に、
1990タッチなら*一個だという意見があります。
2000に満たないのだから*は一個だと。
(切り捨てか?)

別の例で言うなら
PCの更新状況で0%とあれば処理前であり、
1処理もやっていないことを示し、始まったら1%表示。
(切り上げ?)
100%とあれば処理完了(切り捨て?)だと。

これって矛盾しているように思うのですがどうでしょう。
どのように組めばいいのでしょう?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これは特に 矛盾 している訳ではなくて、目的が違う だけだと思います。
言い換えると、いま問題にすべきは「実装方法(=端数処理)をどうするか」ではなくて、「皆が納得する評価基準をどのように決めるか」だと思います。

以下、ちょっと長くなりますが実例を交えて。

「PCの更新状況」の例では、更新状況の 厳密な評価 を意図している訳ではなく、どちらかといえば ユーザーをイライラさせない ための 目安 を示すことを意図しています。その証拠に、100% になってからもしばらく待たされることだって珍しくありません。

その端的な例が銀行のATMです。__「しばらくお待ちください。」__の画面には3刻みくらいの 進捗を示す表示 が表示されますが、

  • 処理開始後、すぐに「1」になる(処理を開始していますよ)
  • 程なくして「2」になる(もうかなり進みましたからもう少々お待ち下さい)
  • 結構待たされた後に「3」になる(まもなく終了しますからご安心ください)
  • 「3」になると、割とすぐに完了する

つまり「開始→1→2→3→完了」の時間間隔は同じではなく、待たされる人間の感情を意識 した作りになっています。

さて、本題に戻り「キーパンチャーの成績表」の作成についてですが、これについても「どのような評価基準」で評価するかによって実装方法が変わってくると思います。

《評価基準1》
★ 1000タッチあたり*一個表示 → 「1000タッチ達成」で1度数
⇒ この基準が正当ならば(皆が納得したならば)単純な切り捨てで構いません。
⇒ 商店で1000円お買い上げ毎にスタンプがもらえるのと同じです。999円だと惜しいけれども致し方ありません。

この条件で
1001タッチなら*2個だという意見があります。
もっと言うなら1タッチで*一個もらえることになります。

⇒ これは議論が誤っています。
⇒ 《評価基準1》に合意できているなら、このような意見はあり得ません。これは全く別の評価基準です。

《評価基準2》
★ 1001タッチなら*2個 → 「1000タッチ毎に着手」すれば1度数
⇒ この意見の背景には、せっかく頑張っているのに「1〜999」は 全く評価されない ことへの不満があるからだと思います。

逆に、
1990タッチなら*一個だという意見があります。
2000に満たないのだから*は一個だと。

⇒ 実は、これは《評価基準1》の蒸し返しです。

※ 要するに、評価基準が定まっていない(皆が納得出来ていない)ために議論が二転三転してしまっているのだと思います。

そこでちょっと視点を変えて、「納得感 を得るには?」について考えてみると…

「商店でお買い上げ額に応じたスタンプが貰える」例の場合、無くても当たり前のところが「サービス」として付与されるものなので、文句を言う筋合いのものではないという事情があります。

キーパンチャーにとって、「1000タッチ達成」が比較的簡単に達成できるものなのであれば、もっと言うと平均のスコアが数十〜数百(あるいはそれ以上)で、「もうちょっと頑張れば評価が上がる」というような状況なのであれば、《評価基準1》で問題ないと思います。
つまり、「*」一個が「ちょっとした差」なのであれば不満は生じにくいと思います。

逆に、「1000タッチ達成」が結構大変なのであれば、どちらにしても納得感は得られにくいでしょうね。
《評価基準1》→ 1990タッチの人にとっては、「1001〜1990」分の努力が評価されなかったという不満
《評価基準2》→ 1990タッチの人にとっては、「1001」の人と同じ評価になってしまうという不満

ですから、このような状況では「1000タッチ毎」という評価の尺度がそもそも 荒すぎる ということなのだと思います。

そのような状況では、たとえば「100タッチ毎に+」「1000タッチ毎に*」のようにして
1125タッチの人 → [+++++++++*+]
998タッチの人 → [+++++++++]
とする方が実際的です。表示がもっと短い方が良ければ「250タッチ毎に+」「500タッチ毎に+」などとしても良いです

結論として、具体的な端数処理の方法を考える前に、皆が納得できる評価基準を決めることがより重要ではないでしょうか。

投稿2015/09/27 09:29

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maiko0318

2015/09/27 09:42 編集

評価基準が使用者(客)とSEの間で決まっていたら問題はないのです。 ただ、こと細かく決めるには時間的に無理があり、 客はグラフを見て「多いな、少ないな」と見て パンチャーの評価とするだけです。そんな細かいところはなんでも良いのです。 SEもそこまで突っ込みませんし、すべてPGに跳ね返っているので困り物です。 そこまで決めないと組めないのか?と私の至らなさを指摘されることもあります。
pi-chan

2015/09/27 09:52

「そんな細かいところはなんでも良いのです」ということであれば、maiko0318さんが《評価基準1》(=切り捨て)と《評価基準2》(=切り上げ)、あるいは《評価基準3》(=四捨五入)のいずれかに「決めれば良いだけ」では? 異なる基準を盛り込もうとするから面倒になるだけだと思います。 「客はグラフを見て「多いな、少ないな」と見てパンチャーの評価とするだけ」(=評価される側の感情は関係ない)のであれば、なおこのと悩む必要性はないように感じます。 そもそも「1000タッチ毎に」という尺度はどなたが決めたのでしょうか?そう決めた理由はご存知ですか? 単純に「お客様側での判断の目安」として使う目的なのであれば《評価基準2》をオススメします。 途中の努力が無視されることがなく実装も簡単なので。
pi-chan

2015/09/29 01:04

解決済みになったということは、迷いは吹っ切れたのでしょうか? そうであれば良かったです。 評価される側の個々人に取っては、《評価基準1》と《評価基準2》って結構意味合いが異なって来るので色んな意見が出ると思いますが、全体を眺めている評価者に取っては、どちらのどちらを採用したところで*の数が一律に1個増えるかどうかの違いしかありません。 ですので、目的をハッキリさせて基準がぶれない様にする事が重要なのだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問