• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

Programlamaya Nereden Baslamali?

iFantastic

Banlanmış Üye
Aktiflik
K.Tarihi
25 Eyl 2009
Mesajlar
27
Puanı
10
Konum
Sweden
Merhabalar...
Bilgisayar programlamaya ilgi duyan ve bir şekilde başlamayı planlayan çoğu kişinin aklında canlanan ilk sorudur : Nereden Başlamalıyım?.Bende bu arkadaşlarımıza faydalı olacağını düşündüğüm birkaç bilgiyi paylaşayım.

Öncelikle programlamaya başlıcaksınız fakat hangi alanda projeler geliştirmeyi planlıyorsunuz veya ne tür projelerle ilgileniyorsunuz.Bu sizin programlama dili seçiminizi etkileyecektir.Örneğin küçük bir hesap makinesi projesi geliştirmek isteyen birinin C++ seçmesi ne kadar mantıklı olabilir?İşte bu yüzden adım adım neler yapmanız gerektiğini açıklayayım:

1.Algoritma nedir? Ne işe yarar bunu öğrenin.

2.Bol bol algoritma sorusu örneği çözün,

3.Kısa sürede hızlı gerçekleşmesi gereken projelere yönelik çalışacaksanız size önerim C# dilini öneririm.Fakat C# platform bağımlısı bir dil olması geliştireceğiniz projelerin sadece windows tabanlı bilgisayarlarda çalışmasına neden olacaktır.Projelerinizin hem windows hemde linux tabanlı daha dogrusu her işletim sisteminde çalışmasını istiyorsanız size önerim Java dır.Fakat Java nın da kendi içerisinde dez avantajları mevcuttur.Örneğin bugün C# editörü visual studio muhteşem düzeyde pratikken Java da bu durum söz konusu değildir.
Web uygulamaları üzerine projeler geliştirmeyi düşünüyorsanız asp , asp.net , php dillerine yönelin derim.Bunun nedeni bunları öğrenim sürecinde kaynak sıkıntısı çekmeyecek olmanız ve sektörde en fazla ilgi duyulan diller olmalarıdır.
İşletim sistemi geliştirici , Sektörel üst düzey projelerde yer almayı düşünen arkadaşlara da C/C++ programlama dilini öğrenmelerini öneririm.

Programlama , çok büyük sabır gerektiren bir sektördür.Çok üst düzey projelerle çalışılabiliniyor.Bu yüzden büyük sabır gerektiren bir alandır.Bu işe atılan çoğu kişi 2 günde algoritma hazırlamayı 3. günde windows u baştan tek başına yazmayı isterler ve bunun sonucunda görürlerki hiçbirşey yapamıyorlardır .Tabi bu süreçten sonra onlar için programlama diye bir kavram kalmamış orada son bulmuştur.Bu işe başlayınca inanın çok uzun bir süre console(siyah ekran) üzerinde çalışacaksınız ve hergün ne zaman görsel birşeyler yapacağım diyeceksiniz.İnanın o siyah ekrana tam anlamıyla hakim olduğunuz zaman görsellik size çocuk oyuncağı gibi gelecektir.Tabi bu fikrime karşı çıkan binlerce programcı olabilir.Anında görsel uygulamalardan başlayarak ta öğrenilebilinir diyenler olacaktır . Fakat biraz araştırma yapıldığında görülecektir ki işi temelinden sağlam bir şekilde öğrenenler piyasada daha kalıcı olmuşlardır.

Programlama öğrenmeyi planlayanlar unutmamalıdırki kesinlikle kitap okuma alışkanlığı elde edeceklerdir.Sürekli olarak okumak zorunda kalacaksınız. Aslında ne kadar çok okursanız o kadar iyi gelişirsiniz.

Bu yazı genel olarak programlama mantığı üzerine bilgi vermek amacıyla yazılmıştır.Umarım programlamaya yeni başlayacak arkadaşlara bir nebze de olsa yön gösterici olur.

