Pak Dengklek memberikan Anda sebuah bilangan bulat N (1 ≤ N < 100.000). Jika N merupakan satuan, cetak
satuan
. Jika N merupakan puluhan, cetak puluhan
. Jika N adalah ratusan, cetak ratusan
. Jika N adalah ribuan, cetak ribuan
. Jika N adalah puluh ribuan, cetak puluhribuan
.Format Masukan
Baris pertama berisi sebuah bilangan bulat N.
Format Keluaran
Sebuah baris berisi keluaran sesuai permintaan soal.
Contoh Masukan 1
4
Contoh Keluaran 1
satuan
Contoh Masukan 2
12345
Contoh Keluaran 2
puluhribuan
Petunjuk
Anda dapat menggunakan struktur nested if-then-else seperti sebelumnya sebagai berikut.if bil < 10 then begin writeln('satuan'); end else begin if bil < 100 then begin writeln('puluhan'); end else begin if bil < 1000 then begin writeln('ratusan'); end else begin if bil < 10000 then begin writeln('ribuan'); end else begin writeln('puluhribuan'); end; end; end; end;
Namun, karena penulisan nested structure dalam program yang terlalu banyak nest-nya tampak kurang rapi, maka kita dapat menggunakan struktur alternatif yang disebut struktur case sebagai berikut.
case <variabel> of <harga atau harga-harga 1> : begin <perintah-perintah 1> end; <harga atau harga-harga 2> : begin <perintah-perintah 2> end; dan seterusnya... end;
Dengan struktur ini maka <harga atau harga-harga> dapat berupa satu harga tunggal atau suatu jangkauan harga atau beberapa harga. Jangkauan harga, misalnya 'dari 10 s.d. 99' dituliskan 10..99 (kedua batas bilangan dengan dua titik di antaranya). Beberapa harga dituliskan dengan tanda koma misalnya 10, 100, 1000. Jika ada beberapa <harga atau harga-harga> yang jangkauan bilangannya saling tumpang tindih, program akan menjalankan <perintah-perintah> yang berada pada urutan <harga atau harga-harga> yang lebih awal.
Jika jika menggunakan struktur case ini pemeriksaan menjadi lebih kompak dan sederhana sebagai berikut.
case bil of 1..9: begin writeln('satuan'); end; 10..99: begin writeln('puluhan'); end; 100..999: begin writeln('ratusan'); end; 1000..9999: begin writeln('ribuan'); end; 10000..30000: begin writeln('puluhribuan'); end; end;
Jawabannya adalah :
No comments:
Post a Comment