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

 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ıştırma (> işareti) ve adım adım çalıştırma (>| işareti) butonları var. Flowgorithm programını kullanırken en çok yararlanacağınız butonlar bunlar olduğu için bunları önden söylüyorum, ihtiyaç olduğu takdirde diğer butonların işlevlerini de kısaca bu seride anlatıyor olacağım.

Ekranın ortasındaki grafik ise programımızın akış çubuğu. Bu boş bir program olduğu için sadece başlangıç ve son kutucukları var, bunlar programın çalışmaya başladığı ve programın sonlandığı noktayı belirtir. Bizi asıl ilgilendiren kısım ise Main'den End'e giden ok işareti. Bu okun üstüne tıkladığımız zaman karşımıza çıkan menü bizim Flowgorithm içerisinde program oluşturmak için kullanabileceğimiz blokları gösterir.


Bu yazıda bizi ilgilendirenler ?input? ve Output blokları olacak, diğerlerinden de serinin ilerleyen yazılarında bahsediyor olacağım. Bunlar sırayla kullanıcıdan girdi alma ve ekrana yazı yazdırma işlevlerini gerçekleştiren bloklar. Programlama eğitiminin geleneklerine sadık kalarak önce Output bloğunun nasıl kullanıldığını anlatacağım.

Bu menüde Output bloğunun üstüne tıklayarak Output bloğunu programımıza ekliyoruz. Akabinde Output bloğunun üstüne çift tıklayarak aşağıdaki menüyü açıyoruz:








Bu menüde Output bloğunun içine yazacağımız ifadeyi belirtiyoruz. Burada amacımız "Hello, World!" yazdırmak. Bu yüzden menüdeki kutucuğun içine yukarıdaki ekran görüntüsünde olduğu gibi "Hello, World!" yazdırıp "OK" tuşuna basıyoruz.

