6. HAFTA
EBG101
PROGRAMLAMA TEMELLERİ VE
ALGORİTMA
Öğr. Gör. S. M. Fatih APAYDIN
[email protected]
EMYO
Bülent Ecevit Üniversitesi
Kdz. Ereğli Meslek Yüksekokulu
ALGORİTMA
ÖRNEK1: İki sayının toplamı probleminin algoritmasını yazınız.
A0: Başla
A1: Birinci sayıyı (SAYI1) gir.
A2: İkinci sayıyı (SAYI2) gir.
A3: Sayıları topla, TOPLAM  SAYI1 + SAYI2
A4: TOPLAM’ ı yaz.
A5: Dur.
ÖRNEK2 : Verilen 3 adet sayının ortalamasını bulan programın algoritmasını yazınız.
A0: Başla
A1: Birinci sayıyı (S1) gir.
A2: İkinci sayıyı (S2) gir.
A3: Üçüncü sayıyı (S3) gir.
A4: Sayıları topla, TOPLAM  S1+S2+S3
A5: ORT  TOPLAM/3
A6: ORT’u yaz.
A7: Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK1 : İki sayının toplamı probleminin
algoritmasını yazınız ve akış diyagramını
çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
Başla
Birinci sayıyı (S1) gir
İkinci sayıyı (S2) gir
Sayıları topla, TOPLAM  S1 + S2
TOPLAM’ ı yaz.
Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK2 : Verilen 3 adet sayının ortalamasını bulan
programın algoritmasını yazınız ve akış
diyagramını çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
Başla
Birinci sayıyı (S1) gir.
İkinci sayıyı (S2) gir.
İkinci sayıyı (S3) gir.
Sayıları topla, TOPLAM  S1+S2+S3
ORT  TOPLAM/3
ORT’u yaz.
Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK3 : Yarıçapı verilen bir dairenin alanını ve
çevresini hesaplayan programın
algoritmasını yazınız ve akış diyagramını
çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
Başla
Yarıçapı (R) gir
ALAN  3.14*R*R
ÇEVRE  2*3.14*R
ALANI’ ı yaz.
ÇEVRE’ yi yaz.
Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK4 : Kütlesi, hızı ve yerden yüksekliği girilen
cismin potansiyel ve kinetik enerjisini
hesaplayan programın algoritmasını
yazınız ve akış diyagramını çiziniz.
E p  mgh
A0:
A1:
A2:
A3:
A4:
A5:
Ek 
1 2
mv
2
Başla
Kütle (m), hız (v) ve yükseklik (h) gir.
EP  m*9.81*h
EK  0.5*m*v*v
EP ve EK’yı yaz.
Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK5 : Katsayıları girilen birinci dereceden
denklemin kökünü bulan programın
algoritmasını yazınız, akış diyagramını
çiziniz.
Ax  B  C
Ax  C  B
A0:
A1:
A2:
A3:
A4:
Başla
Katsayıları gir (A,B,C)
x  (C-B)/A
x’i yaz.
Dur.
x
CB
A
ÖDEV
ÖDEV 1 : İki kenar uzunluğu ve aradaki açısı girilen üçgenin diğer kenar
uzunluğunu hesaplayan programın algoritmasını yazınız, akış
diyagramını çiziniz.
ÖDEV 2 : Yarıçapı girilen kürenin alanını ve hacmini hesaplayan programın
algoritmasını yazınız, akış diyagramını çiziniz.
ÖDEV 3 : Bir kenar uzunluğu ve o kenara ait yüksekliği girilen üçgenin alanını
hesaplayan programın algoritmasını yazınız, akış diyagramını çiziniz.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK1 :Katsayıları verilen 2. dereceden bir
denklemin köklerini hesaplayan
programın algoritmasını yazınız ve
akış diyagramını çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
Başla
Katsayıları (A,B,C) gir.
D  B*B-4*A*C
Eğer D<0 ise ‘KÖK YOK’ yaz.
Eğer D=0 ise, X  -B/(2*A), X’ i yaz.
Eğer D>0 ise X1 (-B+ D)/(2*A),
X2 (-B- D)/(2*A), X1 ve X2’yi yaz.
A6: Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK2 :Verilen 8 adet sayının ortalamasını bulan
programın algoritmasını yazınız ve akış
diyagramını çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
A8:
A9:
Başla
TOPLAM  0
SAYAÇ  0
X’i gir.
SAYAÇ  SAYAÇ + 1
TOPLAM  TOPLAM + X
Eğer SAYAÇ<8 ise A3’e git.
ORT TOPLAM/8
ORT’u yaz.
Dur.
Sayaç ve Döngü : SAYAÇ  SAYAÇ + 1
Ardışık Toplama : TOPLAM  TOPLAM + X
DÖNGÜ KAVRAMI
Programlama dillerinde programı belirli bir satıra yönlendirmek tercih edilmez
(örneğin: A3’e git).
Tercih edilmez!
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
A8:
A9:
Başla
TOPLAM  0
SAYAÇ  0
X’i gir.
SAYAÇ  SAYAÇ + 1
TOPLAM  TOPLAM + X
Eğer SAYAÇ<8 ise A3’e git.
ORT TOPLAM/8
ORT’u yaz.
Dur.
Tercih edilir.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
A8:
döngü değişkeni
Başla
TOPLAM  0
Döngü başlangıcı, S 1,8
X’i gir.
TOPLAM  TOPLAM + X
Döngü sonu
ORT TOPLAM/8
ORT’u yaz.
Dur.
DÖNGÜ KAVRAMI
Tercih edilmez!
Tercih edilir.
TEST
Veriler: 2,9,7,6,1,5,4,6
TOPLAM
S
X
ORT
0
2
11
18
24
25
30
34
40
1
2
3
4
5
6
7
8
2
9
7
6
1
5
4
6
5
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK3 :Verilen N adet sayının içinden en büyüğünü
bulan programın algoritmasını yazınız, akış
diyagramını çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
A8:
Başla
EB  -9999
N’i gir.
Döngü başlangıcı, I 1,N
X’i gir.
Eğer X>EB ise EB  X
Döngü sonu.
EB’yi yaz.
Dur.
ALGORİTMA ve AKIŞ DİYAGRAMI
ÖRNEK4 :Verilen N adet sayıdan kaç tanesinin 5’ten
büyük, kaç tanesinin 5’ten küçük olduğunu
bulan programın algoritmasını yazınız, akış
diyagramını çiziniz.
A0:
A1:
A2:
A3:
A4:
A5:
A6:
A7:
A8:
A9:
Başla
B  0, K  0
N’i gir.
Döngü başlangıcı, I 1,N
X’i gir.
Eğer X>5 ise B  B+1
Eğer X<5 ise K  K+1
Döngü sonu.
B ve K’yı yaz.
Dur.
ÖDEVLER
1. Verilen N adet sayının içinden en küçüğünü bulan programın algoritmasını
yazınız, akış diyagramını çiziniz.
2. Verilen N adet sayının ortalamasını bulan programın algoritmasını yazınız ve akış
diyagramını çiziniz
3. Verilen N adet sayıdan pozitif, negatif ve sıfır olanların sayısını bulan programın
algoritmasını yazınız ve akış diyagramını çiziniz.
4. Bir dersten 2 ara sınav ve 1 final sınavı yapılmaktadır. Bir öğrenci için girilen
notlara göre;
- eğer final notu < 50 ise başarısız yazan,
- eğer final ≥50 ise ara sınav ortalamasının %30’ u ve final sınavının %70’inin
toplamını başarı notu olarak hesaplayan programın algoritmasını yazınız, akış
diyagramını çiziniz.
PROGRAMLAMAYA GİRİŞ
ÖRNEK:
Klavyeden girilen herhangi bir N sayısının
faktöriyelini bulan programın algoritmasını ve
çalışmasını inceleyelim..
ÇÖZÜM:
PROGRAMLAMA DİLİ ELEMANLARI
Değişkenler
 Noktalama işaretleri
 Sabitler
 Operatörler

