folder Tahribat.com Forumları
linefolder Programlamaya Giriş
linefolder İnfix Postfix Prefix (Özellikle Bıkkın Matematik Soruları İçin)



İnfix Postfix Prefix (Özellikle Bıkkın Matematik Soruları İçin)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    Bu her ne kadar bilgisayar mantığı vs.. olarak görünsede, iğrenç matematik sorularını içinden çıkmamı sağlamıştır.Çünkü öncelik ortadan kalkar.Hangi sorular mesela ?

    http://www.tahribat.com/Forum-Matematik-Sorusu-Cozebilen-147902/

    a ve b bir  sayı olsun ;

    a+b dediğimizde normal yazımdır.3+5, 7+9, 22+35 gibi.İnfix nedir.Şimdi bunu prefix haline getirelim.(pre yani önce diyoruz ve işareti öne atıyoruz)

    +ab

    postfix hali iste (post yani sonra);

    ab+

    ---

    Bunda da öncelikler vardır.MEsela parantez varsa öncelik girer.Şimdi linkteki örnekle göstereyim ;

     

    6/2*(2+1)

    [62/]*[21+]

    62/21+*

    321+*

    33*

    9

    --

    gördüğünüz gibi burada ab+ şeklinde yazdık hepsinin sonunda

    62/21+*

    geldi.Burda 62 değil 6 ve 2 dir.İyide çift basamaklı olursa ? o zaman {} ile ayırıcaz mesela 1{30}* dersek , 1*30 dur.

    ---------

    çözümleme ;

    daha sonra postfix olduğuna göre soldan sağa gidelim.İlk karşımıza çıkacak olan işaretle karşımıza çıkan ve onun öncesindekini işleme sokuyoruz.

     

    array deger = 62/21+* olsun

    deger[0] = 6
    deger[1] = 2
    deger[2] = /
    deger[3] = 2
    deger[4] = 1
    deger[5] = +
    deger[6] = * 

    Burda deger[2] bölme işlemi.O zaman deger[2-1] ve deger[2-2]'ye bakıyoruz.

    6 ve 2 . O halde 6/2 işlem.Artık array 2 azaldı (bölme işlemi silindi, 2 karakter gitti 1 karakter oldu) ve 0 = 3 oldu . Son hali ;

    deger[0] = 3
    deger[1] = 2
    deger[2] = 1
    deger[3] = +
    deger[4] = * 

    Şimdi geder[3]'e kadar işaret yok.Gittik bizde.hangi array ? 3.O zaman n-1 ve n-2 yi alıyoruz.Yani 2 ve 1 miş rakamlarımız.Daha sonra işlemimizi yaptırıyoruz.Oda + . Sonuç 3.Son array

    deger[0] = 3
    deger[1] = 3
    deger[2] = *

    Yukardaki nedenlerle sonuç 3*3 oluyor.

    ----------------

    structure da yığınlar kısmında anlatılıyor.Daha fazla döküman bulmak istedim ;

    http://ceng.gazi.edu.tr/~akcayol/files/DSL3Stacks.pdf 

    9. sayfada var ama az.Her zamanki olduğu gibi yine Türkçe döküman bulamadım.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ugurben
    ugurben's avatar
    Kayıt Tarihi: 02/Nisan/2003
    Erkek

    hmm demek bu yontemle cozdun :D


    sevdigim 3 turk atasozu.. 1- besle kargayı atsın iftirayı, 2- yayılma sivril ( bu bir çin atasozudur), 3- luzumsuz eşek sucuk olur ( buda bir çin atasozudur ) ve son olarak, 4- ak akçe karagün kara akçe ak gün içindir...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    musdawdaf
    musdawdaf's avatar
    Kayıt Tarihi: 01/Ağustos/2006
    Erkek

    neden infix prefix islemlerinde array kullanmayi tercih ettin?

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    musdawdaf bunu yazdı:
    -----------------------------

    neden infix prefix islemlerinde array kullanmayi tercih ettin?


    -----------------------------

    hocam o array değil :D mantık için açıkladım.Yani soldan sağa gidiyoruz (sadece postfix'te) , bölme işlemi geldi mesela.Hemen bölme işleminin bir öncekisine ve onun öncekisine bakıyoruz , ortaya atıyoruz vs..

Toplam Hit: 3529 Toplam Mesaj: 4