You are on page 1of 29

BİLGİSAYAR

PROGRAMLAMA
Ders Kaynak Kitap
• Algoritma ve Programlamaya Giriş, EBUBEKİR
YAŞAR, Murathan Yayınevi
• Herkes için C#, Herbert Schildt, Alfa Yayınları

C# Programını indirme:
• http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

veya

• http://www.visualstudio.com/tr-tr/products/visual-studio-express-vs
Bilgisayar Nasıl Çalışır ?
•Giriş ünitesinden gelen bilgiler hafızaya aktarılır.

•Hafızaya kaydedilen veriler üzerinde işlem


yapılması gerekiyorsa bu veriler ALU (Aritmetik ve
Lojik İşlem) ünitesine aktarılır.

•ALU üzerinde gerekli işlemler yapıldıktan sonra


sonuçlar tekrar hafızaya aktarılır.

•İşlem sonuçları hafızadan alınarak çıkış ünitesine


aktarılır.

•İşlemlerin belirli sırayla olmasını sağlamak için Kontrol Ünitesi vardır.

•Giriş ünitesine veriler gelmeye başladığında öncelikle kontrol ünitesine haber gider ve
kontrol ünitesi gerekli ayarlamaları yapararak gelen verileri hafızaya gönderir.

•Ayrıca gelen bilgilerin hangisinin komut hangisinin veri olduğunu kontrol ünitesi ayırt eder.

•Hafıza ünitesi ve çıkış ünitesi arasındaki işbirliğini yine kontrol ünitesi ayarlar.
Bilgisayar Nasıl Çalışır ?
•Mikroişlemci tüm işlemleri kendi kontrolünde işleten
bir yapıya sahiptir.

•Mikroişlemci bütün kontrolü üç hat üzerinden yapar


(Data bus, Address bus, Kontrol Bus).

•Bus kelimesi tek bir iletim hattından ziyade bir grup


iletim hattını simgeler (4, 8, 12, 16 gibi gruplar)

Data bus: Sistemdeki verileri taşıyan hat grubudur. Paralel bilgi taşıma tekniğine uygun
olarak çift yönlü veri aktarımını sağlar.

Address bus: İşlemci hangi yan cihaza ulaşacağını bu hat üzerinden seçer.

Kontrol bus: İşlemcinin kontrol etmesi gereken yan elemanların denetimi bu hat üzerinden
sağlanır. Mesela bir hafıza elemanı seçildiğinde (RAM) ; bu seçilen elemana bilginin
yazılması ya da okunması için ek bir hatta ihtiyaç vardır. Bu gibi işlemler Kontrol bus
üzerinden yapılır.
73 2
72 36 2
36 18 2
1
0 18 9 2
0 8 4 2
1 4 2
2
0 2 1
0

0 1 0 0 1 0 0 1

0*27+1*26+ 0*25+0*24+ 1*23+ 0*22+ 0*21+ 1*20 = 73


