04-05-2014, 09:52 AM
C programlama dili için küçük bir yardım…
Basitten karmaşığa doğru sürecek bir süreç olacak inşAllah…Soruları çözerken küçük notlarda vermeye çalışacağım...Örnekler C ile ilgili olsa da kütüphaneleri C++ dır…
1.Soru:
Sıcaklık hesaplaması ile ilgili Fahrenayt olarak verilen sıcaklığı celciusa çeviren program…
Çözüm:
#include <iostream>
using namespace std;
int main()
{
double C,F;
cout<<"F değerini girin:";
cin>>F;
C= (F-32)*100/(180);
cout<<"Sıcaklık:"<<C<<endl;
return 0;
}
2.Soru:
ax=b denkleminde x verecek program?
#include <iostream>
using namespace std;
int main()
{
int a,b,x,d;
cout<<"a ve b değerlerini girin:";
cin>>a>>b;
x=b/a;
cout<<"X değeri="<<x<<endl;
return 0;
}
Notlar: iostream : cin ve cout içinde bulunduran kütüphane
int ve double : tanımlayıcılar double kusuratlı sayılar için kullanılır.
cout: ekrana yazar
cin: veriyi yazmanızı ister
endl: veri girdisini veya sonuçu sonlandırır
return: programı istenilen yere dönderir ki 0 ra döndermek programı başa döndermektir.
Derleyici olarak Dev C++ kullanabilirsiniz.
Soru 3.
1 ile 20 arasında ki çift sayıları yazalım(20 dahil):
Cevap:
#include <iostream>
using namespace std;
int main(){
for (int i=2;i<=20;i+=2)
cout << i << endl ;
return 0;
}
Not: Birda dikkat ederseniz bir for döngüsü kullandık ,bu döngü bize istediğimiz kadar işlem yapma olanağını sağlayacaktır.
Döngünün ilk kısmında i yi tanıttık int tanıtıcısıyla
İkindi kısmıda i nin şartını belirledik
Üçüncü kısımmda i artım miktarını belirledik.
BU döngü her i sayısı için {} içindeki algoritmayi gerçekleştirecek ve ekrana yazacaktır.
Soru 4: Bir sayıyı tersten yazma yani 1234 diye verilen sayıyı 4321 diye yazmak için bir program?
Cevap:
#include <iostream>
using namespace std;
int main(){
int sayi;
cout << "Sayiyi yaz: " ;
cin >> sayi ;
for (int i=sayi;i>0;i/=10)
cout << i%10 ;
cout << endl ;
return 0;
}
Not: Yine for döngüsünü kullandık bunu açıklamaya pek gerek yok.
Algoritmayi kısaca açıklayayım önce sayi diye bir girdi belirledik ve bunu klavyeden okutmak üzere yazdık...
Sonra bir i sayısı tanıttık ve bunu sayiya eşitledik daha sonra bunun nasıl bir sayı olduğunu belirledik ve dedik ki 0 dan büyük.
sonra nasıl artığını ve azaldığını belirtik : sayının 10 ile bölümünden bölüm yeni sayımız oldu
Yani ilk işleme girecek sayımız 1234 ise ikinci işleme girecek sayımız 123 üçünçü işleme girecek sayımız 12 dördüncü işleme girecek sayımız 1 oldu.
Ve bu sayılar {} belitilen işleme geçirdi neydi bu işlem ? : Belirlenen i sayısını on ile böülümünden kalan ve buda cout komutuyla ekrana yazıldı.
Yani ilk sayımız 1234 ise ilk yazılan sayı 4
İkinci sayımız 123 ise ikinci yazılan 3
Üçüncü sayımız 12 ise üç yazılan 2
Dördüncü sayımız 1 ise dördüncü yazılan 1 oldu
Dikkat ederseniz ilk örnekte endl bitirme komutunu hemen cout<<i<<endl şeklinde kullandım
Ama ikinci algoritmada cout<<i; cout<<endl;
Şeklinde kullandık bunun nedeni ekrana yazılacak sayıları ayrı ve bitişik yazmaktır ilkinin çıktısı : 2 4 6 8 10 12 14 16 18 20
İkincinin çıktısı:4321 gördüüğünüz gibi birinde sayılar ayrı birinde sayılar bitişik...
Soru 3 ve 4 dü while ve do while ile nasıl çözeriz..
Soru 3 için çözümler:
#include <iostream>
using namespace std;
int main(){
int i=2;
do {
cout << i << endl ;
i+=2;
} while (i<=20);
return 0;
}
Not: Göründüğü gibi for döngüsünden farklı olarak do while döngüsünde * i dışarda tanıtılmış.
*i nin artım miktarı döngünün içinde tanıtılmış
*ve son olarakta i nin sınırı en sonda while içinde tanıtılmış.
Dikkat ederseniz algoritmlar tamamiyle aynı.
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
int i=2;
while (i<=20){
cout << i << endl ;
i+=2;
}
return 0;
}
Not: yine farklı olarak
* i dışarda tanıtılmış
* i nin sınırı while içinde tanıtılmış
* i nin artım miktarı ise algoritmanın içinde tanıtılmış.
Soru 4 için while ile çözüm nasıl elde edilir?
#include <iostream>
using namespace std;
int main(){
int sayi;
cout << "Sayiyi yaziniz " ;
cin >> sayi ;
int i=sayi;
while (i>0){
cout << i%10 ;
i/=10;
}
cout << endl ;
return 0;
}
Basitten karmaşığa doğru sürecek bir süreç olacak inşAllah…Soruları çözerken küçük notlarda vermeye çalışacağım...Örnekler C ile ilgili olsa da kütüphaneleri C++ dır…
1.Soru:
Sıcaklık hesaplaması ile ilgili Fahrenayt olarak verilen sıcaklığı celciusa çeviren program…
Çözüm:
#include <iostream>
using namespace std;
int main()
{
double C,F;
cout<<"F değerini girin:";
cin>>F;
C= (F-32)*100/(180);
cout<<"Sıcaklık:"<<C<<endl;
return 0;
}
2.Soru:
ax=b denkleminde x verecek program?
#include <iostream>
using namespace std;
int main()
{
int a,b,x,d;
cout<<"a ve b değerlerini girin:";
cin>>a>>b;
x=b/a;
cout<<"X değeri="<<x<<endl;
return 0;
}
Notlar: iostream : cin ve cout içinde bulunduran kütüphane
int ve double : tanımlayıcılar double kusuratlı sayılar için kullanılır.
cout: ekrana yazar
cin: veriyi yazmanızı ister
endl: veri girdisini veya sonuçu sonlandırır
return: programı istenilen yere dönderir ki 0 ra döndermek programı başa döndermektir.
Derleyici olarak Dev C++ kullanabilirsiniz.
Soru 3.
1 ile 20 arasında ki çift sayıları yazalım(20 dahil):
Cevap:
#include <iostream>
using namespace std;
int main(){
for (int i=2;i<=20;i+=2)
cout << i << endl ;
return 0;
}
Not: Birda dikkat ederseniz bir for döngüsü kullandık ,bu döngü bize istediğimiz kadar işlem yapma olanağını sağlayacaktır.
Döngünün ilk kısmında i yi tanıttık int tanıtıcısıyla
İkindi kısmıda i nin şartını belirledik
Üçüncü kısımmda i artım miktarını belirledik.
BU döngü her i sayısı için {} içindeki algoritmayi gerçekleştirecek ve ekrana yazacaktır.
Soru 4: Bir sayıyı tersten yazma yani 1234 diye verilen sayıyı 4321 diye yazmak için bir program?
Cevap:
#include <iostream>
using namespace std;
int main(){
int sayi;
cout << "Sayiyi yaz: " ;
cin >> sayi ;
for (int i=sayi;i>0;i/=10)
cout << i%10 ;
cout << endl ;
return 0;
}
Not: Yine for döngüsünü kullandık bunu açıklamaya pek gerek yok.
Algoritmayi kısaca açıklayayım önce sayi diye bir girdi belirledik ve bunu klavyeden okutmak üzere yazdık...
Sonra bir i sayısı tanıttık ve bunu sayiya eşitledik daha sonra bunun nasıl bir sayı olduğunu belirledik ve dedik ki 0 dan büyük.
sonra nasıl artığını ve azaldığını belirtik : sayının 10 ile bölümünden bölüm yeni sayımız oldu
Yani ilk işleme girecek sayımız 1234 ise ikinci işleme girecek sayımız 123 üçünçü işleme girecek sayımız 12 dördüncü işleme girecek sayımız 1 oldu.
Ve bu sayılar {} belitilen işleme geçirdi neydi bu işlem ? : Belirlenen i sayısını on ile böülümünden kalan ve buda cout komutuyla ekrana yazıldı.
Yani ilk sayımız 1234 ise ilk yazılan sayı 4
İkinci sayımız 123 ise ikinci yazılan 3
Üçüncü sayımız 12 ise üç yazılan 2
Dördüncü sayımız 1 ise dördüncü yazılan 1 oldu
Dikkat ederseniz ilk örnekte endl bitirme komutunu hemen cout<<i<<endl şeklinde kullandım
Ama ikinci algoritmada cout<<i; cout<<endl;
Şeklinde kullandık bunun nedeni ekrana yazılacak sayıları ayrı ve bitişik yazmaktır ilkinin çıktısı : 2 4 6 8 10 12 14 16 18 20
İkincinin çıktısı:4321 gördüüğünüz gibi birinde sayılar ayrı birinde sayılar bitişik...
Soru 3 ve 4 dü while ve do while ile nasıl çözeriz..
Soru 3 için çözümler:
#include <iostream>
using namespace std;
int main(){
int i=2;
do {
cout << i << endl ;
i+=2;
} while (i<=20);
return 0;
}
Not: Göründüğü gibi for döngüsünden farklı olarak do while döngüsünde * i dışarda tanıtılmış.
*i nin artım miktarı döngünün içinde tanıtılmış
*ve son olarakta i nin sınırı en sonda while içinde tanıtılmış.
Dikkat ederseniz algoritmlar tamamiyle aynı.
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
int i=2;
while (i<=20){
cout << i << endl ;
i+=2;
}
return 0;
}
Not: yine farklı olarak
* i dışarda tanıtılmış
* i nin sınırı while içinde tanıtılmış
* i nin artım miktarı ise algoritmanın içinde tanıtılmış.
Soru 4 için while ile çözüm nasıl elde edilir?
#include <iostream>
using namespace std;
int main(){
int sayi;
cout << "Sayiyi yaziniz " ;
cin >> sayi ;
int i=sayi;
while (i>0){
cout << i%10 ;
i/=10;
}
cout << endl ;
return 0;
}
Takdir ediliyorsan değil, taklit ediliyorsan başarmışsın demektir ...
Bir gün ya tarih yazacağım, ya da tarih olacağım ...
█║▌│█│║▌║ █║▌│█│║▌║
© Since - SweenLuss 2014 ||
Bir gün ya tarih yazacağım, ya da tarih olacağım ...
█║▌│█│║▌║ █║▌│█│║▌║
© Since - SweenLuss 2014 ||