Vous êtes sur la page 1sur 33

MF-103

Bilgisayar Programlama Gz 2011 (1. Hafta)


(Yrd. Do. Dr. Deniz Dal)

BLGSAYARLA PROBLEM ZMNN AAMALARI


Analiz

Algoritma Gelitirme Ak emas izimi Programlama Dili Seimi Programn Yazlmas Derleme altrma Test

BLGSAYARLA PROBLEM ZMNN AAMALARI (devam)


ANALZ: zlmesi istenen problemin
Problemi

tamamen
zecek

anlalmasn salayacak n almalardr. ALGORTMA GELTRME: admlarn sral olarak ifade edilmesidir. AKI EMASI ZM: Gelitirilen algoritmann ekillerle ifade edilmesidir. PROGRAMLAMA DL SEM: Gelitirilen algoritmay kolay bir ekilde bilgisayar ortamna aktaracak bir

bilgisayar programlama dilinin seilmesidir.

BLGSAYARLA PROBLEM ZMNN AAMALARI (devam)

PROGRAMIN YAZILMASI: Seilen programlama dilinin


kurallar kullanlarak programn yazlmas aamasdr.

DERLEME:

Programlama

dili

komutlarna

dnm

zmn yazm hatalarnn olup olmadnn kontrol edilmesi ve programn makina dili komutlarna evrilmesidir.

ALITIRMA:

Derlenmi

programn

iletim

sistemi

tarafndan hard diskten alnarak bellee tand ve programn ilk komutunun adresinin Merkezi lem Birimine bildirildii aamadr.

TEST: Programn mantksal olarak test edildii ve muhtemel her giri iin doru sonular retip retmediinin kontrol edildii aamadr.

PROGRAM (BLGSAYAR PROGRAMI) NEDR?

Problem zm ksmnda anlatlan admlar uygulandktan sonra ortaya kan ve sorunumuzu bilgisayar ortamnda zen rne program denir.

PROGRAMLAMA (BLGSAYAR PROGRAMLAMA) NEDR?

Problem zmnde anlatlan admlarn tmne birden programlama denir.

PROGRAMLAMA DL NEDR? Bir problemin algoritmik zmnn bilgisayarda yazlmasn salayan kurallar dizisidir.

BAZI PROGRAMLAMA DLLER

MATLAB, Delphi, Pascal, Fortran, Lisp


C, C++, C#, Visual Basic, Java

ALGORTMA
Belirli bir problemi zmek iin iletilmesi gereken admlar ve bu admlarn hangi sra ile uygulanacan belirleyen prosedre algoritma denir. ine gitmek zere uyanan birinin yapmas gereken iler algoritmas:
1. Yataktan kalk 2. Pijamalarn kar 3. Du al 4. Elbiselerini giy 5. Kahvaltn yap 6. Arabana bin ve ie git

Sra nemli. 3 ve 4 nolu admlar yer deitirirse mesela? (Kim slanmak ister? )

Pasta tarifi bir algoritma mdr?

ALGORTMA GELTRMEDE VE BLGSAYAR PROGRAMLAMADA KULLANILAN BAZI TEMEL KAVRAMLAR

1Deiken 2Atama 3Fonksiyon 4Saya 5Dng

DEKEN

Deiken denince aklnza saklama kaplar gelmelidir.

Bir program ierisinde bilgileri geici olarak saklamak ve ihtiya duyduumuzda bu bilgiler zerinde ilem yapmak iin deikenlerden yararlanrz.

ATAMA

Herhangi bir deikenin iine bir deeri veya ifadenin/ilemin sonucunu aktarma ilemine atama denir.

ATAMA (devam)
deiken = ifade satrnda deiken yazan ksm, herhangi bir deikenin addr. ifade yazan ksmda ise matematiksel, mantksal veya alfa-nmerik bir ifade olabilir. Aradaki = sembol, atama operatr olarak adlandrlr ve sadaki ifadenin/ilemin sonucunu soldaki deikene aktarr. Bu durumda deikenin (eer varsa) bir nceki deeri (eski deeri) silinir. Y=9 X=26 X=3 Y=X+5 ileminin sonucunda Ynin bir nceki deeri silinerek yerine 8 deeri atanr.

FONKSYON
Bir giri parametresini(lerini) (argmanlarn) belirli bir ilemden geirdikten sonra geriye bir k parametresi(leri) dndren programlara fonksiyon denir.