İyi Günler...

Not : Programlamaya merak saldıgım zmnlarda bana yardımcı olan hocamın makalesidir .. Direk tanıstıgımız ilk gün bana bu makaleyi yollamıstı .. Gercekten cok faydalı oldu bana .. Eminim sizede olucaktır =)
 
Buyrun algoritma hakkındaki bulabildiğim tüm bilgiler :D mantıklıymış çözmeye çalışıcam :D
Algoritma Nedir?
Bir problemin ideal çözümüne giden yola algoritma denir. Yazılacak programın dili değil de, algoritması en önemli kısmıdır. Programı çalıştıracak algoritmayı en iyi şekilde çözümledikten sonra, kullanılacak dilin yapısına göre kodlama aşamasına geçilir.
Programlama ihtiyacı duyulan her konuda, çözümleri koda aktarırken en temel algoritmalar kullanılır. Örneğin bir listenin sıralanması işleminde, sıralama algoritması kullanılmalıdır. Veya bir liste içinde en yüksek sayısal değeri bulmak için programcı en büyük elemanı bulma algoritmasını kullanmalıdır.
Algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.
Her algoritma aşağıdaki kriterleri sağlamalıdır:
  • Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.
  • Çikti: En azından bir değer üretilmeli.
  • Açiklik: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.
  • Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.
  • Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır.
Her program için sonluluk özelliği geçerli değildir. Örneğin isletim sistemleri sonsuza dek çalışan programlara örnektir.
Bir dizi içerisindeki en büyük sayıyı bulmak için izlenecek yol şu şekilde olabilir:
  • Dizinin ilk elemanı en büyük sayı kabul edilir.
  • Bir sonraki eleman ile karşılaştırılır.
  • Eğer karlılaştırılan eleman daha büyükse, artık en büyük eleman odur.
  • Dizi sonlana kadar bu işleme devam edilir.
En küçük elemanı bulmak için ise yine benzer bir yöntem izlenir.
  • Dizinin ilk elemanı en küçük sayı kabul edilir.
  • Bir sonraki eleman ile karşılaştırılır.
  • Eğer karlılaştırılan eleman daha küçükse, artık en küçük eleman odur.
  • Dizi sonlana kadar bu işleme devam edilir.
Algoritma belirli bir görevi yerine getiren sonlu sayidaki islemler dizisidir.
Her algoritma asagidaki kriterleri saglamalidir.
  • Girdi: Sifir veya daha fazla deger disaridan verilmeli.
  • Çikti: En azindan bir deger üretilmeli.
  • Açiklik: Her islem (komut) açik olmali ve farkli anlamlar içermemeli.
  • Sonluluk: Her türlü olasilik için algoritma sonlu adimda bitmeli.
  • Etkinlik: Her komut kisinin kalem ve kagit ile yürütebilecegi kadar basit olmalidir.
Her program için sonluluk özelliği geçerli değildir. Örneğin isletim sistemleri sonsuza dek çalisan programlara örnektir.
Örnek: 1'den 100'e kadar olan sayilarin toplamini veren algoritma.
  1. Toplam T, sayilar da i diye çagirilsin.
  2. Baslangiçta T'nin degeri 0 ve i'nin degeri 1 olsun.
  3. i'nin degerini T'ye ekle.
  4. i'nin degerini 1 arttir.
  5. Eger i'nin degeri 100'den büyük degil ise 3. adima git.
  6. T'nin degerini yaz.
Algoritmaların yazim dili değişik olabilir. Günlük konuşma diline yakın bir dil olabilecegi gibi simgelere dayalı da olabilir. Akış şeması eskiden beri kullanıla gelen bir yapıdır. Algoritmayı yazarken farklı anlamlar taşıyan değişik şekildeki kutulardan yararlanılır. Yine aynı amaç için kullanılan programlama diline yakın bir (sözde kod = pseudo code) dil , bu kendimize özgü de olabilir, kullanılabilir.
Aynı algoritmayı asağıdaki gibi yazabiliriz:
  1. T=0 ve i=0
  2. i'nin degerini T'ye ekle.
  3. i'yi 1 arttir.
  4. i<101 ise 2.adıma git.
  5. T'nin değerini yaz.
