Kayıtlar

Mart, 2024 tarihine ait yayınlar gösteriliyor

Algoritmaya Giriş #8 - Özyinelemeli Fonksiyonlar

Resim
  Algoritmaya Giriş  serisinde  fonksiyonlar a giriş yaptıktan sonra sıra bu yapıların oldukça iyi bilinen bir kullanımına geldi. Bu şekilde kullanılmak için yazılan fonksiyonlara "özyinelemeli fonksiyon" veya "kendini çağıran fonksiyon" denir. Aslında adlarından ne olduklarını ve nasıl yazıldıklarını aşağı yukarı tahmin ediyorsunuzdur, ancak bu yazıda sahne tamamen onların, o yüzden onları çok iyi tanıma şansınız olacak :) Özyinelemeli fonksiyonlar belli bir davranışı belli bir kere tekrarlayabilmek için bir değer üzerinden tekrar kendini çağıran fonksiyonlardır. Aldıkları değer üzerinden belli bir işlem gerçekleştirirler ve bu işlemin sonunda değerin aldığı değişime göre aynı işlemi ya da farklı bir işlemi gerçekleştirmek için kendini yeniden çağırarak başa sarar. Kendisine verilen problemi kendini yeniden çağırarak çözen bu fonksiyonlar, isimlerindeki "öz"yinelemeli kısmını da buradan alır. Özyinelemeli Fonksiyonların Oluşturulması Yazının bu başlığında...

Algoritmaya Giriş #7 - Fonksiyonlar

Resim
 Evet,  Algoritmaya Giriş  serimizde şimdiye kadar algoritmanın ne olduğu, girdi ve çıktı işlemlerinin nasıl yapıldığı, değişkenlerin nasıl tanımlanıp kullanıldığı ve koşul ile döngü yapılarının tanımı ve kullanımına işledik. Buraya kadar olan kısım, algoritma yapmayı öğrenmenin "emekleme zamanı" denilebilecek kısmını oluşturuyor. Ancak artık bu yazı ile birlikte emeklemeyi bırakıp yürümeyi öğreniyoruz. Çünkü programlamanın son derece önemli bir yapıtaşı olan fonksiyonlar a geçiyoruz. Fonksiyonların programlama dünyasındaki önemi kesinlikle yadsınamaz bir düzeydedir. Temel amaç tekrarlı kod bloklarını tekrar tekrar yazmayı önlemek olsa da, sağladığı faydalar bunlardan fazladır. Fonksiyonlar tıpkı değişkenler gibi isimlendirilebildiklerinden dolayı hangi alanda hangi algoritmanın çalışacağını belirlemeniz kolaylaşır. Yaptığınız yazılımın her bir davranışını belli parçalara ayırırsınız. Bunları sağlamanıza izin verdiğinden dolayı fonksiyonlar son derece önemli ve kullanışlı...

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...