Kyma makinesi para eti kymaya dntren bir fonksiyona sahiptir.

SAYA
Programlarmzda baz ilemlerin belirli sayda yaptrlmas veya ilenen/retilen deerlerin saylmas gerekebilir. Sayma amacyla kullanlan bu tr deikenlere saya denir.
rnein klavyeden girilen bir cmlede ka sesli harf olduunu bulan programda, cmlenin her harfi srayla arlr ve sesli harfler kmesine ait olup olmad aratrlr. Eer arlan harf bu kmeye ait ise bunlar sayacak olan deikenin deeri bir artrlr.

SAYA (devam)
sayac = sayac + 1

bilgisayar deyimi ile sayac adl deikenin eski (nceki) deerine 1 eklenmekte; bulunan sonu yine kendisine, yeni deer olarak aktarlmaktadr. Bu tr deikenlere, algoritmada saya veya sayc (counter) ad verilir. Yani saya ilem ak kendisine her geldiinde, belirtilen adm deeri kadar artan/azalan deikendir.

Saya kullanmna rnek: sayac=sayac+3 er er artan bir saycdr

sayac=sayac-5

Beer beer azalan bir saycdr

rnek: Aadaki algoritmada 1-5 aras saylar (1 dahil, 5 hari), saya kullanlarak ekrana yazdrlmaktadr. Burada, sayac saya deikenidir. A1: Bala
A2: sayac=1 A3: Eer sayac=5 ise adm 7 ye git A4: sayac i ekrana yaz A5: sayac=sayac+1 A6: 3. adm a git A7: Bitir
Hangi amalarla ka deikene ihtiya var?

DNG
Birok programda baz ilemler belirli ardk deerlerle gerekletirilmekte veya belirli sayda yaplmaktadr. Programlardaki belirli ilem bloklarn, belirli sayda tekrarlayan ilem ak evrimlerine dng denir.

Dng Oluturma Kurallar: 1- Dng deikeninin balang deeri belirlenir. 2- Dng deikeninin biti deeri belirlenir.

3- Dng deikeninin biti deerine ulap ulamad test edilir. 4- stenen ilem gerekletirilir.
5- Dng deikeni, dng iinde adm miktar kadar artrlr yada azaltlr.

rnek: Aadaki algoritmada 1-10 aras tek saylarn toplam hesaplanmaktadr. (Aadaki algoritmay ift saylarn toplamna hangi deiiklii yaparak dntrebilirsiniz?) A1: Bala A2: toplam=0

A3: sayac=1
A4: Eer sayac>10 ise adm 8 e git A5: toplam=toplam+sayac A6: sayac=sayac+2 A7: Adm 4 e git A8: toplam ekrana yaz A9: Bitir
Hangi amalarla ka deikene ihtiya var?

Dng

rnek : Dardan girilen iki saynn toplamn bulan programn algoritmas aadaki gibidir.

A1 : Bala A2 : sayi1 deerini gir A3 : sayi2 deerini gir A4 : toplam= sayi1+sayi2 A5 : toplam ekrana yaz A6 : Bitir
Hangi amalarla ka deikene ihtiya var?

rnek : Dardan girilen 3 saydan en byn bulan algoritmay gelitiriniz.

A1 : Bala A2 : sayi1, sayi2 ve sayi3 saylarn dardan gir A3 : enBuyuk=sayi1 A4 : Eer enBuyuk<sayi2 ise enBuyuk=sayi2 yap A5 : Eer enBuyuk<sayi3 ise enBuyuk=sayi3 yap A6 : enBuyuk deerini ekrana yaz A7 : Bitir

Hangi amalarla ka deikene ihtiya var?

rnek: 0dan 100e kadar olan sayma saylarnn kmlatif toplamn ekrana yazdran algoritmay gelitiriniz.

A1 : Bala A2 : toplam=0;sayac=1 balang deerlerini ata A3 : Eer sayac=100 ise 6. adma git A4 : toplam=toplam+sayac A5 : sayac=sayac+1 yap ve 3. adma geri dn A6 : toplam ekrana yaz A7 : Bitir
Hangi amalarla ka deikene ihtiya var?

