Mathematics in IronPython

Perşembe, 11 Mart 2010 14:19 by ikivanc
In this article we will see Numeric Funtions and calculations in IronPython

Here is 4 basic mathematical operators in IronPython ;

Addition         +
Substraction    -
Division          /
Multiplication   *


>>> 2+2     #we can use this expressions same as math in daily life
 4
 
 >>> 5-6
 -1
 
 >>> 4-3
 1
 
 >>> 52*9
 468
 
 >>> 12*-1
 -12
 
 >>> 4/3  
 1                  #After division result returns as an integer
 
 >>> x=2.1
 >>> y=3.1
 >>> z=x/y
 >>> z=float(z)     #if we set z as a float, result returns as a float.
 >>> print z
 0.677419354839
 >>> z=int(z)    #if we set z as an integer, result returns as a integer.
 >>> print z
 0
 
 >>> x=3
 >>> y=8
 >>> x=str(x)   #Let's see what happens when add converted intergers as strings
 >>> y=str(y)
 print x+y
 38 

Bacause of no pre-declaration, division restult retuns defaultly as an integer. We can convert this result to other types.

Power of a number
This method retuns x to the power of y the value of xy.
 
 4^3 = >>> 4**3
 64 
 
 4^(2^6) = 4**2**6 
 >>> 4**2**2
 256 
 

Complex Numbers

This gives us the form of x + yj ,real and imaginery numbers. "j" represents the square of (-1)
 
 >>> (4+4j)+(2-5j)
 (6-1j) 
 >>> (4+4j)/(2-5j)
 (-0.41379310344827586+0.96551724137931039j)
 
 >>> (4+4j)*(2-5j)
 (28-12j) 

We can use 4 basic mathematical operations with complex numbers.

Other Common Numeric Funtions
 >>> import math        # we imported Math library
 >>> math.pi           # we call PI in Math library
 3.14159265359 

Now we can use math library of python or math library of .NET with IronPython.


Abs(), Pow() Functions
Abs function returns absolute value of negative numbers. Pow function returns the value x to the power of y (xy)

 >>> abs(-42), 2**4, pow(2, 4)
 (42, 16, 16) 

PDF version of this article >> 9 - Mathematics in IronPython

If you have any questions or discover any errors / typos please let me know ik@ibrahimkivanc.com
 
All The Best! 

Püf Noktası #70 - Silverlight Proje Yedeği Alma

Perşembe, 11 Mart 2010 10:50 by ikivanc
Yazılım geliştirmede önemli noktalardan birisi; geliştirdiğimiz projeyi belirli süreçler geçirdikten sonra projemizin yedeğini almamızdır. Olası bir aksilik veya çözülmez bir hata karşısında projemizde kayıbımızı en aza indirmek için bir önceki yedekten devam edebiliriz.

Yedekleme konusunda Blend içerisinde çok pratik bir yol mevcut. "File" menüsünün altında "Save Copy of Project" seçeneği bulunur.


Bu seçeneği seçtikten sonra istediğimiz yere projemizin yedeğini rahatlıkla alabiliriz.


Bu şekilde yedekler alarak projenin gelişimini daha güvenli ve en az kayıpla gerçekleştirebiliriz.

Kolay gelsin.

Püf Noktası #69 - Silverlight Sayfayı Kaplama Sorunu

Çarşamba, 10 Mart 2010 10:54 by ikivanc
Silverlight projeleri içerisinde, bir önceki püf noktasındaki sayfayı otomatik kaplama özelliği kullanılınca Blend içerisinde sayfanın tasarım ekranı, minimum boyuta düşer. Bu durum bizim çalışmamıza engel teşkil edebilir.

Bu durumu düzeltmek için Blend içerisinde sayfa tasarımının köşesinde bulunan "Adjust to modify the design time-size" noktalardan sürükleyerek istediğimiz genişlikte tasarım ekranını genişletebiliriz.


Bu şekilde Blend içerisinde sayfamız hem otomatik olarak sayfayı kaplar hemde tasarım anında istediğimiz boyutlarda görebiliriz.

Kolay gelsin.

BabyRC Imagine Cup Projemiz

Salı, 9 Mart 2010 15:34 by ikivanc
Bu sene gerçekten iddialı bir ekip ile Imagine Cup projesine Yazılım Tasarım kategorisinden katıldığımdan bahsetmiştim. Bu sene Polonya'ya gitmek için talibiz, tabi sizlerin desteği ve yardımı ile :)

Projemiz şu anda tasarımı ve kodlama olarak nihayete erişti sayılır, artık eksiklerini tamamlama ve son düzenlemeleri yapmaya geçtik diyebilirim. Sistemin altında çalışan muazzam altyapısı haricinde gerçekten mükemmel bir kullanıcı deneyimi ve süpersonic orjinal bir tasarıma sahip, biraz bekleyin ;)

Projemizin ismi biraz eğlencelik "Baby Release Candidate". Doğmamış çocuğa en güzel ithaf yazılımsal olarak RC (Release Candidate) yani "Tam sürüm adayı" şeklinde olur diye düşündük ve projemizin ismi de bu şekilde kaldı :)


"BabyRC Proje Logomuz"

İsminden de anlaşılacağı gibi BabyRC projesi temelinde Anne-Bebek sağlığı takibi yapan bir yazılım projesidir.

