ALGORİTMA
GELİŞTİRME VE PROGRAMA
DÖNÜŞTÜRME
DÖNÜŞTÜRME
Temel olarak bir algoritma, bilgisayara belli bir problemin çözümünü
anlatmaktır.
Büyük bir problemin bilgisayara yaptırılması için, genellikle küçük parçalara
bölmek gereklidir.
Programlama genellikle zor değildir, ama zaman harcayan bir iştir.
Bir Programcının Program yazabilmesi için yapması gereken çalışmalar ve
bilmesi gereken ön bilgilere ihtiyacı vardır. Çünkü bir problemin bilgisayar ortamında
çözülmesi maalesef hızlı bir şekilde gerçekleşemez. Her şeyden önce programlama bir
süreçtir ve programın yazılıp bitmesi ile bitmez.
PROGRAM NEDİR?
Program, yapılacak bir işlemi ya da hesaplamayı gerçekleştirmek için birbirini izleyen komut ya da
yönergelerden oluşan yapıdır. İşlemler matematiksel ya da mantıksak olabilir. Örneğin bir formülün sonucunun
hesaplanması ya da bir doküman içerisinde belirli bir metnin aranması gibi. Ayrıntılar programlama dillerine
göre farklılaşsa bile belirli komutlar her dilde yer alır.
Girdi: Klavyeden, dosyadan veya başka bir aygıttan veri almadır.
Çıktı: Ekranda veriyi görüntüleme veya veriyi dosyaya veya başka bir aygıta göndermedir.
Koşullu yürütme: Belirli durumları sınamak ve komutları uygun bir sıraya göre çalıştırmaktır.
Tekrarlama: Bazı eylemleri genellikle ufak tefek değişikliklerle yineleme işlemidir.
Programların çoğu, ne kadar basit ya da karmaşık olursa olsun temel olarak bu işlemlere dayalı
olarak çalışır. Bu nedenle programlama, büyük ve karmaşık bir görevi bu temel komutlarla gerçekleştirebilecek
kadar basit biçimde küçük alt görevlere bölme olarak tanımlanabilir.
PROBLEM NEDİR?
Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla
çözülmesi fikrinin ortaya çıkmasına problem denir.
Bazen de bir işletme veya yönetimin otomasyonunu sağlamak amacı ile
bu tip problemler tanımlanır.
PROBLEM ÇÖZÜMÜ
Problemi Çözebilmek için öncelikle sorunun çok net olarak programcı
tarafından anlaşılmış olması gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Bir
sorunun tabii ki birden fazla çözümü olabilir. Bu durumda bilgisayar ile en uygun çözüm
seçilmelidir. Çünkü bazen pratik çözümler bilgisayarlar için uygun olmayabilir.
Oluşturulan çözüm Algoritma dediğimiz adımlarla ifade edilmelidir.
Bu algoritmanın daha anlaşılabilir olması için Akış Şeması oluşturulmalıdır.
Uygun bir programlama dili seçilmeli ve oluşturulan algoritma ve akış şeması
bu programlama dili aracılığı ile bilgisayar ortamına aktarılmalıdır.
ALGORİTMA NEDİR?
Bir sorunu çözebilmek için gerekli olan sıralı mantıksal
adımların tümüne denir. Doğal dille yazılabileceği için fazlaca
formal değildir. Bir algoritma için aşağıdaki ifadelerin mutlaka
doğrulanması gereklidir.
• Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı
olmamalıdır.
• Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.
• Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek
kadar genel olmalıdır.
AKIŞ ŞEMASI VE PROGRAMLAMA DİLİ
Akış şeması, bir algoritmanın daha görsel
gösterimidir. Çizgiler, Dörtgen, daire vb. geometrik
şekillerle algoritmanın gösterilmesini sağlar. Doğal dille
yazılmadığı için daha formal olduğu düşünülebilir.
Programlama dili, bir Problemin Algoritmik
çözümünün bilgisayara anlatılmasını sağlayan, son derece
sıkı sıkıya kuralları bulunan kurallar dizisidir.
gösterimidir. Çizgiler, Dörtgen, daire vb. geometrik
şekillerle algoritmanın gösterilmesini sağlar. Doğal dille
yazılmadığı için daha formal olduğu düşünülebilir.
Programlama dili, bir Problemin Algoritmik
çözümünün bilgisayara anlatılmasını sağlayan, son derece
sıkı sıkıya kuralları bulunan kurallar dizisidir.
Derleyici, bir programlama dili ile bilgisayara aktarılan programın
bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda
söz dizim hatalarının olup olmadığını bulan olup olmadığını bulan yazılımlardır.
Her Programlama dili için bir derleyici olması gerekmektedir.
Yorumlayıcı, derleyici gibi çalışan ancak yazılmış programları o anda Makine
diline çeviren yazılımlardır. Bu tür bir yazılımda Programın Makine dili ile oluşturulmuş
kısmı bilgisayarda tutulmaz. Programın her çalıştırılmasında her adım için Makine dili
karşılıkları oluşturulur ve çalıştırılır.
Bilgisayar Türkçe, İngilizce veya başka bir dilden anlamaz.
Bilgisayarın fonksiyonel bir beyni olmadığı için insanlar komutlar
yazmalıdır. Bu özel dile “programlama dili” denir.
Komutlar bir araya gelerek “program”ı meydana getirir. Belli
bir dil ile yazılmış komutlara “kaynak kod” da diyebiliriz.
Her programlama dili özel bir amaca hizmet eder. İnsanlar farklı
problemleri çözmek için değişik programlama dilleri yazmışlardır. Temelde
bilgisayarlar 1 ve 0’lardan oluşan ikilik sayı sistemindeki dili anlarlar. Buna
“makine dili” denir.
Programcılar donanıma erişimi daha kolay olan, okunaklı, yazımı ve
düzenlemesi kolay olan bir dile ihtiyaç duymuşlardır. Yeni başlayanlar
başlangıç seviyesi için PYTHON dilini tercih etmelidir.
Python dili ile yazılmış ilk örneğe bakalım:
print "Merhaba, Dünya!"
Bu print komutunun bir örneği olup ekranda Merhaba, Dünya! yazar.
NEDEN PYTHON?
• Python, öğrenmesi kolay, tamamen özgür ve ücretsiz bir programlama dilidir.
• Nesnelere dayalı bir dil olup okunabilirliği yüksektir.
• Python’un dili başka programlama dilleri ile kıyaslandığında, bunun daha az kod ile işlemleri
yapmasının mümkün olduğu görülecektir.
• Python, bütün işletim sistemleri ile uyum içerisinde çalışmaktadır.
• Programlama yapısı içerisinde birçok kütüphaneyi barındırmaktadır. Bu kaynaklarla daha az
kod yazmak mümkündür.
• Pythton ile masaüstünde çalışan uygulamalar geliştirilebileceği gibi, web üzerinde çalışan
uygulamalar geliştirmek de mümkündür.
EDİTÖRLER
Bir editör, programcının kaynak kodu yazmasını ve dosyaya
kaydetmesini sağlar. Dili oluşturan parçaların kurallara uygun bir şekilde
düzenlenmesi söz dizimi (syntax) olarak ifade edilir. Geliştirme araçlarının
yazılanları tam olarak doğru anlaması için, kullanılan kelime ve sembollerin
kurallara uygun biçimde dizilmesi önemlidir. Yalnızca doğru biçimde ifade
edilen programlar makine koduna dönüştürülmek üzere kabul edilir. Bu nedenle
bazı editörler yazım yanlışları konusunda renkleri ya da farklı vurgulamaları
kullanarak yazım hataları konusunda programcıyı uyarır.
HATA AYIKLAYICILAR
Programlama, karmaşık bir süreçtir ve programcılar programlamada hata
(bug) yapabilirler. Programlama hatalarını bulma ve düzeltme işlemine hata ayıklama
(debugging) denilir. Bir programda üç tür hata oluşabilir: söz dizimsel hatalar, çalışma
zamanı hataları ve anlam bilimsel hatalar.
Hata ayıklayıcılar, programcının bir programdaki olası hataları bulmasına ve
düzeltmesine olanak sağlayarak programın doğru çalışması için yardımcı olur. Hata
ayıklayıcı programlar ile programın hangi satırlarında hata olduğu belirlenir.
Programcı, değişkenlerin değerlerine bakarak neyin yanlış gittiğini anlayabilir.
DEĞİŞKENLER
Değişkenler, değerleri korumak için kullanılır. Bu değerler sayı, dizi gibi farklı
biçimlerde olabilir.
Örneğin; x = 10 ifadesi bir atama satırıdır. Atama işlemi bir değeri bir
değişken ile eşleştirir. Bu ifadedeki en önemli ayrıntı, atama (=) sembolüdür. Bu
ifade ile 10 değeri, x değişkenine atanmaktadır. Bu noktada, x değişkeninin türü
tam sayı olur çünkü atanan değer bir tam sayı değerdir. Bir değişkene birden
fazla kez atama yapılabilir. Eğer bu sırada öncekinden farklı türdeki bir değer
ataması yapılırsa değişkenin türü de değişir.
Bir değişkene defalarca farklı değerler atayabiliriz.
x = 10
print(x)
x = 20
print(x)
x = 30
print(x)
SABİTLER
• Herhangi bir sayı, sayısal değerdir. Örneğin matematikte 4 sayısı tam sayı
olarak ifade edilir. Tam sayılar pozitif, negatif ya da sıfır değeri alabilir.
Kesirli değerleri içermez. Örneğin 99, 105, 0, -56 ve 7896 birer tam sayıdır.
Ancak 4.5 bir tam sayı değildir. Python programlama dili, sayısal ve sözel
ifade kullanımını destekler. Python programları, tam sayıları kullanarak işlem
yapabilir. Örneğin;
print(4) ifadesi 4 değerini ekrana yazdırır.
İYİ BİR
PROGRAMIN TEMEL ÖZELLİKLERİ ŞUNLARDIR:
• Doğruluk : Verilen görevlerin tam olarak yerine
getirilmesidir.
• Dayanıklılık : Beklenmedik hatalardan dolayı
programın çalışması kesilmemelidir.
• Genişletilebilme : İleri aşamalarda görevlerin
değişikliği veya yenilerinin eklenmesi kolay
olmalıdır.
• Basitlik : Karmaşık tasarımlardan kaçınmak gerekir.
• Modülerlik : Program kodları başka programlar
içinde de kullanılabilmelidir.
• Uyumluluk : Başka bilgisayar ve sistemlerde
çalışabilmelidir.
• Kontrol edilebilirlik : Hata olabilecek yerlere
açıklayıcı hata mesajları konulmalıdır.
• Kolay kullanım : Kullanıcı ara birimi kolay olmalı
ve rahat öğrenilebilmelidir.
• Parçalanabilirlik : Problemin küçük parçalara
ayrılarak yazılmasıdır.
• Anlaşılırlık : Başkasının yazdığı program elden
geçirilirken rahatça okunabilmelidir.
• Koruma : Modüller birbirlerine müdahale
etmemelidirler.
PROGRAMIN TEST AŞAMASI
Bu süreç kodlama çalışmalarının bitmesine yakın bir dönemde başlar.
Bulunan tüm hatalar çözülmeden ve testin sonlandırma kriterleri sağlanmadan
sona ermez. Test edilecek yazılımın türüne göre, dinamik olarak uygulanacak
test teknikleri ve bu tekniklerin uygulanma metotları farklılık gösterebilir.
Yapılan testler sonucunda bulunan hatalar düzeltildikten sonra test
sonlandırma kriterleri kontrol edilir. Eğer tüm kriterlerin kabul edilebilir düzeyde
sağlandığı tespit edilirse test sonlandırılır.
Yorumlar
Yorum Gönder