Commodore sayı 41, sayfa 62
Sayfanın metni

Sayfa 62

VIRGULDENSONRASIZ 123,4567 ya da DEGER — 123,4567 VIRGULDENSONRASIZ komutları yeterlidir. Ekranda 123 değeri görünecektir. Eğer BASIC bir komutu tanımıyorsa, bu isimde bir prosedürü arayacaktır. Bu, prosedü Tün ilk satırında PROC sözcü; hemen ardında yer alıyor. Eğer bu tanınmayan komutun ardında bazı veriler de varsa, bunlar prosedür adının ardından gelen parantez içindeki değişkende saklanır. Verilerin bu şekilde bir prosedüre aktyarılması işlemi, “parametrelerin aktarımı” olarak da adlandırılır. Prosedürün yerine getirilmesinden sonra daha önceki bilinmeyen komuttan hemen sonra gelen komut yerine getirilir. Son verilen komutla program akışı içine prosedürlerin alınması da “prosedürlerin çağrılması” olarak adlandırılır.

Ama kural olarak programcı vi gülden önceki haneleri basmak deği daha ileride kullanılmak üzere bir değişkene atamak ister. Bu işlem fonksiyonlarla yapılabilir, ama AMIGA BASIC'te buna olanak yoktur. Bu bağlamda AMIGA BASIC biraz zayıf kalmaktadır. Şimdi vereceğimiz örneği denemeye kalkışmayın, çünkü zaten çalışmayacaktır.

Bu örneğin farklı olduğu noktalar, FUNC tanımlaması ve sondan bir evvelki satırdır. Fonksiyona da bir de-

“ğer aktarılmaktadır. Prosedürden farklı olarak bir fonksiyon RETURN ile bir değeri geri verir. Ama çağıran komut bu değerin ne yapılması gerektiğini belirtmek zorunda olduğundan, bir fonksiyon çağrısı bir prosedür çağrısından farklı bir görünümdedir.

Örnek: YALNIZVIRGULDENONCE — VIRGULDENSONRASIZ(123,4567) ya da PRINT VIRGULDENSONRASIZ (123,4567)

Bir fonksiyona aktyarılacak olan değerler (parametreler) kural olarak parantez içinde yazılır. Son komut ayrıca prosedürle aynı sahiptir. Fonksiyonlar ve prosedürler, çok pratik olmaları nedeniyle, tüm programlama dilleri bunlardan bir sürü oluşturmuş durumdadır. Örneğin BASIC dilinde INT fonksiyonu vardır. Bu fonksiyon bir sayının virgülden sonraki hanelerini keser:

PRINT INT (765,4321)

Prensip olarak BASIC'te her oluşturulmuş komut bir prosedürdür. Bu cümle biraz kaba olabilir, ama AMImutu teşhis eder ve tanıdıktan sonra gerekli adımları yerine getirecek olan bir iç prosedürü çağırır. Bu iç prosedürler ve fonksiyonlar ve hatta BA-SIC'in kendisi, bellekte makine dili komutları halinde bulunurlar. Mikroişlemci bunları anlayabilir ve yet ne getirebilir. Bu iş bu kadar basit. BASIC'te her komut için karşılık gelen bir iç prosedür yoktur. Prosedürlerin birçoğu AMIGA'nın ROM'- unda (Read Only Memory- Salt Okunur Bellek) bulunur. Bunlar fonksiyonlarına göre kitaplıklarda (İngilizce: Library) biraraya toplanmış durumdadırlar. Örneğin çizgiler, dikdörtgenler ve çemberler çizmek için grafik komutlar “graphics.library”'de bulunur. Ekran ve pencere yönetimini ise “intuition.library”'nin prosedürleri üstlenmiştir.

Mondrian

BASIC programını terketmeden önce, yeteneklerinden son bir örnek verelim. Aşağıdaki döküm, “az emek harcayarak, çok verim elde etmek” sloganına oldukça uygundur:

WHILE INKEY$- “ ”

xl - RND * 630 x2 — RND * 630 yl — RND * 200 y2 — RND * 200

f #RND*3 4 0.4 LİNE (x1,y1)-(x2,y2),f,bf

FUNC VIRGULDENSONRASIZ GA'da BASIC'i anlayabilmenin WEND (SAYI) anahtarı da bu cümlededir. S — SAYI BASIC'in kendisi de bir — AMIGA BASIC'in en basit ve ay- WHILES <- 1 dır. BASIC'in bir kısmı (büyükçe bir — nı zamanda en çokyönlü grafik ko- S - prosedür), kullanıcıya BASIC dö- — mutlarından biri LINE'dır. LINE ile WEND kümleri alma olanağı verir. Bu kıs- — hem çizgiler hem de dikdörtgenler çi- SAYI — SAYI—S ma editör adı verilir. Kullanıcı prog- zilebilir. Bu iş için LINE'ın 1. köşe, RETURN S ramının başlangıcında BASIC prog- — 2. köşe ve renk parametrelerine ihti- END FÜNC ramı, tek tek her satırı “görür”, ko- — yacı vardır. Örneğin; 001100141 11111001 (MOVE) 00000000 00000000 (707) MOVE 707,4711 ÇEVİRMEN 00000010 11000011 00000000. 00000000 (4711) 00010010 01100111 Assembler ASSEMBLER Makine dili

Assembler komutları işlemci komutları için kolayca anlaşılabilecek ifadelerdir.

Klavyeyle gezinmek için ← ve → tuşları.