Programlama Dili Elemanları
 Değişkenler;
bellekte belli bir yer
işgal eden ve içerisinde bir değeri
tutan bellek alanlarıdır.
 Değişken
İsim
 Tür
 Değer

Özellikleri
DEĞİŞKEN İSİMLERİ






İlk karakter harf olmalıdır.
İlk karakterden sonra alt çizgi yada sayı kullanılabilir.
Değişken isimlerinde Türkçe harfler bulunmamalıdır.
Değişken isimlerinde boşluk bulunmamalıdır.
C dili büyük-küçük harf duyarlı bir dildir.
Özel karakterler kullanılmamalıdır.
‘ ’ Boşluk
, Virgül
!
.
; Noktalı virgül
: İki nokta
‘ Tırnak
“ Çift tırnak
| Duvar
( Sol parantez
) Sağ parantez
[ Sol köşeli parantez
] Sağ köşeli parantez
{ Sol küme
} Sağ küme
/ Bölme (slaş)
\ Ters bölme
~ Tilde
+ Artı
- Eksi
= Eşit
< Küçük
> Büyük
# Diyez
* Yıldız
& Ve
^ Üst ok (karet)
Nokta
Ünlem
DEĞİŞKEN İSİMLERİ

Programın kullandığı isimler kullanılmamalıdır.
asm
auto
break
char
const
continue
double
else
enum
float
for
goto
int
interrupt
long
register
return
short
static
struct
switch
unsigned
void
while
_cs
_bp
_sı
_es
_ax
_bh
DEĞİŞKEN İSİMLERİ
 Program yazılırken yapılan tanımlamalar için isimler
