Kayıtlar

algoritma etiketine sahip yayınlar gösteriliyor

Algoritmaya Giriş #6 - Döngüler

Resim
  Algoritmaya Giriş  serimin ilk beş yazısında algoritma tanımından, girdi/çıktı işlemlerinden, değişkenlerden ve koşul yapılarından Flowgorithm aracılığıyla bahsettim. Bu yazımda ise artık programlamanın bir diğer yapıtaşı olan döngüler e geçiş yapıyoruz. Döngüler genel olarak bir kod bloğunun onlarca, yüzlerce kez çalışması gerektiği durumlarda hayat kurtaran bir çözüm olarak karşımıza çıkar. Döngüler olmasaydı, tekrar tekrar çalışması gereken kod bloklarını elle yazmamız ya da en iyi ihtimalle kopyala-yapıştır yapmamız gerekecekti. Örneğin ilk 1000 sayma sayısının toplamını bulan bir program yapmanız gerektiğini düşünün, 1'den 1000'e kadar bütün sayıları toplayan bir kod bloğu yazmanız gerekecekti. Ya da daha geçerli bir örnek vereyim, örneğin Fibonacci dizisinin 1000. elemanını bulan bir program yapmak istiyorsunuz. Fibonacci dizisinin 1000. elemanını döngü kullanmadan bulana kadar siz o 1000. elemanın ne olduğunu zaten öğrenmiş olursunuz :) Döngüler, belli bir sayısal değ...

Algoritmaya Giriş #5 - Koşul Yapıları

Resim
  Algoritmaya Giriş  serimin ilk dört yazısı itibariyle basit algoritmaların nasıl yazıldığını ve bu algoritmalar yazılırken nelerin kullanıldığını açıklayıcı bir şekilde anlatabildiğimi ümit ederek serinin beşinci yazısına giriş yapmak istiyorum. Bu yazının konusu koşul yapıları . Bu yapılar belirli koşullara göre algoritmamızın gerçekleştireceği davranışı belirlememize yardımcı olur. Gerçek hayattan verilebilecek en basit örnek, kayıt olurken 8 karakter uzunluğunda olmayan bir parola girdiğinizde bir hata mesajı almanızdır. Bu tür senaryoları koşul yapıları sayesinde yönetebiliriz. Koşul yapıları, genel olarak programımıza farklı davranışlar kazandırmaya yarar, ayrıca koşul yapılarıyla kontrol yapmak ilkel/basit bir hata yönetim metodudur. Örneğin girdimiz sayı değilse ekrana bir hata mesajı yazdırmasını koşul yapısı yazarak sağlayabiliriz. Programlama dünyasında en çok kullanılan koşul yapısı if-else if-else yapısıdır. Ek olarak bir de switch-case yapısı vardır. Bahsi açılm...

Algoritmaya Giriş - Alıştırmalar

 Blogumun  Algoritmaya Giriş  serisinde yazılım öğrenmek isteyenlerin yazılım dünyasına basit ve keyifli bir giriş yapmasını ve algoritmaların nasıl yazıldığını öğrenmesini amaçladım. Tabii ki her şeyde olduğu gibi yazılım yapmak da pratikle pekiştirilmesi gereken bir konu, İnternetten okunan kod satırlarıyla yetinip bir şeyler yapmaya çalışmak birazcık abes kaçacaktır. O yüzden serimin yazılarına ek olarak bir de alıştırmalar sayfası hazırlamaya karar verdim. Serim ilerledikçe farklı seviyelerde alıştırmalar ekleyerek yazılıma henüz yeni giriş yapanların öğrendiklerini pekiştirmelerini amaçlayacağım. Verdiğim alıştırmaları tam anlamıyla çözmeniz ve ilgili konularını tam anlamıyla kendiniz öğrenmeniz açısından spoiler vermeyeceğim :) Bu alıştırmaların tamamını Flowgorithm'de yapmanızı öneriyorum. Başlıyoruz. Başlangıç Seviyesi Alıştırmalar Temel kişisel bilgilerinizi (ad, soyad, doğum tarihi) girdi olarak alıp ekrana yazdıran bir program yapın. Daha sonra bu programı yanl...

Algoritmaya Giriş #4 - Diziler