NEDEN HELLO, WORLD! DEĞİL DE "HELLO, WORLD!"?: Çünkü "Hello, World!" bir string (sözlü) değer olarak geçer ve string değerlerin başında ve sonunda çift tırnak (") kullanılarak yazılması standartlaştırılmış bir uygulamadır. String değerlerin çift tırnaklar içinde yazılması;

  • Birden fazla kelimeden oluşan string değerler oluşturmaya olanak tanır.
  • String değerleri değişkenin isminden ayırır. Yazılım dünyasında isminde birden fazla kelime olan değişkenlerin tanımlanması işlemi ya snake case ile (degisken_adi) ya da camel case ile (degiskenAdi) yapılır.
Bu menüde ayrıyetten bir "New Line" kutucuğu görürsünüz, ki o da bir Output bloğundaki metinin bir sonraki satıra yazdırılıp yazdırılmama durumunu belirler. Bu özelliğin bilgisayar dünyasındaki karşılığı "\n" karakteridir ve "new line" anlamına gelir, bunu da önceden belirtmiş olayım.

Metinsel ifademizi girdikten sonra "Run" (>) butonuna bastığımızda uygulamamızda bir konsol açılacak ve konsolda karşımıza çıkan ifade aşağıdaki gibi olacak. Uygulamanın kodunun da görülmesi adına Flowgorithm ve konsol ekranlarını yan yana koydum:



Yukarıda görmüş olduğunuz gibi uygulamamızın tek bir işlevi var, o da ekrana "Hello, World!" yazdırmak. Ki yazdırdı da zaten😅 Aşama aşama anlatacak olursam:

  1. Uygulama "Main" bloğuna girerek başladı
  2. Main bloğundan çıkan uygulama "Output: "Hello, World!" bloğuna girdi ve ekrana "Hello, World!" yazdırdı
  3. Uygulama başka hiçbir blok olmadığı için direkt "End" bloğuna girdi ve sonlandı.
Şimdi uygulamamızı bir adım ilerletelim. Output: "Hello, World!" bloğumuzun altındaki ok işaretine tuklayıp yeni bir Output bloğu ekleyelim ve o bloğun menüsünü açıp başka bir şey yazdıralım, ben "Programming is Fun!" yazdırdım. "OK" diyerek metinsel ifadeyi kaydedin ve programı çalıştırın.



Yukarıda "New Line" kutucuğu ikinci Output bloğu için tikli kaldığı durumda karşımıza çıkacak olan sonucu görüyorsunuz. Program bu kez Main bloğundan çıktıktan sonra ekrana önce "Hello, World!", sonra "Programming is fun!" yazdırdı. Ancak her iki Output da "yeni satır" modunda olduğu için programımız her iki metni de alt alta yazdırdı.

Şimdi "Hello, World!" yazdıran Output bloğunu açalım ve onun "New Line" tikini kaldıralım. "OK" tuşuna basıp kaydettiğimizde blokta yazan metnin sonuna bir üç nokta ekleyecek ki, bu da bir sonraki metnin o metnin hemen ardına yazılacağı anlamına gelir. Yani karşımıza şöyle bir şey çıkmalıdır:


Bu örneğimizde ise karşımıza tek bir metin kutucuğu içerisinde "Hello, World!Programming is fun!" metni çıktı. Flowgorithm aracılığıyla ekrana yazı yazdırma örneğimiz bu şekilde.

Adın Ne?

Çıktı konusunu hallettiğimize göre artık programımıza girdi verme konusunu öğrenebiliriz. Bunun için (isteğinize bağlı olarak bir önceki demonuzu Ctrl+S ile kaydettikten sonra) "File > New" diyerek yeni bir boş program oluşturalım.

Programımızı oluşturduktan sonra Main ile End arasındaki oka tıklayalım. Ancak bu kez ilk ekleyeceğimiz blok "Variables" alt başlığı altındaki "Declare".



Eklediğimiz "Declare" bloğunun üstüne çift tıkladığımızda karşımıza yukarıdaki menü çıkacak. Bu menüde tanımlayacağımız değişkenin ismini, tipini ve dizi olup olmadığını belirleyebiliyoruz, ki serimizin bir sonraki yazısı da değişkenlerle ilgili olacak. Kullanıcıdan isim alacağımız için, şimdilik değişkenin türünü "String" olarak belirleyen yuvarlağı işaretlememiz yeterli olacaktır.

Daha sonra Declare'nin altındaki oka tıklayıp ?input? bloğu ekliyoruz. Sonra eklediğimiz girdi bloğunun üstüne çift tıklayarak az önce tanımladığımız değişkenin adını karşımıza çıkan menüye yazıyoruz.



Daha sonra alacağımız ve name değişkenine atayacağımız değeri Output bloğu aracılığıyla ekrana yazdıracağız. Flowgorithm'de bir metinsel ifadeyle bir değişkeni birlikte yazdırmak için aralarında "&" işareti kullanılır. Bu işareti klavyenizdeki Shift ve 6 tuşlarına aynı anda basarak yazabilirsiniz.

Biraz daha kullanıcı dostu olması adına girdi bloğundan önce bir soru yazdıran bir Output bloğu ekleyerek aşağıdaki gibi bir program şeması elde edebilirsiniz:



Bu programın nasıl çalıştığına gelince:

  1. Program "Main" bloğuna girerek başlamış olur.
  2. "name" isimli bir String değişkeni tanımlanır.
  3. Program birinci Output bloğuna girerek "What is your name?" yazdırır
  4. Program name değişkenine atamak üzere kullanıcıdan değer alır
  5. Kullanıcıdan alınan değer name değişkenine atanır ve ekrana yazdırılır.
  6. End bloğuna girilerek program sonlandırılır.



Programımızın çalışması konsolda bu şekilde görünecek. Burada sağdaki (yeşil) mesaj balonları programa, soldaki (mavi) mesaj balonları ise kullanıcı girdisine aittir, bu bakımdan bir sohbet uygulaması (örn WhatsApp, Messenger vb.) gibi tasarlanmış diyebiliriz😁 Ve yine tıpkı bu mesajlaşma uygulamaları gibi kullanıcı girdisi sohbet ekranının altındaki kutucukta kullanıcı tarafından yazdırılır ve "Enter" tuşuna basılarak veya sağdaki buton kullanılarak programa gönderilir.

Yaptığınız demonun her bir aşamasını tek tek görmek isterseniz tek tek Step (>|) butonuna basarak bunu yapabilir ve algoritmanızın çalışmasına daha yakından bakabilirsiniz.

Flowgorithm aracılığıyla girdi ve çıktı işlemleriyle ilk algoritmalarımızı yazma işlemi bu şekildeydi. Bir sonraki yazımızda Flowgorithm aracılığıyla değişkenleri ve bu değişkenlerin nasıl kullanıldığını işliyor olacağız.

Eğer bu seriyi faydalı bulduysan yeni yazılar geldiğinde haberdar olmak için buradan blogumu takibe alabilirsin.

Yorumlar

Bu blogdaki popüler yayınlar

Algoritmaya Giriş #8 - Özyinelemeli Fonksiyonlar

Algoritmaya Giriş #6 - Döngüler

Algoritmaya Giriş #4 - Diziler