search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Powershell ile bir sayının karekökünün bulunması – For döngüsü
Posted in Windows Powershell, Windows Server | No Comment | 2,202 views | 18/01/2009 12:06

Madem Powershell öğrenmeye başladık, biraz işin matematik kısmına girelim. Aslında Powershell matematik amaçlı yapılmış bir şey değil fakat dört işlem yapabiliyorsak, matematiksel işlemleri de yaptırabiliriz kendisine. Sanırım Powershell’de böyle bir işlem yaptırmış kişi daha yoktur ya da ben bulamadım. Yalnız ilginizi çekecek bir çalışma olabilir bu. Hiç değilse 13’ün 1000 iterasyon ile bulunan karekökünün 3,60555127546399 olduğunu görmek, hoşuma gitti benim. Haydi başlayım.

1
2
3
4
5
6
7
8
9
$kokubulunacaksayi=13
$ilkdeger=2
$iterasyon=1000
For ($i=0;$i –lt $iterasyon;$i++) {
$sonuc=$kokubulunacaksayi/$ilkdeger
$kok=($ilkdeger+$sonuc)/2
$ilkdeger=$kok
}
$kok

$kokubulunacaksayi olan değişkene 13 dedim. İşleme başlamak için bir tane ilk değer girmek gerekiyor. Bana en mantıklı yol, 13’ün yarısıyla başlamak gibi geldi. Bu yüzden $ilkdeger değişkeni için 2 verdim. Böylece yarısıyla başlayıp, aritmek ortalama ile devam edeceğiz. Sonrasında bir iterasyon sayısı belirlemem gerekiyor. Ne kadar büyük iterasyon sayıları verirsek, bulacağımız sonuç da o kadar yakın çıkacak. For döngüsünü biraz dikkatli inceleyelim. $i değeri 0’dan başlıyor ve 1000 olana kadar devam ediyor. Değerlerimiz 1’er 1’er artıyor. $kok işleminde çıkan sonuç ile $ilkdeger’in aritmetik ortalamasını alıyoruz ve $ilkdeger=$kok ile, $ilkdeger değerinin artık $kok olarak işleme girmesini sağlıyoruz. Tabiki 1000 işlem sonundaki sonucu görebilmek için de döngü sonuna $kok değişkenini koyuyoruz ve bize sonucu vermesini istiyoruz. Burada aslında sizlere for döngüsünü göstermeye çalıştığım. Bir sonraki bölümde while döngüsünü de göreceğiz ve aslında Virtual Machine Manager yani VMM için yazacağımız ufak çaplı scriptlere temel oluşturmuş olacağız. For döngüsüyle yapabilecekleriniz, hayal gücünüzle sınırlı. Kolay gelsin.



Leave a Reply