Pascal (5)
Retro bilgisayarPROGRAM 1
Programımızda MİLYONLİRA belirtecini sabit olarak tanımlıyoruz. GÜNLÜKÜCRET, TOPLAMÜCRET değişkenlerinin veri tipi REAL, ÇALIŞILANGÜN değişkeninin veri tipi ise INTEGER. GÜNLÜKÜCRET değişkenini her gün ödenilen ücreti saklamak için kullanıyoruz. ÇALIŞANGÜN değişkeninde o ana kadar çalışılan gün sayısı saklanıyor. TOPLAMÜCRET değişkeninde o ana kadar kazanılmış olan toplam para saklanıyor.
Hesaplamalara başlamadan evvel çalışılan gün sayısını ve toplam ücreti sıfıra eşitliyoruz. Günlük ücrete 1 değerini veriyoruz. GÜNLÜKÜCRET := 1.0; ÇALIŞANGÜN := 0; TOPLAMÜCRET := 0.0 komutları ile istediğimiz atamaları yapmış oluyoruz.
Hesaplamalarımız TOPLAMÜCRET değişkeninin değeri MİLYONLİRA belirtecinin değerinden küçük olduğu sürece devam edecek.
PROGRAM 2
Bu programımızda çubuk grafiği çizdirmeyi amaçlıyoruz. Programımız veri olarak REAL tipte sayılar kabul edecek. -1 özel değerini verinceye kadar veri girişi devam edecek.
Programımızda BASKI değişkeninin tipi INTEGER, bu değişkende kaç tane yıldız basacağımızı saklıyoruz. SAYI değişkeninin tipi ise REAL, bu değişkene veriler okunuyor. ROUND fonksiyonu sayesinde okunan veriyi en yakın tam sayıya çeviriyoruz. Elde ettiğimiz bu değer BASKI değişkenine eşitleniyor. SAYAÇ değişkeninde ise işlediğimiz verilerin sayısını tutuyoruz. Son olarak I değişkeni de FOR döngüsünde sayaç görevi yapıyor.
PROGRAM 3
Programımızda YIRMİBİR oyununun simulasyonunu yapacağız. Bu oyunda oyuncuya ilk başta iki kart verilir, daha sonra oyuncu isterse başka kart alabilir. Oyunun amacı elinizdeki kartların değerlerinin mümkün olduğu kadar yüksek olması, ancak bu değer 21'i geçmemeli eğer 21'i geçerseniz PATLAR ve oyunu kaybedersiniz.
Her dönüşte oyuncu isterse yeni bir kart alabilir isterse almaz. Eğer oyuncu 21'i geçeceğinden korkarsa artık kart almaz.
Oyundaki dağıtıcı da oyuncu gibi oynar fakat oyuncunun sahip olduğu alternatiflere sahip değildir. Dağıtıcının elindeki kâğıtların değeri 16 veya bundan daha düşükse dağıtıcı yeni bir kart almak zorundadır. Bu durumda dağıtıcının eli 16'dan büyük ama 21'den küçük-
se dağıtıcı da kâğıt almayı durdurur. Dağıtıcının elindeki kartların değeri 21'den büyükse dağıtıcı patlar.
2 ile 10 arasındaki kâğıtların değeri üstlerindeki değere eşittir. Diğer kartların değeri 10'dur. AS duruma göre 1 veya 11 değerini alır. Eğer elinizdeki değer 21'i aşmıyorsa 11 olarak sayılır aksi takdirde 1 olarak değer kazanır.
Programımızda kullanıcıdan, çekilen kartların değerlerini girmesini isteyeceğiz. AS geldiğinde 1 olarak giriş yapacağız, bunun 11 veya 1 sayılmasına program karar verecek.
Program çekilen kartların sonucunda dağıtıcının durumunu ve elindeki kartların değerini bildirecek.
Programda SAYAÇ değişkeninde çekilen kartların değeri toplanmakta, KART değişkeninde çekilen kartın değeri saklanmakta. AS değişkeni Boolean tipinde olup, AS kartın 1 veya 11 sayılmasının kararında kullanılacak. AS değişkeni programın başında FALSE değerine atanacak.
Aldığımız kart değerleri 21'i aşarsa ve daha evvel bir AS 11 olarak sayılmışsa bunu 1 olarak saymalı, dolayısıyla SAYAÇ değişkeninden 10 çıkarıp AS değişkenini FALSE'a eşitlemeliyiz.