Posted by : Computer Club Smanthree Kamis, 31 Januari 2013


Array
Pak Dengklek memberikan Anda banyak data dalam beberapa baris, masing-masing berisi sebuah bilangan bulat. Cetak kembali bilangan-bilangan tersebut dalam urutan terbalik.

Format Masukan

Banyak baris, antara 0 sampai 25.000 baris, masing-masing berisi sebuah bilangan bulat antara -10.000 sampai 10.000.

Format Keluaran

Sebanyak baris pada masukan, berisi bilangan-bilangan tersebut dalam urutan terbalik.

Contoh Masukan

1
2
3
4
5

Contoh Keluaran

5
4
3
2
1

Petunjuk

Anda diminta untuk belajar menggunakan suatu jenis variabel yang lebih kompleks yang dapat menyimpan sejumlah nilai, yang dikenal dengan nama array. Variabel tersebut memiliki elemen-elemen yang masing-masing dapat menyimpan nilai tersendiri. nilai-nilai yang tersimpan dalam elemen-elemen array dapat diakses menggunakan indeks yang didefinisikan pada deklarasi array tersebut. Dalam Pascal, indeks dapat berupa suatu jangkauan nilai integer apapun, misalnya dari -5 s.d. 5 atau dari 100 s.d. 200. Tetapi untuk memudahkan berpindah ke bahasa pemrograman yang lain (seperti C, C++, atau Java) maka sebaiknya membiasakan diri agar setiap indeks yang digunakan memiliki jangkauan bilangan bulat nonnegatif yang dimulai dari 0.
Suatu variabel array didefinisikan pada bagian deklarasi variabel sbb
<nama variabel> : array [<jangkauan indeks>] of <jenis data>;
Aturan nama variabel array mengacu pada aturan penamaan variabel yang umum. Tipe data elemen array dapat memakai jenis-jenis data sederhana yang ada dalam Pascal seperti integer, longint, real, dll. Jangkauan indeks jika dimulai dari A sampai B (catatan: A dan B adalah bilangan dengan A ≤ B) ditulis dengan A..B. Dengan demikian nilai pada suatu elemen array tersebut dapat diakses melalui indeksnya mulai dari A, A+1, A+2, ..., B dengan menggunakan kurung siku <nama variabel>[<indeks>]. Jadi misalnya array string dengan deklarasi sebagai berikut:
Tabel : array[0..10] of string;
Untuk menyimpan nilai "Viva TOKI" pada elemen ke-5 array ditulis
Tabel[5] = 'Viva TOKI';
Sayangnya menurut aturan resmi dalam Pascal, jumlah elemen array harus dideklarasikan secara tetap, yaitu dari awal hingga akhir berjalannya program, ukuran array tersebut tidak berubah (suatu ketika akan dibahas cara menggunakan array dengan ukuran dinamis dalam Pascal). Selain itu, hati-hati dengan Turbo Pascal versi DOS (7.0 dan sebelumnya) yang tidak mampu menyimpan array string > 256 elemen (total ukuran array > 64 KB). Dengan FreePascal untuk Windows tidak ada masalah tersebut.
Program Anda harus membaca seluruh baris masukan ke dalam array kemudian mencetak mundur mulai dari baris yang terakhir dibaca hingga yang pertama. Ingat: dalam latihan ini Anda harus menggunakan array, meskipun sebenarnya ada cara lain tanpa menggunakan array.
Mengingat array harus berukuran tetap maka masukan dijamin tidak akan berisi lebih dari 25000 bilangan sehingga Anda deklarasikan array penyimpan integer dengan jangkauan 0..24999. Hal yang program Anda harus lakukan juga adalah menghitung jumlah bilangan saat bilangan demi bilangan dibaca. Setelah bilangan bilangan terakhir (bilangan ke-N) dibaca, pencetakan dilakukan mundur mulai dari elemen berindeks N-1 hingga 0.
Berikut ini contoh menggunakan loop for dengan nilai iterator menurun sebagai berikut
for <iterator> := <nilai-awal> downto <nilai-akhir> do
begin
    <perintah-perintah>
end;
Perbedaannya terletak pada kata downto menggantikan to. Ingat bahwa <nilai-awal> harus tidak lebih kecil dari <nilai-akhir>.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Translate to

Jam

Diberdayakan oleh Blogger.

- Copyright © Computer Club Smanthree (CCS) -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -