tutorial etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
tutorial etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

22 Temmuz 2009 Çarşamba

Action Script 2.0 Movie Clip içinde Buton

Action script ile uğraşmaya yeni başlayan arkadaşların ilk karşılaşacakları sorun buton'a action script ile hedef göstermek olacaktır. Movie clip'imizin içine buton koymadan önce butona hedef vermeyi anlatayım.

Actions penceresinden butonumuzu buluyoruz ve kod penceresine aşağıdaki kodu yazıyoruz.

on (release){
gotoAndPlay("Scene 2",1);
}


Görüldüğü üzre gotoandplay fonksiyonu parametre olarak ilk scene'mizi 2. olarak da gitmek istediğimiz frame'i alıyor.

Şimdi biraz ayrıntıya girelim ve bir movieclip'e eklediğimiz bir butonu ana scenemizde bir frame'imize gönderelim.

Öncelikle gitmek istediğimiz frame'in label'ını Properties penceresinden istediğimiz bir şekilde adlandıralım. (Ben kodda deneme olarak kullanıyorum)

Şimdi movieclip içindeki butonumuza gelelim ve yine actios'dan butonumuza ait kod penceresine aşağıdaki kodu yazalım. yourlabel kısmına ise verdiğimiz etiket adını girmeliyiz. Yani "deneme"

on (release) {
_root.gotoAndStop("yourlabel");
}


Yukaridaki kod ile bir movieclip içine buton koyup istediğiniz frame'e yönlendirebilirsiniz.

Herkese kolay gelsin.

13 Temmuz 2009 Pazartesi

Css Tutorial

Bir önceki yazımda bahsettiğim style css kodlarını içeren bir tutorial.

#header
{
border: 0;
margin: 0px auto;
width:800px;
height: 106px;
}

body
{
width: 1024px;
height: 768px;
background-color: #952828
}

#con
{
width: 800px;
height: 600px;
background-image: url(images/arkafon.png);
background-position: top center;
text-align: left;

}

#bodyarka
{
width: 800px;
height: 400px;
background-image: url(images/arkafon2.png);

}

#tablo
{
width: 400px;
height: 400px;
float: left;
margin: 20px;
margin-top: 30px;
}

#resim
{
MARGIN: -450px 120px 10px 10px;
float: right;
display:inline;
}

4 Temmuz 2009 Cumartesi

C Do while Loop

C'de işleyeceğimiz bir başka döngü çeşidimiz de do / while döngüsüdür. Yaptığı iş hemen hemen while döngüsü ile aynıdır fakat tek bir fark vardır ki koşul sağlansa da sağlanma sa do / while döngüsü en az 1 kez çalıştırılır.

Konuyu biraz açacak olursak while döngüsünde koşul sağlanmadığı takdirde döngü içindeki komut çalıştırılmaz. Çünkü koşul başta belirtilmiştir. Fakat do / while döngüsünde koşul sonda kontrol edileceği için en az bir kez çalıştırılır.

Şimdi ufak bir örnek yapalım. Şöyle ki kodumudaki sayaç değeri 5'ten küçükse ekrana merhaba dünya yazalım. Eğer 5 ten küçük değilse merhaba dünya yazmasın. While ile do / while arasındaki farkı gözlemlemek için de sayaç degerimizi 10 yapalım.

Şimdi kodlara bakalım:

Aşağıdaki kod while döngüsü ile düzenlenmiştir. Sayaç başlangıç değeri 10 olarak atanmıştır. Koşul sağlanmadığı için ekrana herhangi birşey yazılmayacaktır.

# include
# include

int main()
{
int sayac = 10;

while (sayac < 5) { printf("merhaba dunya"); sayac ++; } getch(); }



Şimdi aynı kodu do / while ile yapıyoruz. Sayaç değeri yine 10 olarak belirlenmiştir. Fakat do / while'ın mantığına göre döngü en az bir kez çalışacağından 1 kez ekrana "merhaba dünya" yazdırılacaktır.

# include
# include

int main()
{
int sayac=10;

do {
printf("merhaba dunya! \n");
sayac++;
} while(sayac<5); getch(); }



Umarım aradaki farkı anlatabilmişimdir. Tüm c sever arkadaşlara kolay gelsin.

Programın kaynak dosyalarına aşağıdaki linkten ulaşabilirsiniz:

http://rapidshare.com/files/252043185/do_while.rar.html

1 Temmuz 2009 Çarşamba

C { İf / Else / Switch Tutorial 2 }

C dilinde yazılmış bir su fatura ücreti hesaplama programı. Programın kaynak kodu ve çalışma metodunu aşağıdaki linkte bulabilirsiniz.

İf / else / switch için gayet güzel ve kapsamlı bir örnek.

İndirmek için:

http://rapidshare.com/files/250859696/su_fatura.rar.html

21 Haziran 2009 Pazar

C For tutorial

Python dilinde while döngüsünden bahsetmiştim. Şimdi for döngüsü ile c'de bir örnek yapalım. Genel hatları ile while döngüsü bir koşul sağlandığı sürece çalıştırılacak komutlardan oluşuyordu. Koşul sağlanmadığında döngü sona eriyordu.

Eğer döngümüzün kaç kez döneceği belirli ise for yapısını kullanıyoruz. For yapısında ihtiyacımız olan tek şey döngünün kaç kez döndüğünü gösteren bir sayaç değişkeni. Bunu bir örnek ile açıklayalım.

Önceki yazdığımız python while tutorial'da sınıf mevcudu belli değildi ve kullanıcının not girinişi sonlandırması için 0 yada negarif bir değer girmesi gerekiyordu. Şimdiki örnekte ise sınıf mevcudu kullanıcıdan alınacak ve tanımlayacağımız sayaç değeri sınıf mevcuduna ulaşıncaya kadar no ve not girme işlemleri devam edecek.

#include
#include

int main()
{
int toplam=0,no,puan;
int mevcut=0;
int sayac=0;

printf("siniftaki ogrenci sayisini girin: \n");
scanf("%d",&mevcut);

for(sayac=0;sayac

Görüldüğü gibi kullanıcıdan sınıf mevcudu alınıyor ve for döngüsü ile sayaç değeri mevcuda ulaşıncaya kadar not giriş işlemi devam ediyor.

(ilk değer atamalarına ve sayacın 0 dan başladığına dikkat)

Python dilinde for'un kullanımı diğer dillerdekinden biraz farklı. Birdahaki yazımda ona deyineceğim.

Kaynak kodu aşağıdaki linkten indirebilirsiniz:

http://rapidshare.com/files/247035867/fot_tutorial.cpp.html

16 Haziran 2009 Salı

Python While Loop Tutorial 2

While döngüsüne bir örnek daha : Fibonacci sayıları.

Fibonacci dizisinde her sayı kendisinden önce gelen 2 sayının toplamıdır.

Fibonacci dizisi ile ilgili ayrıntılı bilgi için:

http://tr.wikipedia.org/wiki/Fibonacci_dizisi

İstek: Kullanıcıdan bir sayı alan ve bu sayıya kadar olan fibonacci dizisini ekrana yazdıran programı geliştirin.

Programın kaynak koduna aşağıdaki linkten ulaşabilirsiniz.

http://rapidshare.com/files/245095435/fibo.py.html

15 Haziran 2009 Pazartesi

Python Tutorial While Loop

While döngüsü bir koşul sağlandığı sürece çalışacak olan komutları içerir. Bunu bir örnek üzerinde incelersek daha iyi olacak.

Örneğin kullanıcıdan tek tek öğrenci no ve not girilmesini isteyen ve eğer öğrenci no 0 yada - bir değer girilirse not girişini sonlandırıp sınıf ortalaması ekrana yazdıran programı python ile geliştirelim.

print "ogrenci notlarını sıra ile girin. bitis icin 0 girin"
sayac=0 # sayac sınıf mevcusunu bulmak icin kullanılır her not girişinde 1 arttırılır
toplam=0 # sınıftaki öğrencilerin notlarını toplar


no=input("ogrenci no girin:")
while no>0: # while koşulu. koşul sağlandığı sürece not girişi devam eder.
...puan=input("ogrencinin notunu girin:")
...toplam=toplam+puan # öğrencinin notlarını toplar
...sayac=sayac+1 # öğrenci mevcudunu sayar
...no=input("ogrenci no girin:") # yeni öğrenci nosunu alır

print "ogrencilerin not ortalamasi : %.2f" % float(float(toplam) / sayac)
# giriş bitince istatistiği ekrana yazdırır.



Programın kaynak dosyasına aşağıdaki linkten ulaşabilirsiniz:

http://rapidshare.com/files/244717852/not.py.html

12 Haziran 2009 Cuma

Python Tutorial 1 (if / else)

Bir yeni metin belgesi oluşturalım ve ilk python programımızı kodlamaya başlayalım.

# Kullanıcıya basit bir menu sunularak bu menüye göre seçeceği işlem ile gireceği sıcaklık değerini Fahrenheit'a yada dereceye çevirip ekrana yazıdracak program geliştirilmesi isteniyor.

print "1-Fahrenheit'tan dereceye cevir"
print "2-Derece'den Fahrenhet'a çevir"
print "------------------------------"
secim=raw_input("seciminizi girin:")
if (secim=='1'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik-32)/1.8
print " %d Fahrenheit %d derecedir" % (sicaklik,sonuc)

if (secim=='2'):
sicaklik=input("sicaklik girin:")
sonuc=(sicaklik*1.8)+32
print " %d derece %d fahrenheit'dır" % (sicaklik,sonuc)

else:
exit


Görüldüğü gibi c'de yazdığımız programla arasında pek bir fark yok. Şimdi farkları inceleyelim.

Python'da temel olarak 2 giriş çeşidi vardır.
1) input
2) raw_input

Kısaca değinecek olursak input ekrana yazdığımız açıklamanın sonucu olan bir nesneyi döndürürken, raw_input standart bir stringi döndürecektir.

Yani koda bakarsak input("siceklik gir:") dediğimizde input sicaklik degerini döndürürken raw_input("secim gir:") dediğimizde seçimden sonra input("sicaklik gir:") (sicaklik gir stringini) döndürecektir.

Bir de girintili yazım stiline bakalım. C'de kullandığımız { } ler burda girintili yazım şekline dönüştürülmüş. komuttan sonra : ile satır içine geçebiliriz.

exit programı sonlandırır.

Böylece ilk python tutorial'ımızı başarıyla tamamladık.

Yukarıdaki kodları metin belgemize adı derece uzantısı .py olarak kaydedelim. Daha sonra metin belgesine sağ tıklayıp edit with idle ile shell'de açalım ve f5 ile programımızı çalıştıralım.

Syntax hataları f5 yaptıktan sonra varsa gösterilecektir.

Herkese bol pythonlu günler.

tyln

8 Haziran 2009 Pazartesi

Çoklu seçim switch tutorial

Programın akışı sırasında karşımıza çıkabilecek 3 yapıdan bahsetmiştik.

1) Seçim (if / else )
2) Çoklu seçim (switch)
3) Döngüler

İf / else yapısı için blogdaki if/else tutorial'ını inceleyebilirsiniz.

Şimdi çoklu seçim yapısına basit bir örnek ile değinelim.

