[MD-sorular] MD-sorular Toplu Mesajı, Sayı 143, Konu 1

Mehmet Ozgan mozgan at gmail.com
28 Mar 2009 Cmt 13:35:55 EET


>>>

Merhabalar,

Özellikle bilgisayar yazilim ve gelistiricilerin dünyasinda islemleri  
hesaplamada 3 farkli yöntem kullanilmaktadir.
Bunlar, Postrix, Prefix ve Infix Notasyonlari olarak adlandirilir.

Postfix notasyonu, burada öncelikle tü€rk dil kurallarina en uygun ve  
en mantikli islem sirasi uygulayan ve bilgisayar islemcilerinin  
kullandiklari hesaplama isidir (bu konuda ufak bir yazi yazmistim vakt- 
i zamaninda :) ). Postfix'te esas alinan, gÃπnlÃπk hayattaki  
yazdigimiz islemlerde "Infix okunuslarda" (Özellikle parantezlerdeki  
islemleri parantezlerden kurtarmak icin), operatörleri islem sonuna  
yerlestirmek esas alinmistir. Örnegin;

3 + 4 --> 3 4 +
(2 + 4) * 7 --> 2 4 + 7 * (islemci burada önce ilk iki operandi alip  
sonra ilk gelen operatör ile islem yaptiktan sonra sonucu kaydedip  
ardindan gelecek olan operandi tekrar alip tekrar operatör ile islem  
yapacaktir.)

Prefix notasyonu, sizin de bahsettiginiz gbi, Polonlarin icadi olan  
islem yazim seklidir. Postfix notasyonunun tersi olarak islem yapilir.  
Örnegin;

3 + 4 --> + 3 4
(2 + 4) * 7 --> * + 2 4 7

Infix notasyonu, ise özellikle avrupa dillerinden gelen, yazildigi  
gibi okunma mantigina dayanir. Èrnegin;

3 + 4 --> 3 + 4
(2 + 4) * 7 --> (2 + 4) * 7

Buradaki asil algoritma, agac topolojilerindeki baglarin (knoten)  
önceligine göre ciakrtilan bir sablondur. Örnegin :

                (+)
              /       \
            /           \
          (*)           (/)
         /   \          /    \
       /       \      C     D
     A        B

Postfix : A B * C D / +
Prefix : + * A B / C D
Infix :  (A * B) + (C / D) --> Islemin anlasilmasi icin parantez  
sarti!!!


Aslinda, islem önceligi dedigimiz carpmanin ve bölmenin toplama ve  
cikarma islemlerinden daha öncelikli olmasinin sebebi ve hatta (gerek  
yokken) parantez denilen icadin temeli, avrupa dillerindeki  
okunusundan kaynaklandigini okumustum. Örnegin (almanca olarak  
yazacagim);

2 + 4 : zwei plus vier (gayet anlasilir)
fakat
(2 + 4) * 7 : zwei plus vier mal sieben (dedigimizde, dinleyici burada  
toplamanin mi önce, carpmanin mi önce yoksa parantez var mi ve önce  
onun mu yapilacagini anlayamamaktadir.)

Türkcemizde ise (tamamen Postfix notasyonuna uygun oldugunu  
söylemistim) :

2 + 4 : iki ile dört'ün toplami (ilk önce operandlar alinip sonra  
operatör aliniyor ve islem yapiliyor)
veya
(2 + 4) * 7 : iki ile dört'ün toplami"NIN" yedi kati (cok dikkali  
okuyup islem ile karsilastirirsaniz aslinda parantez denilen seylere  
gerek olmadigini anlarsiniz.)

Dua ediyorum ki, avrupalilar türkcemizin bu kadar mantikli bir dil  
oldugunu ve yapay zekaya bu kadar uyum sagladigini farkedemediler.  
Tabii bunu Türkiye'deki mühendislerimizin (özellikle matematikci,  
bilgisayarci ve dil bilimcilerinin) toplanip genis capta bir proje  
olarak gelistirir iseler, türk dili dünyada bilgiayar (veya yapay  
zeka) dili olarak ilk siralara yerlesebilecegini düsünüyorum.