rnek: Verilen bir saynn faktriyelini hesaplayan programn algoritmasn yaznz. (Faktriyeli hesaplanacak say negatif girilmise yeniden giri istenmelidir.) Deikenler: Saynn Faktriyeli : faktor , Faktriyel Deikeni :sayac Faktriyeli Hesaplanacak Say :Y
Algoritma:
A1: Bala A2: faktor =1; sayac =1 A3: Yyi gir A4: Eer Y<0 ise 3. adima git A5: Eer sayac>Y ise adim 8 e git A6: faktor=faktor*sayac A7: sayac =sayac+1 yap ve adm 5 e git A8: faktor degerini ekrana yaz A9: Bitir

Anlaml Deiken simleri Semek ok nemli !!!!!!!!!!!!

Hangi amalarla ka deikene ihtiya var?

Ak Diyagramlar (Flow Charts):


Ak diyagramlar, algoritmalarn sembolik olarak gerekletirilecek her tr aksiyon ayr bir sembolle gsterilir. gsterimidir. Bilgisayarda

rnek: Verilen iki saynn ortalamasn hesaplayan programn algoritmasn gelitiriniz ve ak diyagramn iziniz.
Bala

Algoritma:

Ak diyagram:
sayi1=?

A1 : Bala A2 : sayi1 deerini gir A3 : sayi2 deerini gir A4 : ortalama = (sayi1+sayi2)/2

sayi2=?

ortalama=(sayi1+sayi)/2

ortalama

A5 : ortalama degerini ekrana yaz A6 : Bitir


Hangi amalarla ka deikene ihtiya var?
Bitir

rnek: AX+B=0 eklinde verilen 1. derece denklemin zmn bulan programn


algoritmasn gelitiriniz ve ak diyagramn iziniz. (A=0 girilmi ise veri girii yenilenecektir.)

A1: Bala A2: A deerini giriniz A3: Eer A=0 ise Adm 2ye git
A=0
Hayr Evet

A4: B deerini giriniz


A5: X=-B/A A6: Yaz X A7: Bitir
Hangi amalarla ka deikene ihtiya var?

rnek: 1den 100e kadar olan saylarn (100 dahil) toplamn ve ortalamasn bulan algoritmay gelitiriniz. Algoritma:
A1: Bala A2: sayac=0 A3: toplam=0 A4: sayac=sayac+1 A5: toplam=toplam+sayac A6: Eer sayac=100 deilse Adm 4e git A7: ortalama=toplam/sayac A8: Yaz toplam, ortalama A9: Bitir
Hangi amalarla ka deikene ihtiya var?

Uygulama:

Daha nce algoritmas gelitirilen ve dardan girilen 3 saydan en byn bulan programn ak diyagramn iziniz.

Uygulama:

Daha nce algoritmas gelitirilen ve dardan girilen bir saynn faktriyelini hesaplayan programn ak diyagramn iziniz.

rnek: f(X) fonksiyonunun degeri X'in ald deerlere gre asada verilmitir. X'in deeri 0-20 arasnda 0.5 aralklarla arttna gre her bir X degeri iin f(X) fonksiyonunu hesaplayan programn ak diyagramn iziniz. 0<= X <= 2 f(X)=X 2< X <= 3 f(X)=X-X3-22 3< X <=4 f(X)=X2-2X+13 4< X f(X)=X4-3X2-43

Algoritma: ???

rnek : Ax+Bx+C=0 eklinde verilen 2. derece denklemin kklerini bulan programn ak diyagramn iziniz. (kinci derece denklem olmad uyarsn nasl verirsiniz?)

rnek: 10 tane N saysnn faktriyelini hesaplayan programn ak diyagramn iziniz. (Yandaki diyagramdaki sorunlar bulunuz.)

rnek : Kenar uzunluklar dardan girilen bir ABC genini kenar uzunluklarna gre inceleyen programn algoritmasn kurunuz.

A1: Bala A2: A,B,C deerlerini gir A3: A=B ise A4e git deilse A5e git A4: B=C ise A6ya git deilse A8e git A5: A=C ise A8e git deilse A7e git A6: gen Ekenardr yazdir ve A10a git A7: B=C ise A8e git, deilse A9a git A8: gen kizkenardr yazdir ve A10a git A9: gen eitkenardr yazdir A10: Bitir
Hangi amalarla ka deikene ihtiya var?

A1

Bala

Ekenar : A=B=C kizkenar: A=B veya A=C veya B=C eitkenar: A=B=C

A2

A,B,C Gir A3 A=B

A5 H A=C

H B=C

A4 E

A6 Ekenar

A7 H B=C A9 eitkenar E

A8 kizkenar

Bitir A10

Vous aimerez peut-être aussi