#include
#include
int main()
{
int a,b,secenek; // değişken tanımlamaları

printf("islem yapilacak sayilari girin: \n");
scanf("%d %d",&a,&b); // değişkenlere değer atama

printf("menu icin bir secenek girin: 1 toplama 2 cikarma \n");
scanf("%d",&secenek); // çoklu seçim için kullanacağımız değişken

switch(secenek) // çoklu seçim yapısı
{
case 1: printf("%d", int(a+b)); break; // seçenek için 1 girilirse case 1 deki işlemler yapılır
case 2: printf("%d", int(a-b)); break; // seçenek için 2 girilirse case2 deki işlemler yapılır
default: printf("hatali giris! \n"); // 1 yada 2 dışında bir sayı girilirse default değeri altındaki işlemler yapılır.
}
getch();
}

Bu basit bir örnektir. Daha karmaşık ve büyük programlarda daha fazla case seçeneği olabilir. Tek tek if / else kullanmak yerine çoklu seçim yapısını kullanmak etlinlik açısından daha önemlidir.

6 Haziran 2009 Cumartesi

if else tutorial

if / else seçim yapısı:

if / else deyimi hemen hemen tüm programlama dilleri içinde mevcut bir deyimdir. Algoritmalarda ve flowchartlarda veri akışı sırasında karşımıza çıkacak 3 temel yapı var demiştik. 1) seçim 2) çoklu seçim 3) döngü

şimdi ilk olarak seçim yapısını inceleyelim. yine örnek bir soru üzerinde çalışalım:

* Kullanıcıdan 2 sayı girmesini isteyen ve birbirleriyle karşılaştırıp sonucu ekrana yazdıran basit bir program geliştirilmek istenmektedir.

// şimdi programımızı geliştirmeye başlayalım. ilk olarak standart öncü dosyamızı ekleyelim.

#include


// programın main kısmına geçelim
int main()
{
// değişkenleri tanımlayalım
float sayi1, sayi2;

// şimdi kullanıcıdan sayıları girmesini isteyelim

printf("ilk sayiyi girin: \n");
scanf("%f", &sayi1);
printf("2. sayiyi girin: \n");
scanf("%f", &sayi2);

// şimdi seçme kısmına geldik. elimizde 3 durum var ve bu üc durumdan birini seçip ekrana yazdıracağız. 1) 1. sayı 2. den büyük olabilir. 2) 2 sayı da eşit olabilir 3) 2. sayı birinciden büyük olabilir. şimdi kodlamaya devam edelim.

if(sayi1>sayi2) // eger sayi 1 daha buyukse ekrana sayi 1 daha buyuk yaz
printf("Sayi 1 Sayi 2'den daha buyuk \n");

else if(sayi1==sayi2)
printf("Sayi 1 ve Sayi 2 esit \n");

else
printf("Sayi2 sayi 1'den daha buyuk \n");

return 0;
}


Seçme yapısının basit mantığı böyle. seçme yapısı genellikle 2li durumlarda kullanılır. durum sayısı fazla olduğu zaman çoklu seçim yapısını kullanmak hem programın etkinliğini arttırır hem de kodlama yükünü azaltır.

dikkat ederseniz son durum için if kullanmadık. çünkü elimizde olabilecek 3 durumumuz var ve biz zaten 2 si için if(koşul) yapısını kullandık. son durum için tekrar bir if(koşul) yapısı kullanmamıza gerek kalmadı. else burada eğer ilk 2 koşul sağlanmıyorsa diğer tüm koşullar sağlandığı zaman çalışacak komutları yazmamıza olanak sağlar

Basit bir hesaplama programı

* kullanıcıdan gideceği yolu ve gitmek istediği süreyi alıp yol boyunca gitmesi gereken ortalama hızı bulan bir program geliştirin.

#include
#include

int main()
{
double yol, ortalama_hiz;
int zaman;

printf("Lutfen gideceginiz mesafeyi yazin (m): \n");
scanf("%lf", &yol);
printf("Lutfen gitmek istediginiz sureyi yazin (sn): \n");
scanf("%d", &zaman);
ortalama_hiz=yol/zaman;
printf("Yol boyunca ortalama hiziniz: %lf m/sn olmalidir.", ortalama_hiz);
getch();
}



