[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