Kumpulan

[Senarai] Kumpulan <nama>(<ahli>,..) [sertakan <namaKumpulanLain>]


Penerangan

Kumpulan adalah arahan untuk menyatakan jenis data berkumpulan. Jika misalnya anda ingin membuat satu pembolehubah yang memiliki banyak data didalamnya dan anda boleh akses data tersebut menggunakan nama. Dalam tatasusun anda mengakses menggunakan indek tetapi disini anda ingin mengakses menggunakan nama. Sebagai contoh anda mempunyai pembolehubah 'HERO'. HERO memiliki beberapa pembolehubah seperti X,Y,Nyawa,Score dan sebagainya. Anda boleh buat jenis data tersebut seperti ini:

kumpulan player(X,Y,Nyawa,Score)

Disini anda telahpun membuat jenis data bernama player. Namun anda tidak membuat apa-apa pembolehubah lagi, cuma jenis data sahaja yang bakal anda gunakan kelak seperti ini:

kumpulan player(X,Y,Nyawa,Score)
sedia HERO@player
HERO.X=100
HERO.Y=100
HERO.Nyawa=3
HERO.Score=0
cetak HERO.Nyawa

Disini ianya nampak cuma menambah komplek tetapi jika digabung dengan tatasusun atau senarai ianya amat bermenafaat. Lihat contoh ini:

Contoh:
kumpulan player(X,Y,Nyawa)
tatasusun HERO@player(100)
total=minta("Masukkan jumlah objek (bawah 100):","10")
dari k=1 ke total
     HERO(k).X=Rawak(400)
     HERO(k).Y=Rawak(400)
lagi
fungsi GelungUtama()
     CuciSkrin()
     dari k=1 ke total
          bulat SentuhX()+HERO(k).X,SentuhY()+HERO(k).Y,10,1
     lagi
tamat

Jika anda meletakkan perkataan 'senarai' didepan penyataan kumpulan, ini bermakna kumpulan ini secara automatik akan memiliki senarainya. Nama senarai automatik tersebut adalah sama dengan nama kumpulan.
Apabila sebarang pembolehubah disediakan menggunakan jenis data kumpulan tersebut, maka senarai akan ditambah. Ini membolehkan akses aturcara bagi semua elimen didalam kumpulan tersebut. Lihat contoh:

Contoh:
senarai kumpulan player(X,Y,Nyawa)
total=minta("Masukkan jumlah objek (bawah 100):","10")
dari k=1 ke total
     temp@player=cipta player
     temp.X=Rawak(400)
     temp.Y=Rawak(400)
lagi
fungsi GelungUtama()
     CuciSkrin()
     untuk setiap player
          bulat SentuhX()+player.X,SentuhY()+player.Y,10,1
     lagi
tamat

Kumpulan juga boleh dicipta dengan membina dari kumpulan yang lain. Lihat contoh:

Contoh:
kumpulan pos(X,Y)
kumpulan player(Nama$,Nyawa) sertakan pos
sedia HERO@player
HERO.X=10
cetak HERO.X

Setiap ahli mempunyai jenis data. Selepas memberi nama ahli, anda perlu menyatakan jenis data dengan menggunakan simbol % # atau $. Ketiga-tiga simbol ini menyatakan samada ahli akan diisi nilai Nombor Bulat, Apung atau Rentetan. Lihat jadual dibawah    

Jenis data ahli

JenisData Simbol Penerangan
Nombor Bulat % atau abaikan Jika anda abaikan simbol maka ahli akan memiliki jenisdata nombor bulat
Nombor Apung #
Rentetan $

Lihat juga: pembolehubah , tatasusun , senarai