MATRİS
Bilgiıayartn in yaygın kullanıldığı alanlardın biri d> matris aritmetik iılaal layııı ve eletin «ayıtı arttıkça mıtrisler üzerinde elle işlem yapmak gii öyıı, bu işlemlerin bilgi sayarda yapısı, hem güvenilirlik he# de zum tatarı büyük yararlar sağlamaktadır. Aşağıdaki birkaç matris tanıtından sonra bilgin işlemlerinin nasıl yapıldıklarını göreceği;.
Matris iki boyutlu indisli değişkendir. Tanıtlamaları için 1.1.3.2 deki indi kuralları aynen gecerlidir. Aşağıda 5 X 5 lik bir matris örneği veri itiştir.
olanlar HAT lieyiaini kullanaaıyacaklardır, Daha sonra HAT deyiai v* HAT deyiaini kul 1 maadan, bu isletlerin nasıl yapılacağı örneklerle açıklanacaktır.
Tablo-7 deki illetlerin yapılabilmesi için 0PTI0N BftSE ve DIH deyialeri ile altta gösterildiği gibi aatrislerin önceden tasıılanaası iboyutlanaası) gerekmektedir.
10 OPTION BASE i 20 DIH A<10,20),BUO,20>
Tablo-7 HAT …. Oeyieleri Tablosu
HAT READ A,0 Daha önce boyutlanaıs A ve B aatris eleaanlarının değerlerini DATA deyimlerinden okuaak için kullanılır. Okuu isleti birinci sıra bittikten sonra 2. sıra okunacak şekilde yapılır.
HAT INPUT A,B Daha önce boyutlanaıs A ve B aatris eleaanlarının değerlerinin klavyeden giriİtesi için kullanılır. Okuta sırası HAT READ dekinin aynısıdır.
HAT PRINT A,B Daha önce boyutlanaıs ve eletanları belirlenıis A ve B aatrislerinin çıkı* birialerinden yazdınlaası için kullanılır. Yazılı» sırası okuta sırasının aynısıdır.
HAT A – B A aatrisini B aatrisine eşitler.
HAT C = A+B A ve B aatrislerinin toplaaını C ye atar.
HAT C * A-B A aatrisinden B aatrisini çıkarır sonucu C ye atar.
KAT C = A*B A ve B aatrislerinin carpıtmı C ye atar.
HAT C = At İS) A aatrisini S sayısal sabiti ile çarpar.
HAT C » TRN(8) B aatrisinin transpozunu C ye atar.
HAT C * 1NV(B) B aatrisinin tersini C ye atar.
KAT C = ZER C aatrisini sıfırlar.
HAT C > CON C aatrisinin bütün eleaanlarını bire eşitler.
HAT C * IBM Biria aatrisi C ye atar.
HAT C * Dfcf C aatrisinin deterainantını C<0,0) a atar.
Acıklaaalardi di ınlıtıldığı gibi yalnu bir dıyiı ili çırpı# ”#Y’ yıpvllbiİliklidir. HAT dıyialni kullanaıyın 1 «fıçılardı bu illnlır •* !*, kuralları dikkat» ahnank yitilin prognılırlı yapılır, Bu kurallar vı ^rna>Iltl ıcıklanuıtır.
HitriılırinDkutulıaıı
A vı B aatrisi erinin okutulıau iki »akilde di gösterilaijtir.
t. NAT deyiai ile okuaa i (İni 10 OPTION BA8E 1 20 DIR flt3f3),Bt3,3},C13f3>
30 HAT READ A,B
ı
300 DATA 7,20,4,2,1,3,4,7,10 310 DATA 13,20,8,6.1,21,10,12,7,8
NAT İNPUT ile klavyeden değerler tek tek girilerek de okuıa isini yapılabil’
10 OPTION BASE 1
20 DIH A(3,3),B(3,3)(C(3,3)
30 HAT INPUT A,B ‘Klavyeden değerler tek tek girilir.
2. HAT deyiai kullanılaadan okuaa isleai 10 OPTION BASE 1 20 DIH A<3,3),B(3,3),C(3,3)
30 FOR l = 1 TO 3 ‘A aatrisinin sıra sayacı 40 FOR J s 1 TO 3 ‘A aatrisinin kolon sayacı 50 READ A(l,J)
60 NEXT 3,1 :RESTORE 510 70 FOR I c ı TO 3 ‘B aatrisinin sıra sayacı 80 FOR J * l TO 3 ‘B aatrisinin kolon sayacı 90 READ BU,J)
100 NEXT 0,1
500 DATA 7,20,4,2,1,3,4,7,10 510 DATA 13,20,8,6.1,21,10,12,7,8
Hatris eleaanları *50 İNPUT A(1,J)* diziliai ile klavyeden de birer birar gir 11
Matrislerin Yazdın İmi
Yukarıda okutulan A ve B aatrislerinin yazdırılaa iılnlerinin prograa par^*î,n 1 verilaistir, Yukarıdaki prograa ııtır nuaaraUrına kaldığı yardın dıvıa •dili#*
1. NAT deyiai 11c yazdıraa i$l»»i s
40 HAT PRINT A,B ‘A ve B astrislerini satır satır yazdırır.
Her iki aatrisi yazdıraak için bu deyiai ilave etsek yeterlidir.
2. HAT deyiai kullanılaadan yazdıraa i$leai
•
105 PRINT TAB(İO) *ft HftTRİSl”
110 FOR I * 1 Tö 3 120 PRINT TAB(lö)j 130 FOR J * 1 TO 3 140 PRINT AU,J)j Vl 150 NEKT J,I
160 PRINT TAB(IO) ’B HATRtSi*
170 FOR I * 1 TO 3 180 PRINT TAB(IO);
190 FOR J * 1 TO 3 200 PRINT B(1,J);IV;
210 NEXT J,I
Hatrisler LPRINT deyiai ile yazıcıdan alınabildiği gibi PRINT USIN6 deyiai ile istenildiği gibi foraatlanarak alınabilir.
Matris Aritaetik Kuralları ve Prooraa Parçalan
TOPLANA Toplanacak iki aatrisin boyları aynı olaalıdır. Sonucun atanacağı aatrisin boyutları da aynı veya daha büyük olaalıdır. Toplaaa isİ esi için A ve B nin birbirine karsı gelen eleaanları toplanır sonuç C ye atanır.
C(1,J) = A(I,J)+8(I,J) J*1,N }I*1,H Seklinde gösterilebilir.
Yukarıda verilen prograa parçalarına kaldığı yerden devaa edildiği için A ve B aatrislerinin okutulaası ve yazdırılaası tekrar kodlanaaaıştır.
1. HAT deyiai ile toplaaa isleai »
50 HAT C = A+B
2. NAT dıyiai kullınılaadan toplu* itini s
REN A vı B ııtriılıri top İm C yı «tanır vı yazdırılır. PRINT TftB(lO) *C TOPLAN HATRJ91″
FOR I « 1 TO 3 PRINT TAB(IO)}
FOR 3 ■ 1 TO 3 LET C<I,J) » A(I,J)+B(I,J)
PRINT CH.JIfVl NEXT J,I
Toplaaa isielindeki tûı kurallar çıkartaa i$leai için de aynıdır. Yul prograıda yerine işareti kullanılarak gerekli düzeltaılır yapılabilir,
Çarpılacak iki aatrisin, birinin kolon sayısı ile diğerinin »ıtır siy aynı olaalıdır. Çarpsa işlemi itin A nın satır eleaınlan il» B r kolon eleaanlarının çarpışları toplanır. Sonuç C nin o satır vı kol eleaanına atanır.
C<I,J) – C(I,J)+ A(I,K)*B(K,J) K*1,H | J>1,L | 1»1,H Foraülü ile gösterilebilir.
1. NAT dıyiai il» carpıa isini
s
30 NAT C * A»B
•
2. NAT deyiai kullanılaadan carpıa isleai
s
300 REN Natris çarpın
310 FOR 1= i TO N
320 FOR 1 TO L
330 FOR KM TO N
340 C(I,J)= CtI,J)+ A(I,K)*B(K,J)
350 NEXT K,J,I :
Prograa parçasındaki fl,LfN taa sayı değişkenlerine önceden değer atanaılıdır.
NAT deyiai kullanılaadan yapılacak diğer aatris i sİ ellerinin ıritaıtik kurtil CEBIRt kitaplarından öğrenilebilir.
Örnek Probleı; 2.11
A(N,H> ve 81H,L) aatrUUrini çarpan bir prograa yazınız. N,H va L diğerleri girildikten sonra »ırayla A vı B aatrislerinin alnınları da ıkrındın girl Prograaı birinci ura girildiktin sonra ikinci girilacak »»kildi yazınız prograaın carpıı btilüaUnii bir CHAIN dıyiainı bağlanabilıcığini dı dü»ünır«k
300
310
320
330
340
350
360
370
ÇIKARTNA
ÇARPMA
Ctil4» Tekniği ı
A İ H , N ) » B ( N , L ) – C ( H , D
Aı,t Aı,a Aı,3 • Aa.ı Aa,a > • • .
An, ı
Am,n
Tanıaı verilen A ve B aatrislerinde çarpıtın yapılabilfesi ıcin birinin kolon indisi (N) diğerinin satır indisi ile aynı olaalıdır. Su yapıya göre A nın satır eleaanları ile, B nin kolon eleaanlarının çarpışları toplanır, C nin o satır ve kolondaki eleaanına atanır.
Prograaın CHAIN deyiai ile ana prograaa bağlanabilaesi için C aatrisi yazdırılaadan önce CHAIN deyiai kullanılır. Başlangıçta verilen bir kontrol anahtarı ile CHAIN’in bulunduğu bölüa duruaa göre atlanabilir. CHAIN kullanılacaksa, prograa uygulanmadan önce CHAIN’in kütük tanıaı verilaelidir. CHAIN ile bu prograaa bağlanılacaksa aatris çarpıaından önce ikinci bir OPTION BASE tanısı gerekebilir (Bkz. CHAIN deyiai).
Prograa ve Çıktısı ı
10 REN Bu prograa A(H,N) aatrisi ile B(N,L) aatrisinin carpıaını bulur.
Carpıa aatrisi C<H,U dir. CHAIN ile kullanılacağı zaaan kütük tanı» yazılıalıdır.
20 REN Progratın isai «ÇARPINI 30 OPTION BASE 1 40 DEFINT H,N,L,K 50 DIH AI20,20),B(20,20),C(20,20)
60 İNPUT *M,L yi giriniz :a)N,N,L 70 FOR 1=1 TO H 80 FOR 3*1 TO N 90 READ ACM)
100 NEXT J,I iRESTORE 510 110 FOR Is! TO N 120 FûR J=i TO L 130 READ b;i,j:
140 next 3,1
150 KNt” ‘CHAIN ılı1 160 OPTION BASE 1 165 DEFINT H,H,L,K Î70 FOR 1»1 TO H ISO FOR J«1 TO L 190 FOR K«1 TO N 200 C<I,J)= C<IfJHA<I,K)«B<K,J> 210 NEXT K,J,l 220 IF KN*=*CHAIN siz*
240 CHAIN KT»,SNÎ,ALL
THEN 60T0 250
‘CHAIN kullanılacağı zaaan kütük tamu vı ‘prograadaki gideceği satır mıaaraıı o Prı ‘belirlenmelidir.
250 PRINT * A aatrisi 260 FOR I* 1 TO N 270 FOR J=1 TO N 2B0 PRINT Ad.Jlj’ , 285 PRINT *———-
*5
290 NEHT i 300 PRINT
310 mı 1
320 PRINT 1 B aatrisi *
330 FOR 1*1 TO N 340 FOR l TO L 350 PRINT B(I,JI}’ ,
360 NEXT J 370 PRINT 380 NEJtT I
W PBTftlT
390 PRINT ’ Carpıa <0 aatrisi 400 FOR 1*1 TO ff
410 FOR J*1 TO l 420 PRINT CU,l)j’ , •;
430 NEXT J 440 PRINT
450 NEHT I 460 END
500 DATA 1,2,3,4,5,6,7,8,9 510 DATA 2,3,4,5,6,7,8,9,10 Ok RÜN
H,N,L yi giriniz =? 3,3,3 A aatrsi
i , 2 ı 3 ,
4,5,6,
7,8,9,
B aatrisi
Carpıa aatrisi 36 , 42 , 48 , 81 , 96 , (11 , 126 , 150 , 174
2.3.12 ORAFIK
Mikrobilgisayarlarda ekran iki ftrklı ortada kullanılmaktadır ı YAII ortıaı v» 8RAF1K ortamı. Bu ortaçların kullanımını elektronik devreler sağlar. Genelde bu devreler, Börüntö ve Paralel Yazıcı Adaptörü ve Renk/Grafik Adaptörü olarak isimlendirilir.
Hikrobilgisayarlarda ekran için ana bellekte bir bölül ayrılmıştır. Bu bölüme EKRAN ARA BELLE61 denir. Yazı ortamında ekran ara belleği 2 veya 4 K bayt olur. Grafik ortamında 16 K bayta kadar çıkar. Ekran ara belleği sayfalara bölünmüştür. Her sayfadaki veriler ekrana ayrı ayrı çağrılıp görüntülenebilir. SCREEN deyiminde bu özelliğin kullanımı anlatılacaktır.
Yazı ortamında fon ve karakter renklerini değiştirmek mümkündür. ASCII karakterlerinin timü bu ortamda görüntülenebilir.
Grafik ortamının, ekranda istenilen sekli çizdirebilme olanağını sağlayan grafik özellikleri vardır. Bu özellikler ekrandaki tüm noktalar adreslenerek sağlanır.
Ekranda Adresleme
Ekran, yazı ortamı için karakter alanlarına, grafik ortamı için noktalara ayrılmıştır. Grafik ortamındaki bu noktalara PİKSEL adı verilir. Her karakter alanının veya pikselin adresi onun ekrandaki yerini belirler. Adresleme matris elemanlarındaki gibi (kolon,satır) tanımı ile verilir. Ekrandaki karakter alanı veya piksel sayısı görüntü duyarlığını belirler. Yazı ve grafik ortamlarındaki adres tanımlan aşağıda anlatılmıştır.
Yazı Ortamı
Yazı ortamında satır sayısı 24 veya 25, kolon sayısı 40 veya 80 dir. Aşağıdaki şekilde 1. satır
1. kolondki karakter alanı gösterilmiştir t
LOCATE deyiminde yazı ortamındaki adresleme anlatılmstı.
LDCATE 1,1
İmlecin l. satır i. kolona gideceğini tanımlıyordu. P0S(0) ve CSRLIN fonksiyonları da iilscin ekrandaki yerini verirler. Bu fonksiyonlar sonraki bölümlerde anlatılacaktır.
ülDTH deyiai ile ekran kolon sayısının 40 veya 80 olarak tanımlanması sağlanıyordu.
Yaıı ortaaındı, kırıktır ılım teindik! ton vı karakterlerin renklerini d mülkündür. Aynı ««kildi fon vı di* ıınivınin renkleri dı değiıUrÜıbıli önlükler COLOR (yazı ortıaı) deyi«indi *nlıtıla»tı.
Grafik Ortaaı
Grafik ortacında ekran ıdreılenebilen piksellere ayrılaıstı. Yatay ve dikey plkıı grafik ortalının duyarlığını belirliyordu. Lehçelere ve grafik adaptörle dejjisaekle birlikte ORTA ve YÜKSEK olaak üzere iki duyarlık sınırı vardır.
Orta Duyarlık (320,200) piksel, 4 renk Yüksek Duyarlık (640,200) piksel, 2 renk (Kaynak-4)
Bu özellikler lehçelere göre COLOR deyieinde anlatılacaktır.
Ekranda yatay ve dikey piksellerin farklı olusu aynı uzunlukta, farklı «ayıda pı bulunacağını gösterir. Yani 320 yatay pikselin uzunluğu = 200 dikey pikselin denektir. Bu duruau etkileaek için GÖRÜNTÜ ORANI kullanılmaktadır, örneğin orta t 4/3 olan görüntü oranı, dikey uzunluğun 4/3 oranında büyümesini sağlar.
320 yatay pikselin uzunluğu 3 200 * 4/3 dikey pikselin uzunluğu
olur.
Grafik ortaaında adresleae IX,Y) koordinat sisteai ile yapılır. Sol üıt köıa (0, kordinatları ile birinci noktadır. X yatay pozisyonu, Y dikey pozisyonu beli adresleae sekline D06RUDAN ADRESLEME denir. X ve Y nin mutlak değerleri belirtir. İkinci bir adresleae sekli de en son verilen noktaya göre adresleae Ona da GÖRELİ ADRESLEME denir.
STEP (X göreli değeri, Y göreli değeri)
Dizilimi ile kullanılır. En son verilen yatay pozisyonda * X göreli değeri* kadar • değiştirilecektir. Aynı şekilde en son verilen dikey pozisyonda *Y göreli değeı dikey yer değiştirilecektir.
Adresieıede önce yatay sonra dikey pozisyonlarının verildiğine dikkat ediniz.
2.3.12.1 6RAF1K DEYİMLERİ
Bu bölümde 6HBASIC, BASICA, A-BASIC, HSX lehçelerinin grafik deyimleri ortak yör anlatılıştır. Diğer lehçelerin benzer deyialeri her deyiain sonunda verilaiıtir.
SCREEN Deyimi
Aâii
Ekranın hangi ortaada (yazı/grafik) ve hangi duyarlıkta (orta/yüksek) cali belirlemeye yarar. Aynı zamanda renk ve ekran sayfalarını belirtir.
. ısı .
SCREEN <orta*X,<renk anahtarıX,(aktif sayfa><,<göruntu sayfası»»
ortam
0 yan ortasını, i orta duyarlıktaki grafik ortaaını, 2 yüksek duyarlıktaki grafik ortaaını tamalar.
renk anahtarı
Renk anahtarının ortaa değerine göre değişişi :
ORTAK RENK ANAHTARI
0 (yazı) 0 (yalnız siyah beyaz görüntü elde edilir)
0 (yazı) 1 (renkli görüntü elde edilir)
1 (grafik) 0 …
1 (grafik) i (yalnız siyah beyaz görüntü elde edilir)
2 M 0 K 0 » 0 0
aktif sayfa
Yazı ortasında ekranda görüntülenecek çıktı deyişlerinin sayfasının seciaine yarar. Ekran ara belleğinin sayfaları (0-1) ile (0-7) arasında değişaektedir.
görüntü sayfası Hangi ekran sayfasının görüntüleneceğini belirler.
Açıklasalar
Aktif sayfa ve görüntü sayfası tanışlarını vererek bir sayfayı düzenlerken başka bir sayfanın görüntüsüne geçilebilir. Görüntü sayfası dışındaki değerler verilaediği zatan bir önceki SCREEN deyiai değerindekiler kabul edilir.
Dizili» Örnekleri
10 SCREEN 0,1,0,0 ‘Yazı ortasında renkli görüntü sağlar. Aktif ve görüntü sayfaları
0 dır.
20 SCREEN 1,0,0,1 ‘Orta duyarlıktaki grafik ortasında renkli görüntü sağlar. Aktif sayfa 0 a, görüntü sayfası i e ayarlanır.
30 SCREEN 0,0,0,1 ‘Yazı ortasında siyah beyaz görüntü sağlar. Aktif sayfa 0 a, görüntü sayfası 1 e ayarlanır.
lehçeler
A-BASIC
SCREEN <ortasX,<yazı-aktif sayfaX,<yazı-görûntâ sayfası)<,<grafik-aktif sayfa) <,<grafik-görüntü sayfasıX,<yazı-renk anahtarıX,<grafik-renk anhtarı»»») Dizilisinde kullanılır. Aktif ve görüntü sayfaları yazı ve grafik ortası için ayrı ayrı tanıslansıştır. Renk anahtarı da yazı ve grafik ortaaı için ayrı ayrı tanıslanaıştır. Renk anahtarı için 1, renkli görüntü sağlar.
tm
SCREEN <ortıı>(,<ıprlt» büyük)ü«ü>>f,<■•» mıhtın»
<,<cı»ııttı bıud rıt»»(,(yazıcı kontrolü))
Diîiliıinde kullınıhr. (Ortı»> mğıda belirtilin yazı vı grafik tanıtlar t
Orta» Tanıtı
0 40×40 yazı ortaıı
1 32×24 yazı ortan
2 Vüksek duyarlıkta grafik ortaıı
3 Çok renkli, az duyarlıklı grafik orUtı
(sprite büyüklüğü) “sprite” in aşağıda belirtilen büyüklük görüntü!enaesini sağlar.
Sprite Tanıtı
0 8×8, büyütültetis
1 8×8, büyütülıüs
2 16×16, büyütülıe*i5
3 16)i 16, büyütûltüs
(ses anahtarı) tuşların ses verebilae özelliğini belirler. Sıfır (0) m vı ses verdirir, (yazıcı kontrolü) yazıcı kullanılıyorsa yıncın karakterlerinin veya değişik yazı karakterlerinin tanıtında kullınıhr.
CPC-464,6128
Bu lehçelerde ekran tanıtı için (HODE tatsayı) deyiıi kullanılır, (tına aşağıda belirtilen ekran özelliklerini belirler s HODE 0 : 20 kolon x 25 satır 160 x 200 piksel
27 renkten 16 adedi bir defada elde edilebilir.
HODE i : Belirtiltezse bu ortaı geçerlidir 40 kolon x 25 satır 320 x 200 piksel
27 renkten 4 adedi bir defade elde edilebilir
HODE 2 : Yüksek duyarlıkta grafik ve yazı ortan BO kolon x 25 satır 640 x 200 piksel
27 renkten 2 si bir defada elde edilebilir
C-120
Bu lehçede grafik ortan secili SRAPHIC deyiıi ile gerçekleştirilir.
GRAPHIC artaı (,ekran sil><,s>
Diziliti ile kullanılır. 6 değişik ortaı elde edilebilir. 0, 40 koloni ortııını, 5, 80 kolonluk yazı ortııını, 1-4 arın da dığııik grıfik ort belirtir.