Şu anda yarışma süreci devam ettiğinden dolayı proje detaylarından bahsetmeyeceğiz. Genel olarak ne yaptığımızdan ve sizlerden beklediklerimizden bahsedeceğiz.

Sizlere Imagine Cup projemizin geliştirme blogunu duyurmak istiyorum www.babyrc.com

http://blog.babyrc.com/

Burada sizlerle projemizin gelişiminden ve annelerin hamilelik süreci ve sonrasında yaşadığı zorlukları ve  nasıl çözüm getirdiğimizi, paylaşacağız.

Blogumuzda "Sizden Gelenler" bölümünde anne adaylarından gelen öneriler ve beklentiler doğrultusunda projemizi geliştirmeye devam edeceğiz.


"Hamilelik süreci boyunca karşılaştığınız; sağlık problemleri, randevu sorunu, doktorunuzla iletişim veya bu süreçlerin takibi konusundaki her türlü zorluğu bizimle paylaşabilirsiniz.  Bu sistemi sizler için geliştiriyoruz ve yorumlarınız bizim için önemli. Beklenti ve yaşadığınız sıkıntılarınızı "Sizden Gelenler" sayfasının altında yorum olarak paylaşabilirsiniz

Ekip üyeleri:
Burak KANMAZ - İstanbul Üniversitesi
Fatih COŞKUN - Trakya Üniversitesi
İbrahim KIVANÇ - Erciyes Üniversitesi
Yasemin ÇELİK - Galatasaray Üniversitesi

Danışman
Yrd. Doç. Dr. Mete ÇELİK - Erciyes Üniversitesi 

Desteğinizi bekliyoruz ;) 

Püf Noktası #68 - Silverlight Sayfayı Kaplama

Salı, 9 Mart 2010 11:03 by ikivanc
Silverlight içerisinde oluşturduğumuz projeler otomatik olarak 640x480 pixel boyutlarında olurlar, projeyi çalıştırdığımız zaman sayfanın içeriği tamamen silverlightmış gibi görünür fakat projemizin bulunduğu kısım 640x480 pixellik boyutta olan kısımdır.

Bu durum özellikle arka plan olarak farklı bir şeyler yaptığımız zaman kendini belli eder.


Bu sorunu gidermek için sayfanın boyutlarının sağ tarafında bulunan "Set to Auto" tuşuna tıklayabiliriz. 


Bunu tıkladıktan sonra yükseklik ve genişlik otomatik olarak sayfa boyutlarına göre ayarlanır.

Kolay gelsin.

Püf Noktası #67 - Silverlight Animasyon Çoğaltma

Pazartesi, 8 Mart 2010 11:11 by ikivanc
Silverlight içerisinde oluşturduğunuz animasyondan bir tane daha kopyalamak için kısa bir yol mevcut. Oluşturduğumuz animasyona gelerek "Duplicate" seçeneğini seçtiğimiz zaman animasyonumuzun kopyasını oluştracaktır.

 
Bu şekilde var olan animasyonumuzu çoğaltabiliriz ve üzerlerinde değişklik yapabiliriz.

Kolay gelsin.

Püf Noktası #66 - Silverlight Animasyon Ters Çevirme

Pazar, 7 Mart 2010 09:56 by ikivanc
Silverlight içerisinde tanımladığımız animasyonun tersini almak için Revere'i seçerek gerçekleştirebilir.


Bu sayede bulunduğu noktadan başka bir noktaya ilerlemiş nesneleri, aynı süre içerisinde eski hallerine geri gelmesini sağlayabiliriz.

Kolay gelsin.

Püf Noktası #65 - Silverlight Animasyon Silme

Cumartesi, 6 Mart 2010 09:27 by ikivanc
Silverlight içerisinde oluşturduğumuz animasyonu silmek istediğimiz zaman; sileceğimiz animasyonu seçerek Blend içerisinde okla gösterilen yere tıklayıp Delete 'i seçerek silebiliriz.


Böylelikle tanımlamış olduğumuz animasyon projenin içerisinden kaldırılmış oldu.

Kolay gelsin.

Püf Noktası #64 - Silverlight KeyFrame Silme

Cuma, 5 Mart 2010 14:35 by ikivanc
Silverlight içerisindeki animasyonlarda tanımladığımız keyframe'i kaldırmak için sağ tuş ile tıklayarak seçenekler gelir ve buradan delete ile rahatlıkla silebiliriz.


Burada animasyondan etkilenen nesnenin keyframe'ini sildiğimizde, zaman çizelgesinde tekabül ettiği zamandaki nesnenin pozisyonunu kaldırılmış olacağız. Böylelikle o zamana kadarki yapılan animasyon silinmiş olacaktır.

Kolay gelsin.

IC Digital Media'da 2 Turdayım ;)

Cuma, 5 Mart 2010 00:53 by ikivanc
Digital Media Kategorisi için geçtiğimiz günlerde sizden oy yardımı istemiştim. Son gün 3 içerisinde 268 oy alarak Şubat ayı içerisinde Dünya 5.si oldum. Pek çok kişi de maalesef oyu nasıl kullanacağını bilemediği için oy verememiş :(



Özellikle videonun duyurulması için sürekli paylaşan ve oy kullanan herkese çok ama çok teşekkür ederim. Smaç Yarışmalarında olduğu gibi finale kalmak için normal bir video hazırladım fakat final için en iyi smacımı saklıyorum :)

Imagine Cup Videom Aşağıdadır.