Saygilarimla...

M. Ozgan



>>>
>>> Am 26.03.2009 um 23:50 schrieb Ali Nesin:
>>>
>>>> Polonya yaziliminda (Polish notation) hic paranteze gerek yoktur
>>>>
>>>> +*3,4*7,8
>>>> islemi
>>>> (3*4)+(7*8)
>>>> olarak algilanir ornegin,
>>>>
>>>> *+3,4*7,8 ise ((3+4)*7)*8 olarak...
>>>>
>>>> Bundan 35 yil once, elektronik makinalar yeni ciktiginda, Texas  
>>>> Instruments markasi cok pahaliydi, 600 dolar filan gibiydi;  
>>>> Polonya makinalari cok cok daha ucuzdu, hemen hemen dortte bir  
>>>> fiyatina ve asagi yukari ayni kalitedeydi ve aynen Texas  
>>>> Instruments gibi programlanabiliyorlardi; ama Batiâ•˙da  
>>>> bulunmuyordu, Polonyaâ•˙dan getirtmek gerekiyordu. Programi  
>>>> bir kartona yazip, kartonu makinaya okuttugunda programi  
>>>> isletebiliyordun. Getirttirmistim bir tane. Polonyaâ•˙dan  
>>>> gelen makinalar Polonya yaziliminda sliyordu, paranteze gerek  
>>>> yoktu.
>>>>
>>>> Ali
>>>>
>>>> From: md-sorular-bounces at matematikdunyasi.org [mailto:md-sorular-bounces at matematikdunyasi.org 
>>>> ] On Behalf Of bary? u?urcan
>>>> Sent: Thursday, March 26, 2009 11:42 PM
>>>> To: deniz arslan
>>>> Cc: md
>>>> Subject: Re: [MD-sorular] MD-sorular Toplu Mesajı, Sayı  
>>>> 143, Konu 1
>>>>
>>>> islem onceliginin bir mantigi yok ki... tamamen bizim  
>>>> yarattigimiz birsey. yani biz bir anlasma yapmisiz kendi aramizda:
>>>>
>>>> 3*4+7*8
>>>>
>>>> gibi bir islem gordugumuzde bunu
>>>>
>>>> (3*4)+(7*8)
>>>>
>>>> seklinde anlicaz diye. eger kuralimiz 'her zaman once toplama  
>>>> yapilir olsaydi o zaman da ilk islemi
>>>>
>>>> 3*(4+7)*8
>>>>
>>>> seklinde anlicaktik. yani daha iyi aciklamak gerekirse biz (bunu  
>>>> belirleyen biziz!!! kendimiz!!!) "islemlerde once carpma islemi  
>>>> yapilir" diye "belirlediysek" o zaman (3*4)+(7*8) islemini  
>>>> 3*4+7*8 olarak yazariz ama "once toplamalar yapilir" kuralini  
>>>> benimseseydik bu sefer yine (3*4)+(7*8) islemini yapmak icin  
>>>> (3*4)+(7*8) yazacaktik. yani bu tamamen parantez kullanmayi  
>>>> azaltmak icin yapilan birsey.... matematik acisindan bir espirisi  
>>>> yok. yani cocuklara "once parantezlerin icindeki islemi yapin"  
>>>> diye ogretip hep parantez kullansaydik bu kurallara hic gerek  
>>>> kalmazdi. hatta bilgisayar programlari boyledir neyin once  
>>>> yapilacagini belirlemek icin parantez kullaniyoruz. mesela 3/5+3  
>>>> u (3/(5+3)) olarak giriyoruz. yani islem onceligi matematigin  
>>>> degil "parantez kullanmadan kacinmanin" dikte ettigi birsey.
>>>>
>>>> baris


-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: http://lists.math.bilgi.edu.tr/pipermail/md-sorular/attachments/20090328/c451ef40/attachment.htm 


MD-sorular mesaj listesiyle ilgili daha fazla bilgi