Thread overview
Taşmaya Karşı Önlemler Örneği
Feb 22, 2022
Salih Dincer
February 21, 2022

Ali hocam, kitabınızda sayfa 38 'deki örnek için basitçe yaptığım birim dönüşümüne göre o örneğin kağıt üzerindeki çözümünün şöyle olacağını düşünüyorum:
Sizin çözüm yönteminizdeki hesaplardan ağaçları sınırlayan alanın dikdörtgensel bir bölge olduğunu anlıyorum. Bu durumda sonucun bence doğru çıkması için :
Yatayda: (40km)(1ağaç / 1km) = 40 ağaç var.
Dikeyde: (60km)(1ağaç / 1m) = 60 ağaç var.
Dikdörtgensel alan hesabı = (yatay kenar uzunluğu)(dikey kenar uzunluğu) olduğundan
Toplam ağaç sayısı (yatay)(dikey) = 40*60 = 2400 ağaç yapıyor diye düşünüyorum.

February 21, 2022

Elbette o örnekle anlatılmak istenen D-programlam dilinde doğru tür tanımlaması yapılmazsa taşma hatasının olacağıdır. Ben sadece yöntemi kendi açımdan sorguladım.

February 21, 2022

Tabii ki benim çözümüm de hatalı. Şimdi düzeltiyorum. Karekök(1000 m^2) = (10m)(karekök(10)) eder. Yani 1000 metrekare = 10kök10 metre ediyor. Hesap makinesinden yaklaşık olarak;
Yatayda = ((40 000m)* (1ağaç / 10kök10m) )= 1 265 ağaç eder.
Dikeyde = ((60 000m)* (1ağaç / 10kök10m) )= 1 897 ağaç eder.

Dikilen toplam ağaç sayısı = 2 399 705 tane ağaç ediyor. Yani sizin sonucunuzla( yaklaşık 2.4 milyon) aynı.

February 21, 2022

Tamam, hocam. Sizin çözümünüzde bir hata yok. İşlemler doğru. O benim yanlış anlamam oldu. Sizden özür dilerim.

February 22, 2022

On Monday, 21 February 2022 at 07:48:24 UTC, İsmail Emre ARIKAN wrote:

>

Tabii ki benim çözümüm de hatalı. Şimdi düzeltiyorum. Karekök(1000 m^2) = (10m)(karekök(10)) eder. Yani 1000 metrekare = 10kök10 metre ediyor. Hesap makinesinden yaklaşık olarak;
Yatayda = ((40 000m)* (1ağaç / 10kök10m) )= 1 265 ağaç eder.
Dikeyde = ((60 000m)* (1ağaç / 10kök10m) )= 1 897 ağaç eder.

Dikilen toplam ağaç sayısı = 2 399 705 tane ağaç ediyor. Yani sizin sonucunuzla( yaklaşık 2.4 milyon) aynı.

Emre sayesinde, 42 yaşımda güzel bir şey öğrendim:

https://dlang.org/phobos/core_checkedint.html

Turbo Pascal'da ilk kodlarımı yazdığım ~30 sene öncesinden, yaşımın sihirli sayıdan "taştığı" (42->43)dec, (101010+1)bin bu noktaya kadar öğrenme macerası bitmedi bir türlü... 😀

Ali hocanın kitabının ilk bölümlerini şöyle bir geçmiş olmalıyım. Çünkü "bu konuları biliyoruz zaten" bakışlarıyla bakmışımdır. Arada böyle üst düzey (aslında en alt düzey!) dil olanağının olduğunu bilmiyordum.

Teşekkürler...

February 23, 2022

On Tuesday, 22 February 2022 at 04:21:03 UTC, Salih Dincer wrote:

>

On Monday, 21 February 2022 at 07:48:24 UTC, İsmail Emre ARIKAN wrote:

>

Tabii ki benim çözümüm de hatalı. Şimdi düzeltiyorum. Karekök(1000 m^2) = (10m)(karekök(10)) eder. Yani 1000 metrekare = 10kök10 metre ediyor. Hesap makinesinden yaklaşık olarak;
Yatayda = ((40 000m)* (1ağaç / 10kök10m) )= 1 265 ağaç eder.
Dikeyde = ((60 000m)* (1ağaç / 10kök10m) )= 1 897 ağaç eder.

Dikilen toplam ağaç sayısı = 2 399 705 tane ağaç ediyor. Yani sizin sonucunuzla( yaklaşık 2.4 milyon) aynı.

Emre sayesinde, 42 yaşımda güzel bir şey öğrendim:

Öğrendiğiniz konunun tam olarak ne iş yaptığını şu anki bilgi seviyeme göre kontrol edilen tamsayı kelimesinden (ve galiba int türünde yapılacak taşmaları engelliyor) başka bir şey bilmiyorum. Ama iyi bir şeye vesile olduğumu zannediyorum. Ben de 27 yaşındayım hocam. :)

>

https://dlang.org/phobos/core_checkedint.html

Turbo Pascal'da ilk kodlarımı yazdığım ~30 sene öncesinden, yaşımın sihirli sayıdan "taştığı" (42->43)dec, (101010+1)bin bu noktaya kadar öğrenme macerası bitmedi bir türlü... 😀

Ali hocanın kitabının ilk bölümlerini şöyle bir geçmiş olmalıyım. Çünkü "bu konuları biliyoruz zaten" bakışlarıyla bakmışımdır. Arada böyle üst düzey (aslında en alt düzey!) dil olanağının olduğunu bilmiyordum.

Ben de Ali hocanın kitabını geleceğe yönelik yazdığını sizin yorumunuzdan öğrenmiş oldum.

>

Teşekkürler...
Salih hocamın dediği gibi ben de size teşekkür ederim Ali hocam.