Bilgisayar Nasıl Çalışır ?
Şu ana kadar ki anlatılanlarla bir bilgisayara hükmetmek için ikili sayı sistemi tabanlı
makine diline hakim olmamız gerektiği aksi takdirde bilgisayarlarla
anlaşamayacağımızı öğrendik. Bu sorunun çözümü için yüksek seviyeli programlama
dilleri (C, C++, C#, MATLAB, DELPHİ, JAVA) kullanılmakta olup, insanlara kolaylıkla
bilgisayarlara iş yaptırma olanağı verilmiştir. Aslında insanlar bilgisayara yaptırmak
istedikleri işleri programlama dilleri vasıtasıyla yazmakta olup oluşturulan kaynak
kodlar DERLEYİCİLER (compilers) üzerinden bilgisayarın anlayacağı MAKİNE DİLİNE
(machine codes) çevrilmektedir.

Yüksek/düşük seviyeli dillerdeki program dönüşümü


PROGRAMLAMA DİLLERİ

Yüksek Seviyeli Diller


Düşük Seviyeli Diller

Görsel Diller Görsel Olmayan Diller  Makine Dili

 Visualbasic  C
 Assembly
 Delphi  Fortran

 C#  Cobol

 Qbasic
 Java

 Visual C  C++

 MATLAB  Turbo pascal


DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ
• Makine Dili
Makine dili 0 ve 1 den oluşan bir dildir ve bilgisayarın anladığı yegane dildir.
Bu dili direkt kullanmak için hem komutların sayısal karşılıkları ve hem de
bilgisayarın bellek adreslemesini de bilmek gerekmektedir.
Bu tip dillere düşük seviyeli dil (Low Level Language) adı verilir.
• Assembly (simgesel) dili:
İkili sayı sisteminde yazılmış olan komutları harfli sembollerle ifade
ederek üretilen bir dildir. ADD, LDA ve STA gibi…

• Assembler:
Assembly dilini makine diline çevirir.
DERLEYİCİ ve YORUMLAYICILAR

Derleyici (Compiler) Nedir?


Her programlama dilinin, yazılan programı makine diline çeviren bir derleyicisi
ya da yorumlayıcısı vardır.
Derleyiciler, bir programlama dili ile bilgisayara aktarılan programın
bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlarken, yazılan
programda söz dizim hatalarının olup olmadığını da bulan yazılımlardır.

Her Programlama dili için bir derleyici olması gerekmektedir.

C, PASCAL, COBOL, DELPHI FORTRAN derleyicisi olan yüksek seviyeli


dillerdir.

PROGRAM DERLEYİCİ PROGRAM YERİ ÇIKTI


DERLEYİCİ ve YORUMLAYICILAR

Yorumlayıcı (Interpreter) Nedir?


Yorumlayıcılar (Interpreter), yazılan programları makine diline dönüştüren
yazılımlardır. Ancak bu dönüşüm, derleyiciden farklı olarak
gerçekleştirilmektedir.
Yorumlayıcılar her satırı anında makine diline çevirerek çalışır ve dolayısıyla
program her çalıştırıldığında her satır yeniden makine koduna dönüştürülür.
Bu yüzden yorumlayıcılar yavaş çalışmaktadır.
VISUAL BASIC ve MATLAB yorumlayıcısı olan yüksek seviyeli dillerdir.

PROGRAM YERİ YORUMLAYICI ÇIKTI


PROGRAMLAMA MANTIĞI

Programlama bir düşünce sanatı olup kullanacağınız programlama dilinde hangi


komutları, hangi sıra ve hangi formatta yazacağınızı bilmektir.
Aslında programlama sanatı kullanılan programlama dilinden (C, C++, C#,
JAVA, MATLAB, DELPHİ) bağımsızdır.
Kullanılan programlama dili sadece düşüncelerinizi bilgisayara aktarmak için
kullanılan bir araçtır.
Programlama dili kullanarak bir işlem yaptırılmak istendiğinde işin temeli her
zaman iyi bir programlama mantığına sahip olmaktır.
Bu sebeble iki teknik terimin (algoritma ve akış diyagramı) konusunun çok
iyi anlaşılması gerekmektedir.
Programlamaya Giriş
PROGRAM YAZMA SÜRECİ

1. Problem iyice irdelenir/incelenir/anlaşılır (analiz edilir),


2. Çözüm yolları ortaya konularak en uygun çözüm yolu seçilir,
3. Programın algoritması hazırlanır ve/veya akış diyagramı çizilir,
4. Algoritma veya akış diyagramı programcının bildiği bir
programlama diliyle kodlanır,
5. Program, kodlandığı editörde çalıştırılarak hataları düzeltilir
6. Bilinen giriş-çıkış değerleriyle programın doğru çalışıp çalışmadığı
test edilir (doğrulama yapılır).
Problem Çözme:
Problem çözmede, soruna hemen girişmek yerine, dikkatli ve sistematik
yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar
küçük parçalara ayırılmaladır.

Descartes tarafından "Discourse on Method" isimli kitabında anlatılan problem


çözme teknikleri;

1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi (çözüm, bilgi, vb.)


doğru olarak kabul etmeyin; yani tahmin ve önyargılardan kaçının!

2. Karşılaştığınız büyük problemleri mümkün olduğu kadar çok parçaya


bölün.

3. Çözüme anlaşılması en kolay parçalarla başlayıp adım adım daha


karmaşık ve zor olana doğru düzenli ve sistematik düşünerek ilerleyiniz.

4. Hazırlanan ayrıntılı çözüme ulaşma adımlarının hiçbir olasılığı göz ardı


etmeyecek şekilde eksiksiz/mükemmel olduğundan emin olunuz.
PROGRAM NEDİR?
Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış
deyimler dizisi (KOD BLOKLARI). Bu kodlar işlemcide tanımlı kodlardır.

ALGORİTMA NEDİR?
Bir programın yapacağı işlem basamaklarının adım adım yazılmasıdır.

AKIŞ DİYAGRAMI NEDİR?


Bir programın yapması gereken işlemlerin çizgisel diyagramla
gösterilmesidir.

You might also like