質問編集履歴

7

本文に適用されない為、空白を設置

2020/09/10 11:46

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  |7|チェック項目7|60|4
28
28
 
29
- |8|チェック項目8|90|2
29
+ |8|チェック項目 8|90|2
30
30
 
31
31
 
32
32
 

6

チェック項目の数字が間違っていた部分を修正

2020/09/10 11:46

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  |7|チェック項目7|60|4
28
28
 
29
- |8|チェック項目1|90|2
29
+ |8|チェック項目8|90|2
30
30
 
31
31
 
32
32
 

5

誤字修正

2020/09/10 11:45

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  そこから、「 5 + 6」の重みである「8」そして、「番号1」の重みである、「2」を引き、最終的な点数は「12 - 10 = 2」となります。
100
100
 
101
- ここで、重みは表3に設定した点数によって決めたいと考えている為、番号「5」と番号「6」の重みを別々と考え、それぞれの重みである「6」と「5」を足した値を引かずに、「5 + 6」の組み合わせとして設定されている「40点」の重みである「8」を重みと数えることしています。
101
+ ここで、重みは表3に設定した点数によって決めたいと考えている為、番号「5」と番号「6」の重みを別々と考え、それぞれの重みである「6」と「5」を足した値を引かずに、「5 + 6」の組み合わせとして設定されている「40点」の重みである「8」を重みと数えることしています。
102
102
 
103
103
   
104
104
 
@@ -108,7 +108,7 @@
108
108
 
109
109
  - ケース3
110
110
 
111
- 番号「5,6,4」の場合、表2で「 5 + 6」の組み合わせである「40」点と表1の4番の「40」点が被りますが、どちらをベースの点数設定しても、重みが同じな為、最終的には「40 - 8 = 32」となる為、どちらをベースに設定しても良いと考えております。
111
+ 番号「5,6,4」の場合、表2で「 5 + 6」の組み合わせである「40」点と表1の4番の「40」点が被りますが、どちらをベースの点数設定しても、重みが同じな為、最終的には「40 - 8 = 32」となる為、どちらをベースに設定しても良いと考えております。
112
112
 
113
113
 
114
114
 

4

誤字修正

2020/09/10 08:07

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  こちらにつきましては、後述させて頂く部分で例も交えより詳しく説明させて頂きます。
82
82
 
83
- そして、表2に関してなのですが、こちらは特定の番号の組み合わせで、チェックに引っかかっていた場合に、より小さく値を設定する為の表になります。
83
+ そして、表2に関してなのですが、こちらは特定の番号の組み合わせで、チェックに引っかかっていた場合に、単体のベースとなる点数より値が小さくなるよう、設定をした表になります。
84
84
 
85
85
  例えば、「番号2」と「番号7」の2つが該当した場合、表1では2つの内最も低い点数が設定されている「番号2」の「45点」 - 「番号7に設定した重み」が点数となりますが、表2に組み合わせとして設定されていた場合、表2の点数が採用され、「12」となるといった形です。
86
86
 

3

誤字修正

2020/09/10 08:05

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  単純に、「番号5」のチェック項目に該当した場合は、単体の点数「45点」ですが、「番号7」「番号1」の2つのチェック項目に引っかかったら、最も低い点数が設定されている「番号7」をベースの点数として考えるといった形です。
78
78
 
79
- ベースの点数とは何かと申しますと、その点数を基準に、他のチェックに該当した番号の「重み」の値をく為の点数です。
79
+ ベースの点数とは何かと申しますと、その点数を基準に、他のチェックに該当した番号の「重み」の値をく為の点数です。
80
80
 
81
81
  こちらにつきましては、後述させて頂く部分で例も交えより詳しく説明させて頂きます。
82
82
 

2

仕様を整理し、質問を大幅修正

2020/09/10 08:02

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -1,67 +1,119 @@
1
- かなり、とまではかなもしないのですが、少々複雑ロジック作成、混乱状態になってしまいました。
1
+ 既にご回答頂る方おり、大変申ないのですが、仕様が明確でくこままでは回答して下さる方も迷惑がかかってしまうと思、一度質問を整理し書き直すことに致しました。
2
2
 
