[Döküman1] Algoritma Ve C'ye Giriş
-
Kendim çalışıyorum,öğrenmek istiyenler illaki vardır,bi faydam dokunur belki diye dökümanlar hazırlamak istedim,algoritmadan biraz bahsedip daha sonra c'yi anlatacağım baştan sona. Öğrenmek istiyenler takipte olsun,eğerki faydam dokunursa c++ ile devam ederim,istek olursa c# öğrendikçe onuda anlatırım :)
Neyse çalışmaya başlayalım;
Algoritma programlama için en önemli şeydir,neyin nasıl yapılacağının bi taslağıdır,eğerki önünüzde bi algoritma yoksa çok uraşırsınız ve sıkıntı çekersiniz. O yüzden öncelikle algoritma oluşturmalısınız. Algoritmalarla ilgili daha geniş bilgi için http://www.ozgurlukicin.com/atolye/algoritma-ve-akis-diyagramlari-1/
Mesela şuradaki akış diyagramı örneğine bi göz atın; http://www.ozgurlukicin.com/media/upload/image/algoritma.png
Program başlıyor --> Sayac değişkenine 1, Toplam değişkenine 0, Aritmetik_Orta değişkenine ise 0 değerini atıyor --> Sayac değişkeninin değeri 100 olana kadar önce Toplam değişkeninin değeri Sayac değişkeninin değeri kadar arttırılıyor sonra ise Sayac değişkeninin değeri 1 arttırılıyor --> Sayac değişkeninin değeri 100 olduğu anda Toplam değişkeninin değeri 1den 100e kadar olan sayıların toplamı olmuş oluyor ve Aritmetik_Orta değişkeninin değeri Toplam değişkene atanmış toplam değerin 100e bölünmesiyle bulunan değer oluyor --> Aritmetik_Orta değişkeni ekrana yazdırılıyor --> Program duruyor
(Akış diyagramlarını okuyabilmeniz için şekillerin anlamlarını bilmeniz gerekir onlarıda googledan rahatlıkla 5-10 dakika içinde öğrenebilirsiniz o yüzden anlatmıyorum)
Gördüğünüz gibi akış diyagramları ve algoritmalar programların nasıl çalıştığını gösterirler,yazılması gereken programın önce algoritması tasarlanılırsa kodlamak çok daha kolay olur ve program geliştirileceği zaman nereye neyin eklenmesi gerektiği daha rahat görülür :)
Gelin şimdi bu akış diyagramını c ile koda dökelim;
---------------------------
#include<stdio.h> //Standart C kütüphanesi
#include<locale> //Dil sınıfları bu kütüphanede
int main()
{
setlocale(LC_ALL,"TURKISH"); //Türkçe karakterler için
int Sayac=100;
int Toplam=0;
int Aritmetik_Orta=0;
for(int i=1;i<=Sayac;i++)
{
Toplam = Toplam + i;
}
Aritmetik_Orta = Toplam / 100;
printf("1den 100e kadar olan sayıların toplamının aritmetik ortalaması = %d \n",Aritmetik_Orta);
}-------------------------------
Kodları yazıp çalıştırırsanız ortalamanın 50 olduğunu göreceksiniz. Ancak 1den 100e kadar olan sayıların toplamı 5050dir ve bulduğumuz ortalama yanlıştır. Bunun için Artimetik_Orta değişkeninin tipini int(doğal sayı) değil float(ondalıklı sayı) olarak almanız gerekmektedir.
--------------------------------
#include<stdio.h>
#include<locale>
int main()
{
setlocale(LC_ALL,"TURKISH");
int Sayac=100;
float Toplam=0; //int yerine float
float Aritmetik_Orta=0; //int yerine float
for(int i=1;i<=Sayac;i++)
{
Toplam = Toplam + i;
}
Aritmetik_Orta = Toplam / 100;
printf("1den 100e kadar olan sayıların toplamının aritmetik ortalaması = %f \n",Aritmetik_Orta); //%d değil %f olacak
}---------------------------------
Ve doğru sonuç olan 50,50 değerini elde etmiş bulunmaktayız :)
Bu örneği biraz inceleyip yazacağım diğer dökümanları sırayla takip edin,kolay gelsin.
-
destek@tahribat.com a ulaştırabilirsen dökümanlara eklensin hocam?
-
SharpShooter bunu yazdı:
-----------------------------
destek@tahribat.com a ulaştırabilirsen dökümanlara eklensin hocam?
-----------------------------Şu an yaz okulundayım, c/c++ ve algoritma görüyorum. Amacım kendim öğrenirken tahribattakilerede faydalı olmak.Bölüm bölüm devamını yazıcam kafam rahat oldukça. Eğerki işe yarıyosa hepsini tamamladıktan sonra dökümanlara eklenmesi için desteğe mail olarakta atarım :) c ve c++ bittikten sonra c#,php,javascriptten birini anlatmaya niyetim var ama dediğim gibi takip eden olursa,yazdıklarım işe yarıyosa.
-
Kademe kademe girişten ileri seviyeye doğru anlatımlar olursa ilgilenenlerin takipsiz kalmayacagından eminim.
-
benim de lisansım seneye baslıyor, bu dersleri muhtemelen görmeye baslarız ufaktan ama bu yaz sürekli bu sekilde doküman yazarsan kesinlikle takipcinim. algoritma hakkında bi ön bilgim olur en kötü ihtimalle, okulda isime yarar diye düsünüyorum.
-
Andrei bunu yazdı:
-----------------------------
benim de lisansım seneye baslıyor, bu dersleri muhtemelen görmeye baslarız ufaktan ama bu yaz sürekli bu sekilde doküman yazarsan kesinlikle takipcinim. algoritma hakkında bi ön bilgim olur en kötü ihtimalle, okulda isime yarar diye düsünüyorum.
-----------------------------Bu yazdıklarım sadece c/c++ olucak. Algoritma için ayrı dökümanlar yazarım elimden geldiğince ve fırsat oldukça :)
-
Andrei bunu yazdı:
-----------------------------
benim de lisansım seneye baslıyor, bu dersleri muhtemelen görmeye baslarız ufaktan ama bu yaz sürekli bu sekilde doküman yazarsan kesinlikle takipcinim. algoritma hakkında bi ön bilgim olur en kötü ihtimalle, okulda isime yarar diye düsünüyorum.
-----------------------------Algoritmaya başlıyacaksan hacı.
Dr. Fahri VATANSEVER'in Algoritma Geliştirme ve Programlama Giriş diye bi kitabı var.
Eğer 0'dan başlayım veya geliştireyim dersen çok fazla işini görür.
Bilgisayar programcılığı bölümünde bu kitabı okutuyorlar.
Fiyatıda 22TL kitapcılarda filan kolaylıkla bulabilirsin.
-
ah ah rahmetli C :D anılarım depreşti :D
-
BarisYigit bunu yazdı:
-----------------------------Andrei bunu yazdı:
-----------------------------
benim de lisansım seneye baslıyor, bu dersleri muhtemelen görmeye baslarız ufaktan ama bu yaz sürekli bu sekilde doküman yazarsan kesinlikle takipcinim. algoritma hakkında bi ön bilgim olur en kötü ihtimalle, okulda isime yarar diye düsünüyorum.
-----------------------------Algoritmaya başlıyacaksan hacı.
Dr. Fahri VATANSEVER'in Algoritma Geliştirme ve Programlama Giriş diye bi kitabı var.
Eğer 0'dan başlayım veya geliştireyim dersen çok fazla işini görür.
Bilgisayar programcılığı bölümünde bu kitabı okutuyorlar.
Fiyatıda 22TL kitapcılarda filan kolaylıkla bulabilirsin.
-----------------------------
tesekkür ederim hocam. haftasonu alayım.
-
Andrei bunu yazdı:
-----------------------------
BarisYigit bunu yazdı:
-----------------------------
Andrei bunu yazdı:
-----------------------------
benim de lisansım seneye baslıyor, bu dersleri muhtemelen görmeye baslarız ufaktan ama bu yaz sürekli bu sekilde doküman yazarsan kesinlikle takipcinim. algoritma hakkında bi ön bilgim olur en kötü ihtimalle, okulda isime yarar diye düsünüyorum.
-----------------------------Algoritmaya başlıyacaksan hacı.
Dr. Fahri VATANSEVER'in Algoritma Geliştirme ve Programlama Giriş diye bi kitabı var.
Eğer 0'dan başlayım veya geliştireyim dersen çok fazla işini görür.
Bilgisayar programcılığı bölümünde bu kitabı okutuyorlar.
Fiyatıda 22TL kitapcılarda filan kolaylıkla bulabilirsin.
-----------------------------
tesekkür ederim hocam. haftasonu alayım.
-----------------------------Türkçe en iyi algoritma kitabı diyebilirim. Ayrıca içindeki her algoritmanın 4 farklı dilde kodlarıda var. Ama sadece o kitapla algoritmayı komple öğrenemezsin. Sıralama algoritması,arama algoritması gibi algoritmaları öğrenmek için başka kaynaklara ihtiyacın var :) ama kesinlikle o kitabıda okumalısın.
-
Takipçinim.