ygs puan hesaplama formülü ?
7
●3.189
- 12-04-2010, 16:48:23arkadaşlar ygs puan hesaplama fonksiyonu (PHP) yada bu fonksiyonu yazabilmem için elinde ygs puan hesaplama formülü olan var mı ? acil lazım şu anda
- 12-04-2010, 19:41:50Eğer php olanını bulamaz isen js biliyorsan phpye çevirebilirsin.
var soruSayisi = { ygs:[40, 40, 40, 40, 50, 30, 30, 30, 30, 56, 24, 44, 16, 30], sn8:[23, 20, 20, 20, 17], sn7:[21, 18, 18, 18, 15], sn6:[19, 16, 16, 16, 13] }; var bolen = {ygs:4, sn8:3, sn7:3, sn6:3}; var tdnum = {ygs:14, sn8:5, sn7:5, sn6:5}; var msg_id = { ygs:[' ', 'ygs1', 'ygs2', 'ygs3', 'ygs4', 'ygs5', 'ygs6', 'lys_mf', 'lys_tm', 'lys_ts'], sn8:[' ', 'SBS8'], sn7:[' ', 'SBS7'], sn6:[' ', 'SBS6'] } var k_ygs = { YGS1:[131.217, 1.825, 3.719, 0.983, 2.690, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], YGS2:[131.217, 1.825, 2.690, 0.983, 3.719, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], YGS3:[129.671, 3.571, 1.845, 2.853, 0.971, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], YGS4:[129.671, 2.853, 1.845, 3.571, 0.971, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], YGS5:[132.415, 3.417, 3.213, 1.691, 0.851, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], YGS6:[132.415, 3.213, 3.417, 0.851, 1.691, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], MF1:[121.140, 0.911, 1.561, 0.391, 0.771, 2.019, 1.721, 1.239, 0.791, 0.651, 0.000, 0.000, 0.000, 0.000, 0.000], MF2:[122.180, 1.087, 1.080, 0.391, 1.231, 1.241, 0.891, 1.673, 1.451, 1.451, 0.000, 0.000, 0.000, 0.000, 0.000], MF3:[119.170, 1.080, 1.080, 0.581, 0.970, 1.010, 0.645, 1.673, 1.721, 1.988, 0.000, 0.000, 0.000, 0.000, 0.000], MF4:[127.130, 0.980, 1.320, 0.530, 0.850, 1.727, 1.383, 1.671, 1.010, 0.575, 0.000, 0.000, 0.000, 0.000, 0.000], TM1:[119.930, 1.230, 1.590, 0.480, 0.380, 1.987, 1.270, 0.000, 0.000, 0.000, 1.220, 1.090, 0.000, 0.000, 0.000], TM2:[118.930, 1.270, 1.350, 0.610, 0.440, 1.720, 1.030, 0.000, 0.000, 0.000, 1.520, 1.320, 0.000, 0.000, 0.000], TM3:[121.340, 1.430, 0.980, 0.910, 0.350, 1.390, 0.850, 0.000, 0.000, 0.000, 1.780, 1.540, 0.000, 0.000, 0.000], TS1:[121.370, 1.210, 0.990, 1.140, 0.470, 0.000, 0.000, 0.000, 0.000, 0.000, 1.040, 1.250, 1.330, 1.210, 1.980], TS2:[120.710, 1.730, 0.590, 1.010, 0.480, 0.000, 0.000, 0.000, 0.000, 0.000, 1.730, 0.810, 1.330, 1.140, 1.110] } // sn8 2007 var k_sn8 = { SBS:[137.156420, 4.007920, 5.190960, 4.211040, 3.054633, 1.266397] } // sn7 2007 var k_sn7 = { SBS:[141.506420, 4.387920, 5.760960, 4.501040, 3.401630, 1.360110] } // sn6 2007 var k_sn6 = { SBS:[142.577700, 4.872200, 6.515800, 3.670500, 5.085800, 1.576400] } function getNet(frm, ne, eleman) { var i, d, y, n, net, sor_say; document.getElementById('ik_' + ne).innerHTML = ' '; for (i = 0; i < tdnum[ne]; i++) { d = frm.elements[ne + 'd_' + i]; y = frm.elements[ne + 'y_' + i]; n = frm.elements[ne + 'n_' + i]; dogru = isNaN(parseInt(d.value)) ? 0 : parseInt(d.value); yanlis = isNaN(parseInt(y.value)) ? 0 : parseInt(y.value); sor_say = soruSayisi[ne][i]; if (dogru + yanlis > sor_say) { d.value = ''; y.value = ''; n.value = ''; resetForm(frm, ne); document.getElementById('ik_' + ne).innerHTML = 'do�ru say�s� + yanl�� say�s� > ' + sor_say + ' olamaz!'; return; } d.value = dogru == 0 ? '' : dogru; y.value = yanlis == 0 ? '' : yanlis; net = Math.round(100*(dogru - yanlis/bolen[ne]))/100; if (n.value == '') n.value = net == 0 ? '' : net; else if (net != 0) n.value = net; } getPuan(frm, ne, eleman); } function getPuan(frm, ne, eleman) { var i, j, n, dummy, val, puan_msg= [], sor_say; document.getElementById('ik_' + ne).innerHTML = ' '; if (ne == 'ygs') { var nt = {tr:0, tm:0, sb:0, fb:0, mat:0, geo:0, fiz:0, kim:0, biy:0, edb:0, co1:0, tar:0, co2:0, fel:0}; var pn = {YGS1:0, YGS2:0, YGS3:0, YGS4:0, YGS5:0, YGS6:0, MF1:0, MF2:0, MF3:0, MF4:0, TM1:0, TM2:0, TM3:0, TS1:0, TS2:0}; } else { var nt = {tur:0, mat:0, fen:0, sos:0, yd:0}; var pn = {SBS:0}; } i = 0; for (j in nt) { d = frm.elements[ne + 'd_' + i]; y = frm.elements[ne + 'y_' + i]; n = frm.elements[ne + 'n_' + i]; val = n.value.replace(/,/, '.'); n.value = val; dummy = parseFloat(val); if (!isNaN(dummy)) nt[j] = dummy; sor_say = soruSayisi[ne][i]; if (nt[j] > sor_say) { n.value = ''; resetForm(frm, ne); document.getElementById('ik_' + ne).innerHTML = 'net > ' + sor_say + ' olamaz!'; return; } dogru = isNaN(parseInt(d.value)) ? 0 : parseInt(d.value); yanlis = isNaN(parseInt(y.value)) ? 0 : parseInt(y.value); if (Math.round(100*(dogru - yanlis/bolen[ne]))/100 != nt[j]) { d.value = ''; y.value = ''; } i++; } if (ne == 'ygs') { // if (chkNet(4, nt['tr'], nt['tm'], nt['sb'], nt['fb'])) { if (0.5 <= nt['tr'] + nt['tm'] + nt['sb'] + nt['fb']) { pn['YGS1'] = calc(nt, k_ygs, 'YGS1'); pn['YGS2'] = calc(nt, k_ygs, 'YGS2'); pn['YGS3'] = calc(nt, k_ygs, 'YGS3'); pn['YGS4'] = calc(nt, k_ygs, 'YGS4'); pn['YGS5'] = calc(nt, k_ygs, 'YGS5'); pn['YGS6'] = calc(nt, k_ygs, 'YGS6'); } if (0.5 <= nt['mat'] + nt['geo'] + nt['fiz'] + nt['kim'] + nt['biy']) { pn['MF1'] = calc(nt, k_ygs, 'MF1'); pn['MF2'] = calc(nt, k_ygs, 'MF2'); pn['MF3'] = calc(nt, k_ygs, 'MF3'); pn['MF4'] = calc(nt, k_ygs, 'MF4'); } else pn['MF1'] = pn['MF2'] = pn['MF3'] = pn['MF4'] = 'hesaplamadi'; if (0.5 <= nt['mat'] + nt['geo'] + nt['edb'] + nt['co1']) { pn['TM1'] = calc(nt, k_ygs, 'TM1'); pn['TM2'] = calc(nt, k_ygs, 'TM2'); pn['TM3'] = calc(nt, k_ygs, 'TM3'); } else pn['TM1'] = pn['TM2'] = pn['TM3'] = 'hesaplamadi'; if (0.5 <= nt['edb'] + nt['co1'] + nt['tar'] + nt['co2'] + nt['fel']) { pn['TS1'] = calc(nt, k_ygs, 'TS1'); pn['TS2'] = calc(nt, k_ygs, 'TS2'); } else pn['TS1'] = pn['TS2'] = 'hesaplamadi'; if (0.5 > nt['tr'] + nt['tm'] + nt['sb'] + nt['fb']) for (q in pn) pn[q] = 'hesaplamadi'; } else if (ne == 'sn8') pn['SBS'] = calc(nt, k_sn8, 'SBS'); else if (ne == 'sn7') pn['SBS'] = calc(nt, k_sn7, 'SBS'); else pn['SBS'] = calc(nt, k_sn6, 'SBS'); for (i in pn) { if (!isNaN(pn[i])) { pn[i] = Math.round(1000*pn[i])/1000; apty = pn[i] + ''; aptx = apty.split('.'); aptx[1] = (aptx[1] + '000').substr(0, 3); pn[i] = aptx.join('.'); } } if (ne == 'ygs') { puan_msg.push('<b>YGS 1</b>: ' + pn['YGS1']); puan_msg.push('<b>YGS 2</b>: ' + pn['YGS2']); puan_msg.push('<b>YGS 3</b>: ' + pn['YGS3']); puan_msg.push('<b>YGS 4</b>: ' + pn['YGS4']); puan_msg.push('<b>YGS 5</b>: ' + pn['YGS5']); puan_msg.push('<b>YGS 6</b>: ' + pn['YGS6']); puan_msg.push('<b>MF 1</b>: ' + pn['MF1'] + '<br /><b>MF 2</b>: ' + pn['MF2'] + '<br /><b>MF 3</b>: ' + pn['MF3'] + '<br /><b>MF 4</b>: ' + pn['MF4']); puan_msg.push('<b>TM 1</b>: ' + pn['TM1'] + '<br /><b>TM 2</b>: ' + pn['TM2'] + '<br /><b>TM 3</b>: ' + pn['TM3']); puan_msg.push('<b>TS 1</b>: ' + pn['TS1'] + '<br /><b>TS 2</b>: ' + pn['TS2']); } else if (ne == 'oks') { puan_msg.push('<b>TM PUAN</b>: ' + pn['TM']); puan_msg.push('<b>MF PUAN</b>: ' + pn['FM']); } else puan_msg.push('<b>SBS PUAN</b>: ' + pn['SBS']); var msgID = msg_id[ne]; for (i = 1; i < msgID.length; i++) document.getElementById(msgID[i]).innerHTML = puan_msg[i-1]; shiftFocus(frm, eleman); } function calc(net, katsayi, hangipuan) { var i, j = 1; var kat = katsayi[hangipuan]; var sum = kat[0]; for (i in net) sum += net[i]*kat[j++]; return sum; } function chkNet(num) { var sayac = 0, i; for (i = 1; i < arguments.length; i++) { if (arguments[i] >= .5) sayac++; if (sayac >= num) return true; } return false; } function resetForm(frm, ne) { var msgID = msg_id[ne], i; for (i = 1; i < msgID.length; i++) document.getElementById(msgID[i]).innerHTML = msgID[0]; } function shiftFocus(frm, elm) { if (!elm) return; var maxLength = elm.getAttribute('maxlength'); if (elm.value.length < maxLength) return; var dummy = elm.name.split('_'); var harf = dummy[0].substr(3, 1); if (harf == 'd') harf = 'y'; else if (harf == 'y') { harf = 'd'; dummy[1]++; } else if (harf == 'n') dummy[1]++; dummy = dummy.join('_'); if (frm[dummy]) frm[dummy].focus(); } - 12-04-2010, 19:50:36eğer bana puanın nasıl hesaplandığını neyle ne toplanıyor katsayı vs sistemi anlatabilirsen fonksiyonu yazayım.by_antiseptic adlı üyeden alıntı: mesajı görüntüle
- 12-04-2010, 22:58:23kale2000 hocam js olarak ben de buldum da bir türlü çeviremedim PHP ye
Kapitan hocam ben de formülü bulsam ben de çevirecem php ye
- 13-04-2010, 03:46:17by_antiseptic adlı üyeden alıntı: mesajı görüntüle
şimdi bana söylesen kardeş şu puanla şu puan toplanıyor işte katsayı %90 etki ediyor falan. direk sana yazabilirim gerekli fonksiyonu. ama hesaplama sistemini bilmeden yazmak imkansız.
yok mudur bu hesaplama sistemi kitapçıkların arkasında falan.
yani bana şunu şunu şunu yapacan php de o sorun değil ama . hesap işlemlerini bilmeden yazmak imkansız arkadaşın js ile yazdığı koduda okudum. orada farklı yılların hesaplama sistemleri var. her biride arrayler içinde mantık tamamda , sonda bir yerde tıkanıyor oda ve geçersiz sonuç verdi . yök e bir bakayım varmı öyle bir sistem nedir ne değildir . bulursam eğer buraya yazacağım gerekli fonksiyonu. - 13-04-2010, 08:22:48Sınav sonuçları okunduktan sonra katsayılar belirleniyor. Tam puanlar ona göre ortaya çıkıyor. Hesaplayıcılar hep bir önceki senenin katsayılarını kullanarak hesaplama yapıyordu. Bu seneki hesaplayıcılar da tahmini katsayılarla iş yapıyor ilk sınav olduğunda. Bu yüzden tam bir formül bulmanız zor gibi gözüküyor...
- 13-04-2010, 09:01:13kale2000 adlı üyeden alıntı: mesajı görüntüle
hocam çok teşekkürler