Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Algoritma

Algoritma

Ratings: (0)|Views: 4|Likes:
Published by İbrahim SERT

More info:

Published by: İbrahim SERT on Mar 02, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/02/2013

pdf

text

original

 
 
Algoritmaya Giriş
 
Algoritma Hakkında Temel Tanımlamalar
 
 
 
Bilgisayar yordamı
 
ile bir problem çözüleceğinde sırası ile şu adımların yerine getirilmesi
gerekmektedir.
(a)
 
Problemin doğru ve kapsamlı olarak tanımlanması.
 
(b)
 
Problemin çözümü için etkin bir yöntemin bulunması.
 
(c)
 
Bu yöntemden yararlanarak, uygun bir algoritmanın geliştirilmesi ve bunun analizi.
 
(d)
 
Algoritmanın bir bilgisayar programlama dili kullanarak bilgisayara uyarlanması.
 
(e)
 
Programın denenmesi ve doküman hazırlanması.
Algoritma, bir problemin çözümü (varsa) için gerekli adımların mantıksal bir sıra ileyazılmasıdır. Algoritma her zaman doğru olmalı ve pratik bir zaman içerisinde sona ermelidir.Bir algoritmanın yazılması için, doğal bir dil kullanılabilir ve sözde
-kolama(pseudo-code)
yapılabilir. Sözde
-
kodlamada kullanılacak olan yapılar algoritma geliştiricisi tarafındanönceden tanımlanmalı ve algoritmanın her adımında bu yapılara uyulmalıdır.
Algoritmanın Tanımı:
Bir problemin çözümüne yönelik, işlem basamaklarının belli bir
 
mantıkçerçevesinde adım adım yazılması işlemine
 ALGORİTMA
denir.
Algoritma bir bilgisayar programının tüm satırlarının Türkçe ifadelerle yazılmasıdır. Buifadeler, bir cümle olabileceği gibi, kısaltılmış ifadeler de olabilir.Çözüme yönelik farklı algoritmalar aynı problem için yazılabilir. Önemli olan doğru sonuçlaraulaşabilmektir. Algoritma problemle ilgili her türlü soruya cevap verebilmelidir. Bir algoritma üzerindegiriş, işlem ve çıkış bölümlerini taşımalıdır.
AKIŞ DİYAGRAMI
 
Bilgisayarda her şeyin adım adım olduğunu daha önce belirtmiştik. Bu adımları akışdiyagramında gösterebiliriz. Akış diyagramı, bir fonksiyonu uygulamak için gereken işlemlerin şematik
 
bir biçimde gösterilmesidir. Bilgisayarın, işlemeleri ne şekilde, hangi
 
sırayla yapacağını belirtir. Budiyagram ne kadar detaya inerse, o kadar açık yazılmış demektir. Yani biz bir işlemde her türlüolasılığı düşünüp, ona göre bir diyagram yaparsak, işlemi bilgisayara o derece açıklamış oluruz.Bilgisayar hiçbir zaman kendi kendine düşünemediği için, önceden açıklanmamış bir durumlakarşılaşınca işlemi sürdüremez.
Problemin Kavranması:
Akış diyagramı, bize bilgisayarın bir problemi çözerken yürütmesigereken mantığı gösterir.
Yani
aslında herhangi bir problem için program yazmadan önce yapılmasıgereken bir şeydir. Özellikle çok karmaşık ve uzun programları yazarken, akış diyagramları bize çokyardımcı olurlar. Bu tip bir program yazmak isteyen bir kişi, eğer zamandan tasarruf etmek amacıylaakış diyagramını çizmeden işe girişirse, sonradan yapabileceği bir yanlışı bulup, işin içindençıkabilmesi için çok fazla zaman kaybeder.
 
