bilgisayar programlama ihbahtiyar/dersler/icerik/cplusplus-ders1.pdf · 2019-02-07 ·...
TRANSCRIPT
![Page 1: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/1.jpg)
Bilgisayar Programlama IDERS 1: C++ YÜKLENMESİ VE GENEL BİLGİLER DR. HÜSEYİN BAHTİYAR
1
![Page 2: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/2.jpg)
Neden Programlama?! Bilgisayarlar bizim için iş yapmak için üretilmişlerdir.
! Bizler ise istediğimizi bilgisayara yaptırabilmek için onun anlayacağı dilden konuşmalıyız.
! Kullanıcılar ise programcıların bilgisayarın anlayacağı dilde yazdığı bu programları indirip kendi işleri için kullanırlar.
2
Ne yapacağım?
Ne yapacağım?
Ne yapacağım?
Ne yapacağım?
![Page 3: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/3.jpg)
Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri bir pazardır.
! Bu appler 3 milyardan fazla kez yüklendi.
! Kimi programcılar işlerini bırakıp tam zamanlı iPhone app Geliştiricisi oluyorlar böylece pazardan daha fazla pay almaya Çalışıyorlar.
3
![Page 4: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/4.jpg)
Kullanıcı ve Programcı arasındaki farklar
! Kulllanıcılar bilgisayarı iş yapma aracı olarak görürler mesela excel kullanıcıları için; tablolarda hesaplama aracı, Word için; yazı aracı, harita, oyun vs…
! Programcılar ise bilgisayarın anlayacağı dili ve en efektif yolu öğrenen kişilerdir.
! Böylece ellerindeki programlama dillerini kullanarak yeni programlar yaratırlar.
! Bu programlar kimi zaman bir çok kullanıcının kullandığı programlar, kimi zaman ise küçük yardımcı programcıklar olabilir.
4
![Page 5: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/5.jpg)
Programcılık? Neden?
! Bazı işleri halletmek için, aslında bizler hem kullanıcı hem de programcıyız ! Parça parça bölünmüş bir dosyayı tek parça haline getirmek. ! Gereksiz verileri sistemden temizlemek.
! Başkalarının da kullanması için programlar üretmek ! Bir programdaki performans sorununu düzeltmek. ! Web sitesine yorum kısmı eklemek. ! ….
5
![Page 6: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/6.jpg)
Kullanıcı
BilgisayarDonanım + Yazılım
Network....Program yaratıcısının gözünde bizler son kullanıcı için program yaratan programcılarız. Bu arada veri, bilgi, network akışlarında olabilecek sorunlar da bizler tarafından çözülmelidir. Bu konuda
bilgisayar donanım ve yazılımı bize yardımcı olur.
BilgiVeri
Programcı
https://openclipart.org/
https://pixabay.com
6
![Page 7: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/7.jpg)
Kod? Yazılım? Program?
! Sıralı bir şekilde saklanmış talimatlardır. ! Bizim zekamızın ufak bir kısmının bilgisayara aktarılmış halidir. ! Bir sorunu çözdüğümüz zaman onu programa yazar ve başka biri ile
paylaşırız. Böylece programı paylaştığımız kişiler benzer sorunu çözmek için zaman ve enerjiden tasarruf etmiş olurlar.
! Küçük yaratıcılıklar ! Özellikle kullanıcı deneyimiyle ilgili iyi bir iş yaptığımızda.
7
![Page 8: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/8.jpg)
İnsanlar için program
! Buna en güzel örnek: Dans
8
![Page 9: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/9.jpg)
C++ için program 9
#include <iostream>using namespace std;
int main(){cout << “ ben bir c++ programıyım “ <<endl;
return 0;
}
![Page 10: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/10.jpg)
Donanım Mimarisi 10
http://upload.wikimedia.org/wikipedia/commons/3/3d/RaspberryPi.jpg
![Page 11: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/11.jpg)
Donanım Mimarisi 11
Yazılım
Giriş/Çıkış Birimleri Central
Processing Unit (CPU)
Ana Bellek
İkincil Bellek
Ne yapacağım?
![Page 12: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/12.jpg)
Tanımlar
! CPU : Programı çalıştıran kısımdır. CPU her zaman ne yapacağım? Diye görev bekleyen bir sistemdir. Aslında bilgisayarın beyni dememiz doğru olmaz, komut bekleyen bir yapıdır ancak çok çok hızlı çalışabilir.
! Girdi : Klavye, Mouse … ! Çıktı : Ekran, hoparlör, printer vs… ! Ana Bellek : Hızlı küçük geçici saklama bölgesidir. Kapatıp
açıldığında içindeki veriler kaybolur. RAM adı verilir. ! İkincil Bellek : Daha yavaş kalıcı saklama bölgesidir. Silinene kadar
veriyi saklar. Sabit disk, usb bellek vs…
12
![Page 13: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/13.jpg)
Yazılım
Giriş/Çıkış Birimleri Central
Processing Unit (CPU)
Ana Bellek
İkincil Bellek
Ne yapacağım?
if x< 3: print
13
![Page 14: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/14.jpg)
Yazılım
Giriş/Çıkış Birimleri Central
Processing Unit (CPU)
Ana Bellek
İkincil Bellek
Makine Dilinde
Ne yapacağım?
01001001 00111001
14
![Page 15: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/15.jpg)
C++ Hakkında
! C++ 1980'lerin başında Bjarne Stroustroup tarafından geliştirilen C'yi kapsayan ve nesne yönelimli programlamaya olanak sağlayan sınıf tanımlarıyla ilerleten yaygın olarak kullanılan programlama dili. C++ genel amaçlı bir programlama dilidir.
! Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır.
! Her program bileşeninin bir nesneden oluştuğunu göz önüne alan bir dildir.
15
![Page 16: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/16.jpg)
Programlama dilleri Seviyeleri
! Çok yüksek seviyeli diller ya da görsel diller: Access, Foxpro, Paradox,Xbase, Visual Basic, Oracle Forms
! Yüksek seviyeli diller veya algoritmik diller: Fortran, Pascal, Basic, Cobol
! Orta seviyeli diller: C, C++(C Plus) , C#(C Sharp) Orta seviyeli diller daha az kayıpla makine diline çevrilebildiğinden daha hızlı çalışır.
! Alçak seviyeli programlama dilleri: Sembolik makine dili (Assembler). ! Makine dili: En aşağı seviyeli programlama dilidir (Saf makine dili
tamamen 1 ve 0 lardan oluşuyor.)
16
![Page 17: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/17.jpg)
Nasıl Yükleyebilirim?
! C++ kullanabilmek için programlama dilinin sisteme kurulu olması gerekir. ! Linux : C++ zaten kurulu olarak gelmektedir. Pardus, ubuntu gibi işletim sistemlerinde C++ yüklemeye gerek yoktur. ! Windows : http://www.bloodshed.net/devcpp.html Adresinden Windows için olan versiyonunu indirebilirsiniz.
Laboratuvardaki bilgisayarlarda c++ yüklüdür. Şimdi konsol açıp çalışıp çalışmadığını deneyelim.
17
![Page 18: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/18.jpg)
18
![Page 19: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/19.jpg)
19
![Page 20: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/20.jpg)
Neden C++?
! NEDEN C++ ? ! OOP (Object Oriented Programming- Nesneye yönelik programlama) ! Portatiflik ! Kısalık ve özlük ! Modülerlik ! Uyumluluk ! Hız
! Fizikte birçok araştırma alanında C++ tabanlı programlar kullanılmaktadır ! GEANT4 : http://geant4.web.cern.ch/geant4/ ! ROOT: http://root.cern.ch/
20
![Page 21: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/21.jpg)
İlk Program
! Öncelikle bir text editör açalım daha sonra ilk programımımızı yazalım.
#include <iostream>
//ilk programım
using namespace std;
int main(){
cout << “ ben bir c++ programıyım “ <<endl;
return 0;
}
! Dosya adını Ders01-01.cpp olarak kayıt edelim.
21
![Page 22: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/22.jpg)
İlk Program
! Öncelikle bir text editör açalım daha sonra ilk programımımızı yazalım.
#include <iostream>
//ilk programım
using namespace std;
int main(){
cout << “ ben bir c++ programıyım “ <<endl;
return 0;
}
! Dosya adını Ders01-01.cpp olarak kayıt edelim.
22
![Page 23: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/23.jpg)
İlk Program#include <iostream>
//ilk programım
using namespace std;
int main(){
cout << “ ben bir c++ programıyım “ <<endl;
return 0;
}
23
Ön işlemci için yönlendirme (programa ben bu komutları kullanacağım diyoruz)
Yorum satırı // işaretinin sağındaki yazı derleyici tarafından önemsenmez atlanır. Bu kısım programı okuyanlar için
C++ kütüphanesinin standart elemanlarını kullanacağım
Ana programa başlıyorum
Ana programı kapattım
![Page 24: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/24.jpg)
İlk Program
cout << “ ben bir c++ programıyım “ <<endl;
return 0;
24
Ekrana yazdırma komutuEkranda göreceğimiz yazı
Alt satıra geçme komutu.
Bu işlem ; ile sonlandırılır.
Ana fonksiyon ile işim bitti
![Page 25: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/25.jpg)
Programı DerlemekLinux:
g++ dosyaadi.cpp -o çalıştırılacak_program_adı
Windows:
25
![Page 26: Bilgisayar Programlama Ihbahtiyar/dersler/icerik/Cplusplus-Ders1.pdf · 2019-02-07 · Programcılar gereklilikleri öngörürler! Örnek olarak iPhone u alalım, iPhone app’leri](https://reader030.vdocuments.pub/reader030/viewer/2022040501/5e2351f37c84240622616d16/html5/thumbnails/26.jpg)
Kaynaklar
! http://www.cplusplus.com/doc/tutorial/ ! www.py4e.com ! C++ How to program (Deitel) ! Ferhat Özok Bilgisayar Programlama I ders notları
26