Bu sayfadaki yazılar
Sayfanın metni
Sayfa 51
İşte geldik dizimizin en heyecanlı yerine. 320*200 tekrenkli ve 160*200 çokrenkli grafik kullanımına. Başlıyoruz...
Daha önce de hafifçe değindiğimiz gibi, bu tür grafikte 320*200 = 64000 nokta kullanılır. Her nokta bir BİT olduğuna göre, toplam 64000 bit'e, yani 8000 byte'a ihtiyacımız var. Bu da yaklaşık 8K hafıza demektir. Bu hafızanın, daha önce gördüğümüz adresleme bölgelerinin kaydırılması ile ilgili bilgilerin ışığı altında, bilgisayar içinde 8 değişik adresten başlayabileceğini biliyoruz. Bunların ilki kullanılmıyordu, çünkü $0000'dan başlayan bu bölge işletim sistemi için çok önemliydi. Biz de diğer 7 bölge ile yetineceğiz. Şimdi geldik işin en çetrefilli yerine. Bu grafik hafızasının organizasyonu oldukça karmaşık bir yapıya sahip. Anlamak için lütfen gayret edin. Önce yanda verdiğimiz tabloya bakın.
Bunlar ne demek? Tablodaki noktaların her biri, grafik ekranın bir noktasına karşılık geliyor. Örneğin (0,0) koordinatları en sol üst köşedeki noktayı gösterir, (0,1) ise onun altındakini. Gördüğünüz gibi noktalar 8*8'lik alanlara ayrılmış durumdalar. Bu si-
Tuna ERTEMALP size bir şey hatırlatıyor mu? Mesela, 8*8'lik karakter tanımlamalarını?.. Dolayısıyla yazı ekranın satır ve kolon yapısını... İşte tablomuzda o satır ve kolonları da görebiliyorsunuz. Gene tabloda gördüğünüz yanyana duran 8'er noktanın oluşturduğu her bir grup, bir byte'a karşılık geliyor. Her bir byte'ın içindeki bit'lerin numaralanmasına dikkat! En soldakine 7, en sağdakine de 0 adı veriliyor. Sıra geldi byte'ların dizilişine. Grafik ekranında her 8*8'lik grubun, yazı ekranındaki bir karakterlik bölge gibi düşünülebileceğini demin söyledik. İşte bu bölgelerin her biri, üstüste konmuş 8 byte'dan oluşur. Bu 8 byte'-
Yazıya ilişkin programları Döküm Eki'nde bulabilirsiniz.
ın hafıza içindeki adresleri arka arkaya gelir. Sonra gelen 8 byte, bir sonra gelen 8*8'lik alanı tanımlar. Böylece 40 kolon da bitince, sıra alt satıra gelir. Bu arada grafik ekranının ilk 8 satırı da tamamlanmıştır. 9-16 arası grafik satırları gene 8*8'lik bloklar halinde 8'er byte tarafından tanımlanır. Bunu bir örnekle görelim. Diyelim ki grafik ekranımızı $2000 (8192) adresinden başlattık. (0,0) koordinatı, 8192 + 0 = 8192 adresli byte'ın 7 numaralı bit'i olacaktır. (2,4) koordinatları, 8192 + 4 = 8196 adresli byte'ın 5 numaralı bit'i olacaktır. Peki, (15,15) koordinatı ne olacak?
! ! ! ! ıı RX 1912324567! 189012345! 167890123!... YI IKOLON IKOLON 1 |! IKOLON 2 ! 1 1BİT'ler !76543210! 176543210! 176543216! © © G8 IBYTE 16 ! 1 1 9 17 ! 8 !T!BYTE 8 10 18 ! 2 2 İl İ........!BYTE 19 ! 4 !R!BYTE 4 12 !........!BYTE 20 !........ ! 5S! 5 13 !........!BYTE 21 !........ ! 6& !8!BYTE & 14 22 ! 7 7? 15 !........ IBYTE 283 ! 8 !S!IBYTE 320!........!BYTE 321!........!BYTE 329!........ 1 9 !BYTE 330!........ ! | 10!T!BYTE 322!........!BYTE 223!........!BYTE 331!........! 323!........!BYTE 3241........ !BYTE 322!........ ! 12!R!BYTE 324!........!BYTE !BYTE ! 13! !BYTE 325!........!BYTE 326!........!BYTE 334!........ 1 14!1!BYTE 326!........ IBYTE 327!........!BYTE 1 15! !BYTE 227!........!RYTE 328!........!BYTE 336!........ ! 1 1
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 50
+ Toplama - Çıkarma * Çarpma / Bölme
SANT := SANTINCH * INCH; SANT değişkenine SANTINCH ve INCH değişkenlerinin değerlerinin çarpımı eşitlenmektedir. Bu işlem yapılmadan evvel SANTINCH ve INCH değişkenlerine geçerli değerler eşitlenmelidir. Bu da örnek programımızda yapılmıştır. PASCAL'da şu tip bir atama komutu kullanmak mümkündür:
TOPLAM :- TOPLAM * VERİ;
Burada TOPLAM değişkeni ":=" işaretinin her iki yanında da bulunmaktadır. Bu elbette ki bir aritmetik işlem değildir. TOPLAM değişkeninin şu anki değerine VERİ değişkeninin değeri eklenerek tekrar TOPLAM değişkenine eşitlenir.
Readln Komutu
Eğer bir bilgi ilk önce bilgisayarın hafızasına alınmazsa bilgisayar tarafından işlenemez. Bir veriyi bilgisayarın hafızasına yerleştirmenin üç yolu bulunmaktadır: Veriyi sabit olarak kullanma, veriyi bir değişkene yerleştirme veya veriyi okuma (READ). İlk iki metot, kullanılacak değer program her çalıştırıldığında aynı olacaksa kullanılabilir. Eğer program her çalıştırıldığında değişik değerler kullanmak istiyorsak, o zaman verileri program çalışırken bilgisayara okutmalıyız.
Örnek:
Programımız çalışması sırasında bu komuta geldiğinde sizin bir değer girmeniz için bekleyecektir. Bir değer girdikten sonra RETURN tuşuna basmalısınız.
readIn (veri-listesi);
Açıklama: Veri listesinde yer alan bütün değişkenlere sıra ile girilen değerler eşitlenecektir. Veri listesindeki değişkenleri ayırmak için virgül kullanacağız. Veri listesindeki her değişken için mutlaka bir değer girilmelidir. Verilerin giriliş sırasının değişkenlerin sırasına uyması gerekmektedir. Sayısal değerleri girerken her bir değerin bitiminden sonra bir boşluk bırakılması gerekir. Değişkenin veri tipi karakter ise bilgisayara giriş yaparken boşluk bırakmanız gerekmez. Şimdilik hoşça kalın.