Bu nedenle en basit programları yazarken bile, önce akış diyagramını çizmeli, sonraprogramımızı ona göre yazmalıyız. Bu şekilde, programı yazmadan önce, kafamızda her şey açık olur.Her türlü olasılık hesaplanmış, ona göre ayrı yollar saptanmıştır. Bize yalnızca akış diyagramdakieylemleri kullanacağımız dilin komutlarına göre, çevirerek yazmak kalır.
 
Bunun için, önce problemi kavramamız gerekir. Yani
bu problem bizden ne istiyor, sonucunu
bulmak için ne gibi işlemler yapmamız gerekir, vs. gibi soruların yanıtlarını bulmamız gerekir. Ancakbu şekilde o problem hakkında bir mantık yürütebiliriz.
 
Kendimize göre bir mantık koyduktan sonra, akış diyagramını çizebiliriz. Akış diyagramınıçizerken, dikkat etmemiz gereken bazı noktaları yineleyelim.
 
Veriler:
Verilerin çok iyi bir şekilde saptanması gerekir. Ne istenenden fazla, ne de istenendenaz olmalıdır. Fazla olmasının, sonucun çıkmasına bir etkisi olmaz. Ama, bilgisayarlarla yapılançalışmalarda işlemi en kısa yoldan yapmak, sonuca en kısa yoldan varmak önemlidir. Bir bilgisayarınana işlemcisinin kapasitesi ne kadar fazla olursa olsun, bir anda çok fazla sayıda işlem yapabilmesiaçısından her bir programın olabilecek en az yeri kaplaması gereklidir. Bunu için gereksiz işlemlerdenkaçınmamız gerekir.Eksik olması ise, çok daha sakıncalıdır. Bir bilgisayar, eksik verilerle hiçbir zaman bir sonuççıkaramaz. Onun için
problemi kavramak, gereken verileri kesin olarak saptamak zorunludur. Veriler
saptandıktan sonra, asıl fonksiyonun yazılmasına geçilir.
 
Fonksiyon:
Fonksiyona geçtiğimizde daha da dikkatli olmamız gerekir. Çünkü fonksiyonyazılımlarında çok daha fazla yanlış yapılır. En ufak bir belirsiz nokta bırakılmamalıdır. Eğer belirsiz birkomut alırsa, ne yapacağını bilemez: bu nedenle de işlemi durdurur.
 
Ayrıca değerlendirme noktaları, değişik yönler ve tutar iyi saptanmalıdır. Yanlış hazırlanmakbir program, bilgisayarın sonsuza kadar aynı işlemi yinelemesine neden olabilir. Bunu engellemek içinakış diyagramları tekrar tekrar kontrol edilmeli, üzerinde uygulama yapılmalıdır. Zaten bir diyagramınzayıf noktalarını yakalamanın en iyi yolu işlemi üzerinde uygulamak, birkaç örnek çözmektir. Buşekilde daha öncesinden gözden kaçan belirsiz noktalar, eksiklikler ve yanlış komutlar yakalanabilir.Böylece bilgisayarın işlemi durdurması, ya da sonsuza kadar yinelenmesi önlenmiş olur. Bu önaşamada kontrol etmek için ayıracağımız birkaç dakika sonradan bizi saatlerce düşünüp işin yanlıştarafını aramaktan kurtarabilir. Bunun için, özellikle ilk çalışmalarda zamandan tasarruf etmeyeçalışmamalı, programı yazıp bilgisayara vermeden önce tekrar tekrar kontrol etmeliyiz.
 
Sonucun Alınması:
Fonksiyon kısmı bittikten
 
sonra akış diyagramının son bölümüne geçilir.Bu bölümde sonuç çıkarılır ve herhangi bir terminalden alınması sağlanır. Çıkışta, yalnızca sonucualmak yeterli olmayabilir. Örneğin bir işlemi değişik koşullarda, değişik verileri uygulamak istemişsek,
o ver
ileri de almamız gerekir. Bu şekilde sonuçlar karışmamış
olur ve yine programda herhangi bir

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->