23 Mayıs 2010 Pazar

10x10 luk Birim Matris Oluşturan MAL Kodu

               .data
matris:  .space 400
               .text
            li  $5,1
            li  $6,0
            la  $7, matris
            li  $8,0
for1:       beg  $8, 40, endfor1
            li  $9, 0
for2:       beg  $9, 40, endfor2
            bne  $8, $9, sifirla
            add  $7, $8, $9
            sw  $5, 0($7)
            add  $9, $9, 4
            b  for2
sifirla:    add  $7, $8, $9
            sw  $6, 0($7)
            add  $9, $9, 4
            b  for2
endfor2:    add  $8, $8, 4
            b  for1
endfor2:    done
Verilen 10x10 luk ve her bir elemanın boyutu 4 olan matris oluşturur.

1 Mayıs 2010 Cumartesi

Pythonda While ile Girilen Sayının Mükkemel Olup Olmadığını Bulan Kod

while.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#www.ethemsulan.com
sayi=input("Bi deger girin : ");
deg1=1;
esitmi=0;
while deg1<sayi:
  if(sayi%deg1==0):
    esitmi=esitmi+deg1;
    deg1=deg1+1;
  else:
    deg1=deg1+1;
if(esitmi==sayi):
  print sayi, " sayisi bir mukemmel sayidir"
else:
  print sayi," sayisi mukemmel degil"


Kodu çalıştırmak için,

Ethem@Ethem ~ $ chmod 777 while.py


Ethem@Ethem ~ $ ./while.py


Bi deger girin : 14


14  sayisi mukemmel degil


Ethem@Ethem ~ $ ./while.py


Bi deger girin : 28


28  sayisi bir mukemmel sayidir


Ethem@Ethem ~ $ ./while.py


Bi deger girin : 6


6  sayisi bir mukemmel sayidir


Ethem@Ethem ~ $ ./while.py


Bi deger girin : 34


34  sayisi mukemmel degil


Ethem@Ethem ~ $

Fibonacci Sayılarını Bulan Python Kodu

fibonacci.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#www.ethemsulan.com
a=0
b=1
while b<100:
  print b
  b,a=a+b,b


pythonda a,b=a ya atanacak deger, b ye atanacak deger gibi bir kullanım var.

Kodu çalıştırısak,


Ethem@Ethem ~ $ chmod 777 fibonacci.py


Ethem@Ethem ~ $ ./fibonacci.py


1


1


2


3


5


8


13


21


34


55


89


Ethem@Ethem ~ $


+x yerine 777 değerini de verebiliriz.

Pythonda Recursive Olarak 1 den N ye Kadar Olan Sayıların Toplamını Bulan Kod

recursive.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Fonksiyon def ile tanimlanir.
# diger dillerden farkli olarak verilen parametre tipi
#belirtmeye gerek yok.Python zaten algiliyor.
def topla(n):
  if n<=1:
    return 1;
  else:
    return (n+topla(n-1));
#input() sayi degerini alir eger string girilirse hata verir.
sayi=input("Bir tam sayi girin : ");
sonuc=topla(sayi);
print "1 den ",sayi," kadar olan sayilarin toplami : ",sonuc;


def fonkIsmi(parametre listesi):

  yapmak istedigimiz kodlari buraya yaziiyoruz.


Gene diger dilelrden farkli olara fonksiyon tipi


yani void,string,int.. seklinde belirtmiyoruz.


Recursive demek fonksiyonu kendi içinde çağırmaktır.


return n+topla(n-1) gibi.


Pardusta recursive.py dosyasını çalıştırmak için


Ethem@Ethem ~ $ chmod +x recursive.py


Ethem@Ethem ~ $ ./recursive.py


Bir tam sayi girin : 100


1 den  100  kadar olan sayilarin toplami :  5050

Pythonda raw_input(), input(), if, break Örneği

tekcift.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#ww.ethemsulan.com
for i in range(10):
  girilen=input("Bir sayi gir : ");
#Eger 5 girilirse brek ile for dan cikiyor
  if(girilen==5):
    break;
  elif(girilen%2==0):
    print girilen," sayisi cift sayidir"
  else:
    print girilen," sayisi tek sayidir"
else:
  print "Cift ve tek degerler bulundu"


raw_input() string deger alırken input() fonksiyonu sayı değerlerini alır.

Eğer input() fonksiyonuna string değer girilirse hata verir.


Program da 5 girilirse for döngüsünden çıkıyor.Python da for ile beraber else de kullanılabilir.


Pardusta kodu çalıştırma


Ethem@Ethem ~ $ chmod +x tekcift.py


Ethem@Ethem ~ $ ./tekcift.py


Bir sayi gir : 12


12  sayisi cift sayidir


Bir sayi gir : 3


3  sayisi tek sayidir


Bir sayi gir : 4


4  sayisi cift sayidir


Bir sayi gir : 5


Ethem@Ethem ~ $


5 girilince for a ait else de çalıştırılmıyor.


if, elif ve else kullanımına da dikkat edin.