kullanılır.
 Örnek:
 maas=gunxyevmiye
 ifadesinde maas, gun ve yevmiye birer değişken ismidir.
Değişken İsmi
ogrenci_yasi
Short
06_yili_ucreti
Ayse?veli
short
ogrenci yasi
Meriç
Açıklama
Değişken ismi sayı ile başlamaz
Değişken ismi özel karakter içermez
Değişken ismi özel amaçlı bir sözcük
olamaz
Değişken ismi boşluk içermez
Değişken ismi Türkçe karakter içermez
VERİ TİPLERİ
Tip
Açıklama
Boyut
(Bit)
Aralık
int
tamsayı
16
32
-32.768 ..... 32.767
-2.147.483.648…. -2.147.483.647
float
reel sayı
32
+-3.4E -38 ..... +-3.4E 38
Yaklaşık 6 basamak duyarlı
double
Çift duyarlıklı
reel sayı
64
+-1.7E-308.......+-1.7E308
Yaklaşık 12 basamak duyarlı
short int
Kısa tamsayı
8
-128....+127
char
karakter
8
0.....255
unsigned int
İşaretsiz
tamsayı
16
0.....65.535
NOT:1) 8 Bit=1 Byte
2) Sayıların ondalık kısımları nokta ile ayrılır.
3) 3.4e-38=3.4x10-38
KAYNAKÇA:



N. Ercil Çağıltay ve ark., C DERSİ PROGRAMLAMAYA GİRİŞ, Ada Matbaacılık,
ANKARA; 2009.
Doç. Dr. Soner ÇELİKKOL, Programlamaya Giriş ve Algoritmalar, Murathan
Yayınevi, TRABZON; 2009
Bu notlar hazırlanırken Filiz KÖSE, Yalçın ÇEBİ ve Özlem AKTAŞ’ın internette
paylaşıma açtığı notlardan faydalanılmıştır.
KAYNAKLAR

Ders Sunuları:
http://pozitron.sdu.edu.tr/dersnotlari
 http://sites.google.com/site/mfcaglar/ (geçmiş senenin
notları)


Kaynak Kitap:

Algoritma ve Programlamaya Giriş, EBUBEKİR
YAŞAR, Murathan Yayınevi
Teşekkür Ederim
Sağlıklı ve mutlu bir hafta
geçirmeniz temennisiyle, iyi
çalışmalar dilerim…
EMYO
Bülent Ecevit Üniversitesi
Kdz. Ereğli Meslek Yüksekokulu
5
Download

6. hafta sunusu - Kdz. Ereğli MYO