PG日誌

受託系 PG が C# の事を書いています

中3の15%、短文も理解困難が話題なので解いてみた。C#で。

何か少し火種がくすぶっているようなので自分で解いてみました。

https://www.nasnem.xyz/entry/incorrect-comprehension-test http://mubou.seesaa.net/article/453754579.html

国語の問題らしく設問はこんな感じだそうです。

読解力テストの問題例(1)

以下の分を読みなさい。

「輸出が伸び悩む中でも、和牛が人気の牛肉や、和食ブームを反映した緑茶や日本酒などは好調だ。」

上記の文が表す内容と以下の分が表す内容は同じか。「同じである」「異なる」のうちから答えなさい。

「輸出が伸び悩む中でも、和食ブームを反映した日本酒や緑茶、和牛が人気の牛肉などは好調だ。」

どうやら25%の中学3年生がこれを間違えるらしいのですが、元の文がそもそも悪い、いや良いと主張があるようです。

・・・・いや、そんなことより中2の38.4%間違えの方がやばくね?ってかタイトルの15%ってどっから出てきた?

中1が誤回答28.8%らしいけど、中2だけ何かあったんでしょうか。

高校生でも10%以上誤読があるので、技術文書ではアンチパターンかと。

つまり、

  • 結論を先に書かない
  • 修飾語を多様して輪郭をぼやかさない
  • 同じ事は同じ言葉を使用する(順序含む)

・・・・あれ?普通の事ですね。

C#で解いてみる

というわけで、普段使ってるC#で設問を解こうと思います。

public void Main(string[] args)
{
    string msg_1 = "輸出が伸び悩む中でも、和牛が人気の牛肉や、和食ブームを反映した緑茶や日本酒などは好調だ。"
    string msg_2 = "輸出が伸び悩む中でも、和食ブームを反映した日本酒や緑茶、和牛が人気の牛肉などは好調だ。"
    
    if(string.Compare(msg_1, msg_2, true) == 0)
    {
        Console.WriteLine("同じである");
    }
    else
    {
        Console.WriteLine("異なる");
    }
}

んーー?なんか調子が悪いみたいです。

とりあえず判定をメソッド化してみました。

public bool isSame(string[] array_1, string[] array_2)
{
    for(int i = 0; i < array_1.Length; i++)
    {
        if(array_1[i] != array_2[i])
        {
            return false;
        }
    }
    
    return true;
}

public void Main(string[] args)
{
    string[] array_1 = { "牛肉", "緑茶", "日本酒" }
    string[] array_2 = { "日本酒", "緑茶", "牛肉" }
    
    if(isSame(array_1, array_2))
    {
        Console.WriteLine("同じである");
    }
    else
    {
        Console.WriteLine("異なる");
    }
}

皆さんのC#はどう答えたんでしょうね?結果が気になります。

やはり、自分のPCだと調子が悪いようで両方とも"異なる"と主張してきます。

第3引数をtrueにしたのが悪かったのか、string[]で変数を取ったのが悪かったのんですかね?

.oO(.NET Frameworkの不具合かな?)

真面目に考えてみた

すいません、、、嘘つきました。

軽い気持ちで始めてみましたが、コレを解けるプログラムってジョーク以外だとなかなか難しいので代わりに自然言語で考えてみようとおもいます。

なるほど、設問では、2つのセマンティクスで好調な品目が同じか聞いてるように見えます。

両方に共通する構造を切り出して

「輸出が伸び悩む中でも、Hogehogeは好調だ」

みたいに取って、算数の穴埋め風に問題を設問しなおすと

「輸出が伸び悩む中でも、Hogehogeは好調だ。Hogehogeに入るものを答えよ。」

ってなのかね?

で、設問の残りの部分を抜粋するとこんな感じ。

1.「和牛が人気の牛肉や、和食ブームを反映した緑茶や日本酒」 2.「和食ブームを反映した日本酒や緑茶、和牛が人気の牛肉」

というと問題の残りは

「以下の2つの文中に出てくる品目が同じかどうか判断しなさい」

と聞いてるので、この文から余計な余計な修飾語を除去するとこうなるかと。

1.「(和牛が人気の)牛肉(や)、(和食ブームを反映した)緑茶(や)日本酒」

→ 牛肉、緑茶、日本酒

2.「(和食ブームを反映した)日本酒(や)緑茶、和牛(が人気の)牛肉」

→ 日本酒、緑茶、牛肉

つまりXXXに入るものは

1.(1)牛肉、(2)緑茶、(3)日本酒 2.(1)日本酒、(2)緑茶、(3)日本酒

順番は違うけど、この場合、品目に順序性が一致しているかどうかは問題じゃないので「2つは同じことを言っている」のではないでしょうか、お客さん。