ALGORİTMA GELİŞTİRME VE PROGRAMA
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ğ
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.


DERLEYİCİ VE YORUMLAYICI

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.


PROGRAMLAMA DİLİ

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