• 12-04-2010, 16:48:23
    #1
    arkadaş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:50
    #2
    Eğ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 = '&nbsp;';
    	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:36
    #3
    by_antiseptic adlı üyeden alıntı: mesajı görüntüle
    arkadaş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
    eğer bana puanın nasıl hesaplandığını neyle ne toplanıyor katsayı vs sistemi anlatabilirsen fonksiyonu yazayım.
  • 12-04-2010, 22:58:23
    #4
    kale2000 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
  • 12-04-2010, 23:09:52
    #5
    boşa uğraşma satayım sana
  • 13-04-2010, 03:46:17
    #6
    by_antiseptic adlı üyeden alıntı: mesajı görüntüle
    kale2000 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

    ş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:48
    #7
    Sı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:13
    #8
    kale2000 adlı üyeden alıntı: mesajı görüntüle
    Eğ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:['&nbsp;', 'ygs1', 'ygs2', 'ygs3', 'ygs4', 'ygs5', 'ygs6', 'lys_mf', 'lys_tm', 'lys_ts'],
        sn8:['&nbsp;', 'SBS8'],
        sn7:['&nbsp;', 'SBS7'],
        sn6:['&nbsp;', '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 = '&nbsp;';
        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 = '&nbsp;';
        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();
    }

    hocam çok teşekkürler