3
- 処理結果としては、最終的に「点数」を出したいと考えています。
3
+ 具体的な内容は以下通りです。
4
4
 
5
- 具体的には、1~8番のチェック項目がありそれぞれは30点,50点などと点数つけました。そしてプログラムの中、各番号のチェック項目に引っかかった場などのいくつかの条件を判定し、最終的には、一つの点数を弾きしたいと考えています。
5
+ 1~8番のチェック項目に対し、以下の表元に、プログラム引っかかったチェック項目の数、組みわせと照ら合わせ、最終的点数を出す
6
+
7
+
8
+
9
+ 表1
10
+
11
+ |番号|チェック項目|点数(単体)|重み
12
+
13
+ |:--|:--:|--:|
14
+
15
+ |1|チェック項目1|75|2
16
+
17
+ |2|チェック項目2|45|6
18
+
19
+ |3|チェック項目3|70|2
20
+
21
+ |4|チェック項目4|40|8
22
+
23
+ |5|チェック項目5|45|6
24
+
25
+ |6|チェック項目6|48|5
26
+
27
+ |7|チェック項目7|60|4
28
+
29
+ |8|チェック項目1|90|2
30
+
31
+
32
+
33
+ 表2
34
+
35
+
36
+
37
+ |条件|点数(複合)|重み|
38
+
39
+ |:--|:--:|--:|
40
+
41
+ |2 + 7|12|10|
42
+
43
+ |5 + 6|40|8|
44
+
45
+ |1 + 3|67|3|
46
+
47
+ |7 + 3|55|5|
6
48
 
7
49
 
8
50
 
9
51
 
10
52
 
53
+ 表3
54
+
11
- |番号|チェック項目|点数|
55
+ |重みの基準|算出ポイント||
12
56
 
13
57
  |:--|:--:|--:|
14
58
 
15
- |1|チェック1|70|
59
+ |1~30|10||
16
60
 
17
- |2|チェック2|40
61
+ |31~40|8||
18
62
 
19
- |3|チェック3|50
63
+ |41~45|6||
20
64
 
21
- |4|チェック4|30
65
+ |46~55|5||
22
66
 
23
- |5|チェック5|90
67
+ |56~60|4||
24
68
 
25
- |6|チェック6|15
69
+ |61~69|3||
26
70
 
27
- |7|チェック7|35
71
+ |70~|2||
28
72
 
73
+
74
+
75
+ 点数の算出基準なのですが、ベースとしては「最も低い点数」をベースの点数として設定したいと考えております。
76
+
77
+ 単純に、「番号5」のチェック項目に該当した場合は、単体の点数「45点」ですが、「番号7」「番号1」の2つのチェック項目に引っかかったら、最も低い点数が設定されている「番号7」をベースの点数として考えるといった形です。
78
+
79
+ ベースの点数とは何かと申しますと、その点数を基準に、他のチェックに該当した番号の「重み」の値を低く為の点数です。
80
+
81
+ こちらにつきましては、後述させて頂く部分で例も交えより詳しく説明させて頂きます。
82
+
83
+ そして、表2に関してなのですが、こちらは特定の番号の組み合わせで、チェックに引っかかっていた場合に、より小さく値を設定する為の表になります。
84
+
85
+ 例えば、「番号2」と「番号7」の2つが該当した場合、表1では2つの内最も低い点数が設定されている「番号2」の「45点」 - 「番号7に設定した重み」が点数となりますが、表2に組み合わせとして設定されていた場合、表2の点数が採用され、「12」となるといった形です。
86
+
87
+ ここで「重み」に関してなのですが、これはベースとなる点数が確定した後、他にチェック項目に該当した番号についている重みとなる値をベースの点数から「引く」為です。
88
+
29
- |8|チェック8|65
89
+ 以下は、様々なケースによって考えられる算出例になります。
30
90
 
31
91
 
32
92
 
33
93
 
34
94
 
35
- |条件|点数(複合)||
95
+ - ケース1
36
96
 