Algoritmayı bir de akış şemasi ile gerçekleyelim.
akissema.bmp

Örnek : ax 2 +bx+c=0 tipi bir denklemin köklerini veren algoritma.
  • Girdi : a, b ve c katsayilari Çikti : denklemin kökleri
    1. a, b ve c katsayilarini al.
    2. D = b 2 -4ac degerini hesapla.
    3. D<0 ise gerçel kök yok. 7. adima git.
    4. clip_image014.gif
    5. clip_image016.gif
    6. değerlerini yaz.
    7. Dur.

[FONT=Verdana, Arial, Helvetica, sans-serif]ALGORITMA NEDIR?[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]
(Adim adim islem basamaklarinin yazilmasidir.)
[/FONT]​
[FONT=Verdana, Arial, Helvetica, sans-serif]Programlamaya Giris[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanilarak yazilmis deyimler dizisi.
Önceki bölümde bir problemin çözümü ile ilgili teknikler sunmustuk. Bir problemi bilgisayar ile çözmek için gelistirecegimiz programin yaziminda izleyecegimiz adimlar:
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]i) Problemin ne oldugunu kavra. Çözüm için gereksinimleri belirle.
ii) Problemin girdilerini, çiktilarini ve diger kisitlama ve gereksinimleri belirle ( bilgilerin giris ve çikis biçimlerinin nasil olacagina kadar).
iii) Problemin çözümünü veren algoritmayi yaz.
iv) Algoritmayi bir programla dili ile yaz.
v) Programin dogru çalisip çalismadigini test et. Bu testi degisik veriler (girdiler) için tekrarla.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] Problem Çözme ve Algoritmalar
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1.1 Problem Çözme
Problem çözmede, soruna hemen girismek yerine, dikkatli ve sistematik yaklasim ilke olmalidir. Problem iyice anlasilmali ve mümkün oldugu kadar küçük parçalara ayirilmaladir.
Descartes tarafindan "Discourse on Method" isimli kitabinda anlatilan problem çözme teknikleri;[2]
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 1. Dogrulugu kesin olarak kanitlanmadikça, hiçbir seyi dogru olarak kabul etmeyin; tahmin ve önyargilardan kaçinin.
2. Karsilastiginiz her güçlügü mümkün oldugu kadar çok parçaya bölün.
3. Düzenli bir biçimde düsünün; anlasilmasi en kolay olan seylerle baslayip yavas yavas daha zor ve karmasik olanlara dogru ilerleyiniz.
4. Olaya bakisiniz çok genel, hazirladiginiz ayrintili liste ise hiçbir seyi disarida birakmayacak kadar kusursuz ve eksiksiz olsun.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1.2 Algoritmalar
Belirli bir görevi yerine getiren sonlu sayidaki islemler dizisidir.
I.S. 9.yy da Iranli Musaoglu Horzumlu Mehmet
(Alharezmi adini araplar takmistir) problemlerin çözümü için genel kurallar olusturdu. Algoritma Alharezmi'nin Latince okunusu.
Her algoritma asagidaki kriterleri saglamalidir.
1. Girdi: Sifir veya daha fazla deger disaridan verilmeli.
2. Çikti: En azindan bir deger üretilmeli.
3. Açiklik: Her islem (komut) açik olmali ve farkli anlamlar içermemeli.
4. Sonluluk: Her türlü olasilik için algoritma sonlu adimda bitmeli.
5. Etkinlik: Her komut kisinin kalem ve kagit ile yürütebilecegi kadar basit olmalidir.
Not: Bir program için 4. özellik geçerli degil. isletim sistemleri gibi program sonsuza dek çalisirlar .
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek: Iki sayinin toplamini yazan algoritmayi yaziniz.[/FONT]​
[FONT=Verdana, Arial, Helvetica, sans-serif] Çözüm: Adim 1 --> Ilk sayiyi oku, Sembolik olarak A1 S1=?
Adim 2 --> Ikinci sayiyi oku A2 S2=?
Adim 3 --> Sayilari topla A3 T S1+S2
Adim 4 --> Sonucu görüntüle. A4 T'yi göster.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 1.Soru : Kullanicinin girdigi iki sayinin karelerinin toplamini görüntüleyen algoritmayi yaziniz.
Çözüm
A0 --> Basla
A1 --> Sayaç=0 (Sayaç'in ilk sayisi 0 olarak baslar.)
A2 --> Sayi=? : TßT+Sayi (Sayiyi giriniz. T'ye sayiyi ekle veT'yi göster.)
A3 --> Sayaç=Sayaç+1 (Sayaç'a bir ekle ve sayaci göster.)
A4 --> Sayaç<4 ise A2'ye git. (Eger sayaç 4'ten küçükse Adim 2'ye git.)
A5 --> O=T/4 (Ortalama için T degerini 4'e böl)
A6 --> O'yu göster. (Ortalamayi göster.)
A7 --> Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 2.Soru : 20'den 50'ye kadar olan sayilarin toplamini bulan algoritma yaziniz. BASLA
Çözüm A0 --> Basla
A1 --> S=20 : T=0 (Sayi 20 T degeri 0 ile basla)
A2 --> TßT+S (T'ye sayiyi ekle T'yi göster.)
A3 --> S=S+1 (Sayiyi bir artir.)
A4 --> S<50 ise A2'ye git. (Eger sayi 50'den küçük ise Adim 2'ye git)
A5 --> T'yi göster. (T'nin degerini göster.)
A6 --> Dur Akis Semasi à
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 3.Soru : 30 ile 90 arasindaki çift sayilarin toplamini bulan algoritma yaziniz.
Çözüm:
A0 --> Basla
A1 --> S=0 : T=0 (Sayi 0, Toplam degeri 0 olsun)
A2 --> S=S+1 (Sayiyi bir artir, sayiyi göster.)
A3 --> T=T+2S+28 (28 sayisina çift sayi olmasi için sayiyi 2 ile çarp ve toplama ekle, toplami göster)
A4 --> 2S+28<90 ise git A2 (Eger Çift sayi 90 degerinden küçük ise Adim 2'ye git)
A5 --> O=T/S (Toplam degeri sayiya böl ve ortalamayi bul)
A6 --> O'yu yaz. (Ortalamayi göster)
A7 --> Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]
4.Soru : Klavyeden girilen 10 adet sayidan çift sayilarin toplaminin tek sayilarin toplamina oranini bulan algoritma yaziniz.
Çözüm:
A0 --> Basla
A1 --> S=0 : T=0 : Ç=0 (Sayi, tek ve çift sayilar 0 degerini alsin)
A2 --> Sayi? (Sayiyi giriniz)
A3 --> (-1)sayi=1 ise Ç=Ç+Sayi (Eger -1'in sayi üssü 1 sayisina esitse sayiyi çift sayiya ekle ve çift sayiyi bul.)
A4 --> (-1)sayi=+1 ise T=T+Sayi (Eger -1'in sayi üssü +1 sayisina esitse sayiyi tek sayiya ekle ve tek sayiyi bul.)
A5 --> S=S+1 (Sayaça 1 ekle ve sayaci göster)
A6 --> S<10 ise A2'ye git. (Eger Sayaç 10'dan küçük ise Adim 2'ye git.)
A7 --> V ß Ç/T (Çift sayilarin toplamini tek sayilarin toplamina böl.)
A8 --> V'yi göster. (Bölme sonucunu göster.)
A9 --> Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 5.Soru : Klavyeden girilen iki sayidan en büyügünü bulup gösteren algoritmayi yaziniz.
Çözüm :
A0 --> Basla
A1 --> S1=? : S2=? (Ilk sayiyi gir ; ;Ikinci sayiyi gir.)
A2 --> S1>S2 ise git A4 (Sayi 1 sayi 2'den küçükse Adim 4'e git.)
A3 --> S2>S1 ise git A5 (Sayi 2 sayi 1'den küçükse Adim 5'e git.)
A4 --> S1'i göster git A6 (sayi 1 degerini göster ve islemi durdur)
A5 --> S2'yi göster. (Sayi 2 degerini göster)
A6 --> Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 6.Soru : Klavyeden girilen üç sayidan en büyügünü bulup gösteren algoritmayi yaziniz.
Çözüm :
A0 --> Basla : EB=-¥ : S=0 (Basla olabilecek EB:en küçük sayi olsun, Sayi 0 olsun)
A1 --> Sayi? (Sayiyi giriniz.)
A2 --> Sayi>EB ise EB=Sayi (Eger Sayi EB'den küçükse EB sayiyla ayni degeri alsin.)
A3 --> S=S+1 (Sayaca 1 ekle ve sayaci göster)
A4 --> S<3 ise git A1 (Eger sayac 3'ten küçükse adim 1'e git.)
A5 --> EB'yi göster (En büyük sayiyi göster.)
A6 --> Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.1 : 1'den 100'e kadar olan sayilarin toplamini veren algoritma.
1. Toplam T, sayilar da i diye çagirilsin.
2. Baslangiçta T'nin degeri 0 ve i'nin degeri 1 olsun.
3. i'nin degerini T'ye ekle.
4. i'nin degerini 1 arttir.
5. Eger i'nin degeri 100'den büyük degil ise 3. adima git.
6. T'nin degerini yaz.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] Algoritmalarin yazim dili degisik olabilir. Günlük konusma diline yakin bir dil olabilecegi gibi simgelere dayali da olabilir. Akis semasi eskiden beri kullanila gelen bir yapidir. Algoritmayi yazarken farkli anlamlar tasiyan degisik sekildeki kutulardan yararlanilir. Yine ayni amaç için kullanilan programlama diline yakin bir (sözde kod = pseudo code) dil , bu kendimize özgü de olabilir, kullanilabilir.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ayni algoritmayi asagidaki gibi yazabiliriz.
1. T=0 ve i=0
2. i'nin degerini T'ye ekle.
3. i'yi 1 arttir.
4. i<101 ise 2.adima git.
5. T'nin degerini yaz.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Algoritmayi bir de akis semasi ile gerçekleyelim.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] T=0
I=0
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] I'nin Degrini T'ye ekle[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] I'yi bir arttir[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]
I<101
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]
T'yi yaz
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.2 : ax2+bx+c=0 tipi bir denklemin köklerini veren algoritma.
Girdi : a, b ve c katsayilari Çikti : denklemin kökleri
1. a, b ve c katsayilarini al.
2. D = b2-4ac degerini hesapla.
3. D<0 ise gerçel kök yok. 7. adima git.
4.
5 .
6. degerlerini yaz.
7. Dur.
Döngü Gösterimi
Tekrarlanan adimlar
n. Kosul saglandigi sürece
n.1 ...
n.2 ... tekrarlanan adimlar
n.3 ...
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.3 : Iki tamsayinin çarpma islemini sadece toplama islemi kullanarak gerçekleyin.
Girdi : iki tamsayi
Çikti : sayilarin çarpimi
1. a ve b sayilarini oku
2. c =0
3. b>0 oldugu sürece tekrarla
.3.1. c=c + a
3.2. b = b-1
4. c degerini yaz ve dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.4 : Bir tamsayinin faktoriyelini hesaplayiniz.
Girdi : Bir tamsayi
Çikti : sayinin faktoriyel
Ilgili formul: Faktoriyel(n)=1*2*...*n
1. n degerini oku
2. F=1
3. n >1 oldugu sürece tekrarla
.3.1. F=F*n
3.2. n= n-1
4. F degerini yaz
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.5 : Iki tamsayinin bölme islemini sadece çikarma islemi kullanarak gerçekleyin. Bölüm ve kalanin ne oldugu bulunacak.
1. a ve b degerlerini oku
2. m=0
3. a>=b oldugu sürece tekrarla
3.1 a=a-b
3.2 m = m + 1
4. kalan a ve bölüm m 'yi yaz
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.6 : 100 tane sayiyi okuyup, ortalamasini bul
1. T=0, i=0
2. i<101 oldugu sürece tekrarla
2.1 m degerini oku
2.2 T = T + m
2.3 i = i + 1
3. T = T / 100
4. Ortalama T 'yi yaz
5. Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.7 : Bir sinava giren ögrencilerin not ortalamasinin hesaplanmasi
1. Tüm sinav kagitlarini inceleyip notlarin toplamini hesapla
2. Ortalamayi notlarin toplamini incelenen sinav kagidina bölerek hesapla
3. Ortalamayi yaz.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. Notlarin toplamini ve incelenen sinav kagidi sayisini sifir kabul et
2. Siradaki sinav kagidinin notunu notlarin toplamina ekle
3. Incelenen sinav kagidi sayisini Bir arttir
4. Incelenecek sinav kagidi var ise 2. Adima git
5. Ortalamayi notlarin toplamini incelenen sinav kagidina bölerek hasapla
6. Ortalamayi yaz
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. Notlarin toplamini ve incelenen sinav kagidi sayisini sifir kabul et
2. Her bir sinav kagidi için
3. 1. Siradaki sinav kagidinin notunu notlarin toplamina ekle
4. 2. Incelenen sinav kagidi sayisini bir arttir
5. Ortalamayi notlarin toplamini incelenen sinav kagidina bölerek hesapla
6. Ortalamayi yaz
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Kosul Gösterimi[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]n. Kosul dogru ise
n.D.1
n.D.2 dogru oldugunda islenen adimlar
n.D.3
aksi halde
n.Y.1
n.Y.2 yanlis oldugunda islenen adimlar
n.Y.3
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Kök bulma örneginde 3. Adimi tekrar yazarsak
3. D>=0 ise
3.D.1
3.D.2
aksi halde
3.Y.1 Reel kök yoktur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Sorular:
* Girilen üç sayidan en büyügünü bulan algoritmayi yaziniz.
* Tamsayilarda üs alma islemini gerçeklestiren algoritmayi yaziniz ( ab ).
* 1-100 arasinda tutulan bir sayiyi tahmin eden algoritmayi yaziniz.
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.8 : Aracin otopark ücretinin hesaplanmasi. Araçlarin en fazla 24 saat kaldigini varsayin.
0 - 2 saat 150 bin
2 - 8 saat 300 bin
8-24 saat 500 bin
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. Aracin kaç saat kaldigini ögren ( t olsun ).
2. t <= 2 ise
2.D.1. ücret = 150 bin
Aksi halde
2.Y.1. t<=8 ise
2.Y.1.D.1. ücret = 300 bin
Aksi halde
2.Y.1.Y.1. ücret = 500 bin
3. ücreti yaz
4. Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.9: Sinavdaki en büyük notun bulan algoritma.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. En büyük = ilk sinav kagidindaki not (ya da olabilecek en düsük deger kabul edilebilir).
2. Incelenecek sinav kagidi var ise
3. 1 Sinav kagidindaki not > En büyük ise En büyük = Sinav kagidindaki not
4. En büyük degerini yaz.
5. Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Algoritmanin yazimi daha simgesel olabilir. Ni i. Ögrencinin notu olsun.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. EB = N1
2. i = 2
3. Incelenecek sinav kagidi var ise
4. 1 Ni>EB => EB = Ni
5. 2 i = i + 1
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]6. EB' yi yaz.
7. Dur
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örnek 1.2.10 : Programin C dili ile yazilip çalisir hale getirilmesi.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. Programi bilgisayara gir
2. Kaynak dosya olarak kaydet
3. Kaynak dosyayi derle ( compile)
4. Derleme sonucunda hata var ise
5. 1 Hatalari düzelt
6. 2 3. Adima git
7. Olusan amaç dosyasina diger dosyalari bagla (link)
8. Baglama sonucunda hata var ise
9. 1. Hatalari düzelt
10. 2. Hatalar kaynak dosya ile ilgili ise 2. adima aksi halde 5. adima git
11. Program çalistirilmaya hazir

:dnc: :dnc: :dnc: :dnc: :dnc: :dnc:
[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]:dnc: :dnc: :dnc: :dnc: :dnc: :dnc:
[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]:dnc: :dnc: :dnc: :dnc: :dnc: :dnc:
[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]:dnc: :dnc: :dnc: :dnc: :dnc: :dnc:
[/FONT]
:-x:-x:-x:-x:-x:-x:-x:-x​
Bu kadar :D
 
algoritma matematikde ders olarak vardı sanırsam doğrumuyum?
 
Bende Bunu okumak istiyorDm.Sizce Doğru bi tercihmi ? İLeride Sıkıntı cekermiyim.Programlamaya fLn mrk cok bende. :'( Bunu okuyanLar Sonradan Pişman fLn oLanLar warmı cok mrk ediyorm :D
 
Bunu yapmayı bizede Öğretirmisin :D ProgLama hakkında hiçbir Bilgim yok.Liseye basLamadan Önce 1-2 Sey öğrenmek istiyorum :wgl:

Aynen Bunu Bende İstiyorum Bende Seneye Liseye Başlıcam Programlama Ogrenmek Istıyorum..

EDİT: Seneye derken Okullar Açıldıgında demek Istedım :D

 
Bende Bunu okumak istiyorDm.Sizce Doğru bi tercihmi ? İLeride Sıkıntı cekermiyim.Programlamaya fLn mrk cok bende. :'( Bunu okuyanLar Sonradan Pişman fLn oLanLar warmı cok mrk ediyorm :D
İleride sıkıntı çekmezsin çünkü bu yazılanlar fazlalık değil daha çok fayda sağlar bunu okuyup anlarsan programlama dilinde ve programlamada Çok büyük getiri temelinin olduğunu görüceksin.Benimde programlama hakkında pek bir bilgim yok ama bu alogoritmayı okudum ve anladım sanırsam bu alogaritma programlama dilinin mantığı çok istiyorsan bence peşini bırakmadan öğrenmeye devam et derim hemen pes etme malum bu sektör biraz zaman ve sabır istiyor.Sitede tanıdım kişiler var 3senedir bu işle uğraşan adam yeni yeni işe yarar programlar yapmaya başlıyor bunu düşünerekte başla :D
 
Algoritma şart değil ama mantığı kavramak için iyi. + Hızlı yazmak marifet değildir aksine hatalar doğurma ihtimali yüksek :D Son olarakda programlama okuyacak olan arkadaşa tavsiye (sanırım geç oldu biraz ama :D ) 1 yıl sonra sıkılıp başaramayıp ben buraya niye geldim diye ağlama sakın :) Sınıfımdaki neredeyse herkes şu an bu durumda.
 
Algoritma şart değil ama mantığı kavramak için iyi. + Hızlı yazmak marifet değildir aksine hatalar doğurma ihtimali yüksek :D Son olarakda programlama okuyacak olan arkadaşa tavsiye (sanırım geç oldu biraz ama :D ) 1 yıl sonra sıkılıp başaramayıp ben buraya niye geldim diye ağlama sakın :) Sınıfımdaki neredeyse herkes şu an bu durumda.

evet aynen öyle pc yazılım iyice sıktı web yazılıma transfer ettim kendimi :)
 
Geri
Üst