190 likes | 445 Views
1.HAFTA. Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu :YBS506. Konu:Algoritma ve C++ İle Programlamaya Giriş. Ders Kitabı ve Kaynaklar. How to Program C++ C ve C++ Schaum's Outline of Programming with C++ Ders Notları ve Sunuları. Algoritma Nedir?
E N D
1.HAFTA Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİDersin Kodu :YBS506 Konu:Algoritma ve C++ İle Programlamaya Giriş E-mail:speldek@bartin.edu.tr
Ders Kitabı ve Kaynaklar Howto Program C++ C ve C++ Schaum's Outline of Programming with C++ Ders Notları ve Sunuları E-mail:speldek@bartin.edu.tr
Algoritma Nedir? Bir problemin en iyi(verimli, kısa, maliyeti az vb.) çözümüne giden yola algoritma denir. Bir problemin çözümünde izlenecek yola algoritma denir. Bir işin hangi etaplardan geçilerek yapılacağını gösteren çalışma planına algoritma denir. Algoritma sonlu sayıda işlem sırasını içerir.(bu her koşulda geçerli olmayabilir.) Algoritma programlama dillerine yol gösteren bir yöntem dizisidir. E-mail:speldek@bartin.edu.tr
Algoritma Geliştirken Aşağıdaki maddeleri aklımızda tutmalıyız. • Bir problem çözümünün sonsuz sayıda algoritması olabilir. • En iyi algoritma daha iyisi bulunana kadar en iyisidir. • Daha iyi bir algoritma her zaman geliştirilebilir. E-mail:speldek@bartin.edu.tr
C++ İLE PROGRAMLAMA C++ dili C dilinin gelişmiş versiyonundur. İlk olarak “C withclasses”(sınıf içeren C) olarak adlandırılmıştır. Daha sonra C++ olarak isimlendirilmiştir. Nesne tabanlı bir programlama dilidir. Her C programı bir C++ programıdır(bazı istisnalar vardır.) ancak her C++ programı bir C programı değildir. E-mail:speldek@bartin.edu.tr
Her program mutlaka birmainfonksiyon içermelidir. Burada int_tmain yazması kullandığımız visualstudioplatformundan kaynaklanmaktadır. Program ilk olarak main fonksiyonunda başlar. Burada komut derleyiciye kullanacağımız kütüphanenin veya dosyanın hangisi olduğunu belirtiyor. /*bu program c++ programın temel özelliklerini içermektedir. */ #include"stdafx.h" #include<iostream> usingnamespacestd; int _tmain(intargc, _TCHAR* argv[]) { cout<<"İlk C++ programı"; getchar(); return0; } getchar(); programı bir girdi alması için bekletir. return 0;, main fonksiyonunu bitirmek için kullanılır. C++ da ekrana yazdırma komutu cout dır. Komut satırının bittiğini program noktalı virgülle “;” anlar E-mail:speldek@bartin.edu.tr
Programa Satır yazdırmak C++ da satır yazdırmak için coutkomutu kullanılır; cout<<“Ekranda bu satır yazılacak”<<endl; • \nsonraki satıra geçmek için • \tsonraki sekmeye geçmek için • \r satır başına alır • \\ters slaş karakterini ekrana yazdırmak için • \"çift tırnak karakterini ekrana yazdırmak için E-mail:speldek@bartin.edu.tr
Programa Değer Almak İçin C++ da klavyeden değer almak için cin komutu kullanlır. cin>>sayi; Kullanıcı klavyeden bir sayı girip enter tuşuna bastığı zaman değer sayi değişkenin içine atılacaktır. cin’in kullanımı aşağıdaki şekilde de olabilir. cin>>sayi1>>sayi2>>sayi3; Burada kullanıcı gireceği üç sayıyı her birini yazıp enter tuşuna basarak klavyeden girebilir. E-mail:speldek@bartin.edu.tr
C++ da Değişkenler E-mail:speldek@bartin.edu.tr
C++ da Karşılaştırma Operatörleri E-mail:speldek@bartin.edu.tr
C++ da Aritmetik(Matematiksel) Operatörleri E-mail:speldek@bartin.edu.tr
C++ da Eşleştirme Operatörleri E-mail:speldek@bartin.edu.tr
Örnek-1 İki sayı arasında işlem. • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int sayi1, sayi2,carpim,toplam, bolum; • cout<<"iki tane deger girin lutfen"<<endl; • cout<<"Birinci sayi="; • cin>>sayi1; • cout<<"ikinci sayi="; • cin>>sayi2; • carpim=sayi1*sayi2; • toplam=sayi1+sayi2; • bolum=sayi1/sayi2; • cout<<"\nsayi1*sayi2 ="<<carpim; • cout<<"\n\nsayi1+sayi2 ="<<toplam; • cout<<"\n\nsayi1/sayi2 ="<<bolum; • getchar();getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-2 Daha iyi bir yöntemle iki sayı arasında işlem • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int sayi1,sayi2; • cout<<"iki tane deger girin lutfen"<<endl; • cout<<"\n\nBirincideger="; • cin>>sayi1; • cout<<"\n\nikincideger="; • cin>>sayi2; • cout<<"\n\nToplam ="<<sayi1+sayi2; • cout<<"\n\nCarpim ="<<sayi1*sayi2; • cout<<"\n\nBolum ="<<sayi1/sayi2; • cout<<"\n\nCikarma ="<<sayi1-sayi2; • getchar();getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-3 Biraz daha iyi bir yöntemle iki sayı arasında işlem • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int sayi1,sayi2; • cout<<"iki tane deger girin lutfen"<<endl; • cout<<"\n\nBirincideger="; • cin>>sayi1; • cout<<"\n\nikincideger="; • cin>>sayi2; • cout<<sayi1<<"+"<<sayi2<<"="<<sayi1+sayi2<<"\n"<<sayi1<<"*"<<sayi2<<"="<<sayi1*sayi2<<"\n"<<sayi1<<"/"<<sayi2<<"="<<sayi1/sayi2; • getchar();getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-4 “İf” ile iki sayının karşılaştırılması • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int a,b; • cout<<"iki deger girin lutfen..\n birinci deger ="; • cin>>a; • cout<<"ikinci deger ="; • cin>>b; • if(a<b) • { • cout<<"\n\nikisayiarasindaki ilişki: a <b"; • } • if(a>b) • { • cout<<"\n\nikisayiarasindakiiliski: a >b"; • } • if(a==b) • { • cout<<"\n\nikisayiarasindaki ilişki: a=b"; • } • getchar(); getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-5 “İf ve else” ile iki sayının karşılaştırılması • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int a,b; • cout<<"iki deger girin lutfen..\n birinci deger ="; • cin>>a; • cout<<"ikinci deger ="; • cin>>b; • if(a<b) • { • cout<<"\n\nikisayiarasindakiiliski: "<<a<<"<"<<b; • }elseif(a>b) • { • cout<<"\n\nikisayiarasindakiiliski: "<<a<<">"<<b; • } • else • { • cout<<"\n\nikisayiarasindakiiliski: "<<a<<"="<<b; • } • getchar(); getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-6 Ortalama hesaplatma ve ortalamaya göre sonuç yazdırma • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { int vize, final; • float ortalama; • cout<<"Ogrencinin Sınav Notlarini Girin Lutfen"<<endl; • cout<<"\nVize ="; • cin>>vize; • cout<<"\nFinal ="; • cin>>final; • ortalama=vize*0.4+final*0.6; • cout<<"OgrenciOrtalamasi ="<<ortalama; • if(ortalama>=50) • { • cout<<"\nOgrenciGecti"; • }else • { • cout<<"\nOgrenciKaldi"; • } • getchar(); getchar(); • return 0; • } E-mail:speldek@bartin.edu.tr
Örnek-7 Girilen üç değer arasından en büyüğünü bulma. • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int _tmain(intargc, _TCHAR* argv[]) • { • int s1,s2,s3; • cin>>s1; • cin>>s2; • cin>>s3; • if(s1>s2&s1>s3) • cout<<"\nEnbuyukdeger: s1 ="<<s1; • elseif(s2>s1&s2>s3) • cout<<"\nEnbuyukdeger:s2 ="<<s2; • else • cout<<"\nEnbuyukdeger: s3="<<s3; • getchar(); getchar(); • return 0; • } Bu kısmı cin>>s1>>s2>>s3; şeklinde de ifade edebilirdik E-mail:speldek@bartin.edu.tr