37
- |:--|:--:|--:|
97
+ 番号「7、2、5、6、1」が該当した場合、表2では「 7 + 2」「5 + 6」の組み合わせがありますが、この組み合わせの中で最も点数が低く設定されているのは、「 7 + 2」の組み合わせである「12点」です。表1の方でも、「番号1」を確認すると点数は「75」となっている為、ベースとなる点数は「12点」に確定します。
38
98
 
39
- |1 + 3|20||
99
+ そこから、「 5 + 6」の重みである「8」そして、「番号1」の重みである、「2」を引き、最終的な点数は「12 - 10 = 2」となります。
40
100
 
41
- |7 + 1|30||
101
+ ここで、重みは表3に設定した点数によって決めたいと考えている為、番号「5」と番号「6」の重みを別々と考え、それぞれの重みである「6」と「5」を足した値を引かずに、「5 + 6」の組み合わせとして設定されている「40点」の重みである「8」を重みと数えることにしています。
42
102
 
43
- |6 + 3|12||
103
+  
44
104
 
45
- |2 + 8|40||
105
+ - ケース2
106
+
107
+ 番号「1,5,8」が該当する場合、表2ではどの組み合わせも設定されていない為、表1の中で一番低い点数として設定されている、番号「5」の「45点」をベースとし、そこから番号「1」の重みの「2」、番号「8」の重みの「2」を引き「45 - 4 = 41」となり、最終的な点数は「41」となります。      
108
+
109
+ - ケース3
110
+
111
+ 番号「5,6,4」の場合、表2で「 5 + 6」の組み合わせである「40」点と表1の4番の「40」点が被りますが、どちらをベースの点数と設定しても、重みが同じな為、最終的には「40 - 8 = 32」となる為、どちらをベースに設定しても良いと考えております。
46
112
 
47
113
 
48
114
 
49
- く説明出来るか分からないのですが、上記の2番目の表はある条件が重なった時だけ、点数が変わるこを表したものになります。
115
+ 仕様につきしては上となります。
50
116
 
51
- 仮に「番号1 + 番号3」の2つのチェック項目がプログラム側で引っかかっ場合、点数を「20」にするとった形です。
117
+ 不明確な部分などありましたら適宜ご指摘頂けましら幸いです。
52
118
 
53
- しかし、ここで、「番号7 + 番号1」の組み合わせも該当していた場合は、「より点数の低い組み合わせ(番号1 + 番号3)」を優先し、更に、「番号1 + 番号3」だけでなく、「番号2」と「 番号8」などの他の番号も該当していた場合は、一つの「番号」につき「-2」点としたいと考えています。
54
-
55
- 仮に、番号「6」が該当し、番号「1」と番号「3」が該当した場合、最終的には「11」点となります。これはより低く設定されている点数(番号6)と「番号1」と「番号3」が存在しそれぞれ「2点」分引かれている為です。
56
-
57
-
58
-
59
- 1~8番を配列に格納し、if文で...と色々考えていたのですが、少々複雑な為、混乱してしまいました。
60
-
61
- どなたか、ご助言頂けまたら幸す。
119
+ ご助言の程、よろくお願します。
62
-
63
-
64
-
65
- ※追記です。
66
-
67
- 最終的な点数ですが、番号、「6」「3」「2」「8」「1」「4」が該当する場合、「6 + 3」の組み合わせで、「12」点そこから、他に、4つの番号が該当しているので、各2点として、「12 - 8 = 4」といった形です。

1

追記及び修正

2020/09/10 08:00

投稿

ruuuu
ruuuu

スコア176

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  |7 + 1|30||
42
42
 
43
- |6 + 3|10||
43
+ |6 + 3|12||
44
44
 
45
45
  |2 + 8|40||
46
46
 
@@ -59,3 +59,9 @@
59
59
  1~8番を配列に格納し、if文で...と色々考えていたのですが、少々複雑な為、混乱してしまいました。
60
60
 
61
61
  どなたか、ご助言頂けましたら幸いです。
62
+
63
+
64
+
65
+ ※追記です。
66
+
67
+ 最終的な点数ですが、番号、「6」「3」「2」「8」「1」「4」が該当する場合、「6 + 3」の組み合わせで、「12」点そこから、他に、4つの番号が該当しているので、各2点として、「12 - 8 = 4」といった形です。