kodlara kendimiz bir göz atalım:

include ile header dosyaları eklenmiştir. header dosyası nedir? header dosyaları program içinde kullanacağınız hazır fonksiyonları içeren dosyalardır. (şimdilik bu kadar yeter. )

int main() { } -> main kısmı programımızın gövdesini oluşturmaktadır. neden main adı veriyoruz? aslında main ana fonksiyon olarak tanımlanabilir. fonksiyon nedir? fonksiyonlar ileriki bölümlerde öğreneceğimiz bir konudur. kısaca değinmek gerekirse programda bazen tekrar etmesi gereken kod öbekleri olabilir. bunları sık sık tekrar yazmak yerine fonksiyon şeklide main kısmının üstünde yada altında tanımlayarak tekrar tekrar kullanabiliriz. programı küçük alt birimlere bölmeye yarar. (böl ve yönet mantığı) şimdilik fonksiyonlar hakkında bu kadar yeter.

ilk kullanacağımız hazır fonksiyonlarımız scanf ve printf. printf kalıbını ekrana bir şey yazdırmak istediğimizde kullanırız. kalıbı printf(" yazılacak metin \n"); şeklindedir.


\n nedir? imleci alt satıra geçirmeye yarar (next) başka kullanım olarak \t olabilir. t-> tab bir miktar ileri kaydırır imleci.

c'de ifadelerin sonuna ; koymamız gerekiyor. derleyici ; geldiğinde komutun sona erdiğini anlamakta. yeri gelmişken söylemek isiyorum derleyici boşlukları ve // ifadesinden sonraki kısımları atlar. // genelde yorum belirtmek için kullanılır. kod öbeklerinin sonuna yada başına // şeklinde açıklama satırları yazabilirsiniz.


neyse konuyu fazla dağıtmadan devam edelim.

scanf ise klavyeden veri girişini sağlayan ve onu bir değişkene atayan fonksiyondur. scanf kalıbı ise scanf("%d",&degisken_adi); şeklindedir. hemen incelersek burda kafamızı karıştırabilecek birkaç nokta olabilir. %d değişkenin tipini belirdir. okunacak değişkenin ne türde olduğunu gösterir. (değişken tipleri ile ilgili bir makale aşağıda vereceğim) daha sonra atama operatörü (ampersant) ile klavyeden okunan değer değişkene atanır.

Veri Tipi Bellek Boyutu Veri Aralığı Açıklama
int 16 bit, 2 byte -32768 ile 32767 Tamsayı Değişkenler
char 8 bit , 1 byte -128 ile 127 Karakter Değişkenler
float 32 bit, 4 byte 3.4x10-38 ile 3.4x10+38 Tek hassasiyet, 7 digit
double 64 bit, 8 byte 1.7x10-308 ile 1.7x10+308 Çift Hassasiyet, 15 digit

veri tiplerini de böylece görmüş olduk.

%d -> int
%c -> char
%f -> float
%lf -> dobule

daha çeşitli değişken tipleri mevcut. bunları lazım oldukça göreceğiz.

şimdi prgrama devam edelim. main'in altında ilk olarak değişkenleri tanımlamalıyız. kullanacağımız değişkenler; yol uzunluğu tam sayı, zaman tam sayı ve ortalama hız ( yol / zaman olacağı için kesirli sayı kullanmalıyız.)

değişkenler tanımlandıktan sonra kullanıcıdan veriler alınmalı ve ortalama hız hesaplanarak ekrana yazdırılır ve program sonlanır.

programı derlediğimizde hemen kapanması gibi bir sorunla karşılaşabilirsiniz. (yukarıdaki kodlarda getch() ifadesi kullanıldığı için kapanmayacaktır.)

getch() ifadesi programın sonuna eklenerek yada return 0; ifadesi eklenerek hallolabilir bu sorun.

not: getch ifadesi için conio.h öncü dosyasını eklemeniz gerekmektedir.