Professional Documents
Culture Documents
BPG1
BPG1
Programlamaya Giriş
C How TO Program,
Deitel & Deitel, 4th
edition.
Puanlama
1. Vize (%20)
2.Vize (%25)
Ödevler (%15)
Final (%40)
Genel Kavramlar
TOC
Bilgisayarın Temel Birimleri
Bilgi Saklama
Bilgisayara İstediğimiz İşleri Nasıl Yaptırırız
C Programlama Dili Nedir?
C Programının Derlenmesi
Bilgisayar
Bilgisayar
Donanım Yazılım
(Hardware) (Software)
Bilgisayarın Temel Birimleri
Bilgisayarda Bilgilerin
Kodlanması
Bilgisayarda bilgiler, iki farklı durumun
belirlenmesi ile kodlanır.
Bu iki farklı durum:
Bir telden akım geçip geçmemesi,
Bir kartın delinip delinmemesi
Manyetik şerit üzerinde bir bölgenin N veya S kutup
Matematiksel olarak bu iki farklı durum
0(sıfır) ve 1 (bir) ile gösterilir.
Bilgi Saklama
Bir bayt alanı içinde 256 (28) farklı bilginin saklanması mümkündür.
Bilgi Saklama
(101)2 = (1 x 4) + (0 x 2) + (1 x 1) = (5)10
Bilgi Saklama
0 1 2 3 4 5 6 7 8 9
0 nul soh stx etx eot enq ack bel bs ht
1 nl vt ff cr so si dle dcl dc2 dc3
2 dc4 nak syn etb can em sub esc fs gs
ASCII 3 rs us b ! " # $ % & ‘
4 ( ) * + , - . / 0 1
Karakter 5 2 3 4 5 6 7 8 9 : ;
6 < = > ? @ A B C D E
Seti 7 F G H I J K L M N O
8 P Q R S T U V W X Y
9 Z [ \ ] ^ _ ` a b c
10 d e f g h i j k l m
11 n o p q r s t u v w
12 x y z { | } ~ del
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 ayrılmalıdır.
“Discourse on Methods”
Descartes
Doğruluğu kesin olarak kanıtlanmadıkça, hiç birşeyi
doğru olarak kabul etmeyin; tahmin ve
önyargılardan kaçının
Karşılaştığınız her güçlüğü mümkün olduğu kadar
küçük parçalara bölün
Düzenli bir şekilde düşünün; anlaşılması en kolay
olan şeylerle başlayıp yavaş yavaş daha zor ve
karmaşık olanlara doğru ilerleyiniz
Olaya bakışınız çok genel, hazırladığınız ayrıntılı
liste ise hiçbir şeyi dışarıda bırakmayacak kadar
kusursuz ve eksiksiz olsun
Bilgisayara İstediğimiz İşlemleri
Nasıl Yaptırırız?
Algoritmalar:
Belirli bir görevi yerine getiren sonlu sayıdaki
işlemler dizisidir.
Her algoritma aşağıdaki
kriterleri sağlamalıdır.
1.Girdi: sıfır veya daha fazla değer dışarıdan
verilmelidir.
2. Çıktı: En azından bir değer üretmeli
3. Açıklık: Her işlem(komut) açık olmalı ve
farklı anlamlar içermemeli
4. Sonluluk: Her türlü olasılık için algoritma
sonlu adımda bitmeli
5. Etkinlik : Her komut kişinin kalem veya
kağıt ile yürütebileceği kadar basit olmalı
Bilgisayara İstediğimiz İşlemleri Nasıl Yaptırırız?
Algoritma
Örnek: Telefon Etmek
1. Başla
2. Ahizeyi kaldır
3. Sinyali kontrol et, sinyal yoksa arızaya haber ver ve 9. adım’a git
4. Eğer telefon numarası yurt dışında ise iki kere sıfır tuşuna bas ve
ülke ve alan kodunu tuşla, 6. adıma git
5. Eğer telefon numarası şehir dışında ise bir kere sıfır tuşuna bas ve
alan kodunu tuşla
6. Telefon numarasını tuşla
7. Eğer hat meşgul ise ya da cevap vermiyorsa 9. adıma git
8. Telefon konuşmasını gerçekleştir
9. Telefonu kapat
10. Bitiş
Bilgisayara İstediğimiz İşlemleri Nasıl Yaptırırız?
Akış Şeması
Komut İşlem (Process): Yapılması istenen işlemle ilgili tanımlamalar
Koşul Karar (Decision): Bir karara bağlı olarak farklı yolların izlenmesi
Veri Veri (Data): Her farklı veri grubu için farklı isim verilmelidir.
Başla
Evet
Bir kere sıfıra İki kere sıfıra
Evet Şehir Hayır Yurt Evet
bas ve şehir bas ve ülke , alan
dışı mı? dışı mı?
kodunu tuşla kodunu tuşla
Hayır
Telefon
numarasını
tuşla
Telefon
Hayır Meşgul/ Evet Telefonu kapat
konuşmasını
cevap yok?
gerçekleştir
Bitir
Yazılım(Software)
İşletim Sistemi
(MS Windows xx, Unix, IBM –OS, etc)
Database Programları
(Oracle, Sybase, MS SQL Server, etc.)
Office programları
(Word, Excel, Powepoint)
Programlama dilleri
(QBasic, Fotran, Pascal, C, C++, .Net etc.)
Programlama Dilleri Tarihçesi
(Sembolik kodlar)
1. Programın yazılması
2. Yazım kuralları kontrolü
3. Ön işlemcinin çalışması ve programın derlenmesi
4. Programın kütüphaneden kullanılan fonksiyonlar ile
bağlanması (Birleştirme)
5. Çalışabilen program kodunun elde edilmesi
6. Programın çalıştırılması
• C Programın fazları: Editor Disk
Program editör yazılır
ve harddiskte saklanır
Önişlemci program
1. Edit Preprocessor Disk kodu işler
Compiler object code
2. Preprocess Compiler Disk yaratır ve hardiskte
saklar
3. Compile Linker Disk Linker object
code libraries’e linkler
Primary Memory
4. Link Loader
Loader programı
5. Load Disk ..
memori’ye yükler.
..
..
..
..
..
C Programının Derlenmesi
C’nin Program Yapısı
Preprocessor Direktifleri
Global değişken bildirileri
Fonksiyon Prototipleri
Fonksiyon tanımlamaları
main()
{
İfade_1; Programın başlangıcı
İfade_2;
İfade_3;
: İfade Bloğu
.
İfade_N; (Programın ana gövdesi)
}
Programın sonu
C Dilinin Temelleri
Genel Kavramlar
Yazım ve Noktalama Kuralları
C Kütüphaneleri
C Dilindeki Sözcükler
Değer Sabitleri
Veri Tipleri
Değişkenler
Genel Kavramlar
int main(void)
{
program_komutları
return(0);
}
Genel Kavramlar
return(
): Fonksiyonun çağrıldığı yere geri
dönmesini sağlar. main( ) fonksiyonu içinde
kullanılan return() komutu programın
sonlandırılarak işletim sistemine geri dönülmesini
sağlar.
Genel Kavramlar
Örnek Program
#include <stdio.h>
int main (void)
{ printf("Merhaba Dunya");
return(0);
}
Çıktı: Çıktı:
Genel Kavramlar
printf(“format_dizgisi”);
#include <stdio.h>
Genel Kavramlar
Örnek Program
Ekranda “Bu benim ilk programim.” cümlesini görüntüleyecek
programı yazınız.
#include <stdio.h>
int main(void)
{
printf(“Bu benim ilk programim. “);
return(0);
}
Çıktı:
Bu benim ilk programim.
Yazım ve Noktalama Kuralları
include <stdio.h>
int main (void)
{
/*Bu program bilgisayarinizin ekranina
Merhaba Dunya kelimelerini yazar.*/
printf(“Merhaba Dunya”);
return(0);
/*Burasi programin sonudur*/
}
Yazım ve Noktalama Kuralları
Bellek görüntüsü
#include <stdio.h>
main()
{float x, y;
x=4.8;
y=5*x*x+2;
printf(“y=%f”,y);
}
Soru 2: Yarıçapı 7 olan olan bir dairenin
alanını ve çevresini hesaplayınız
#include <stdio.h>
main()
{float PI=3.14;
float cevre, alan;
int r=7;
cevre=2*PI*r;
printf(“cevre=%f\n”,cevre);
alan=PI*r*r;
printf(“alan=%f\n”,alan);
Soru 3: Vize ve Final notlarından geçme
notunu hesaplayınız
#include <stdio.h>
main()
{float vize, final, ortalama;
vize=60;
final=70;
ortalama=vize*0.60+final*0.40;
printf(“ogrenci %f ile gecti\n”,ortalama);
}