Resim
Algoritmaya Giriş  serisinin ilk üç yazısında algoritmanın ne olduğuna değinmiş, girdi/çıktı işlemlerinin nasıl olduğunu anlatmış ve değişkenlerin ne olduğundan ve nasıl kullanıldığından bahsetmiştim. Ancak değişkenler konusunda bahsettiklerim dört temel değişken olan string, integer, real ve boolean ile sınırlıydı. Bu değişkenler tek bir değer tutuyor ve bu değer üzerinden işlem yapmamıza izin veriyorlardı. Ancak bunlara ek olarak bu türlerden birden fazla değer tutup bu değerlerin hepsi üzerinden işlem yapmamıza olanak tanıyan yapılar da yazılım dünyasında sıkça kullanılmakta. Bu yapıların en temeli ise diziler. Diziler sayesinde aynı türden birden fazla değer tutup bu değerleri ihtiyacımız oldukça kullanabiliyoruz ve daha komplike yazılımlar ve algoritmalar yapabiliyoruz. Bu yazıda tabii ki Flowgorithm aracılığıyla dizilere temel bir giriş yapacağım. Dizi Tanımlama Flowgorithm'de dizi tanımlamak için öncelikle Flowgorithm'i açıyoruz. Ardından Main ve End arasındaki oka tıkla...

Algoritmaya Giriş #3 - Değişkenler

Resim
  Algoritma kavramıyla tanıştıktan  ve  algoritmamıza girdi verip ondan çıktı almayı öğrendikten  sonra sıra geldi yazılım değirmenini döndüren değişkenlere. Flowgorithm aracılığı ile yazılım dünyasının yapıtaşı olan dört temel değişken türünü bu yazıda anlatıyor olacağım. Değişken Ne? Yazılım dünyasında "değişken" denen şey, ortaokulda ve lisede çıkan cebir problemlerindeki "x" ve "y" ile hemen hemen aynı şeydir. Bu elemanlar bir değer tutar ve bu değer, isimlerinden de anlaşılacağı gibi, değişebilir. Önemli bir değere değerin kendisini girmeden ulaşmamızı sağlarlar. Ancak asıl çalışma mantıkları bundan biraz daha karmaşıktır, ki "değişken" denen şey aslında bu değerleri bilgisayarın belleğinde tutmaya yarar. Bu değerler bilgisayardaki "RAM" dediğimiz ve Türkçe açılımı "Rastgele Erişimli Bellek" olan donanım parçasındaki boş bölgelerde tutulur. Bu değerlere ayrılacak alan değişkenin türüne ve eğer bu değişken bir dizi ise diz...

Algoritmaya Giriş #2 - Girdi ve Çıktı

Resim
  Bir önceki yazı da "algoritma" kavramını konuştuk. Artık bu yazıda, hiç vakit kaybetmeden, ilk algoritmamızı birlikte oluşturmaya başlayabiliriz. Bunun için, üniversite eğitimimin ilk döneminde tanıştığım ve Bilgisayar Bilimine Giriş dersinde kullandığımız  Flowgorithm  isimli iş akışı (flowchart) uygulaması üzerinden gideceğim. Son derece basit arayüzü ve programınızı çalıştırmak için kullanabileceğiniz yerleşik ekranı sayesinde Flowgorithm sizlere çok güzel bir ilk programlama deneyimi yaşatacak. Dediğim gibi, kişisel tecrübeye dayanarak söylüyorum bunu. Flowgorithm'i indirip yükledikten (veya .exe olarak yerleştirdikten) sonra artık ilk programımızı oluşturmaya başlayabiliriz. "Hello, World!" Evet, programlama dünyasının en ünlü cümlesi burada karşımıza çıkıyor. Ancak bu kez karşımıza biz çıkaracağız. Yukarıdaki fotoğrafta gördüğünüz arayüz Flowgorithm programına ait. Üstteki çubukta en solda dosya açma ve kaydetme (dosya uzantısı .fprg) ve onun yanında çal...

Algoritmaya Giriş #1 - Algoritma Nedir?

 Yazılım dünyasının yapıtaşı diyebileceğimiz kavramlardan birisi olan "algoritma" kavramı, 9. yüzyılda yaşamış bir matematikçi olan El-Harezmi 'nin isminden türemiştir. Kelime anlamı olarak "bir sorunun parçalara ayrılan çözüm yolu" demektir. Algoritma kavramı genel olarak yazılımda kullanılsa da, yazılıma aslında hayatımızın içinden girdiğini söylemek mümkündür. Yazılım da bir nevi matematikten türediğine göre, hayatımızdan önce matematiğe, daha sonra da yazılıma geçmiştir gibi bir önermede bulunulabilir. Bir kutuyu yerden alıp daha yüksek bir yere koymak istediğinizi düşünün. Bunun için yapacağınız şeyler sırayla şunlardır: Kutunun önünde durup uygun pozisyonda * yere çömelirsiniz. Ellerinizi kutunun altına konuşlandırırsınız (kutunun kaldırdığınızda düşmemesini sağlayacak şekilde) Kutuyu tutarken bacaklarınızı kullanarak ayağa kalkarsınız. Eğer koyacağınız yer sizden yüksekse kutuyu koymak istediğiniz yere gider, kutuyu kollarınızla yükselterek yerine koyarsı...