Soal Pemrograman Comptius untuk Lebaran

advertisement
Soal Pemrograman Comptius untuk Lebaran
Berikut ini adalah soal-soal pemrograman untuk latihan selama libur Lebaran (2 kali
pertemuan Comptius dihilangkan). Soal ini terdiri dari 4 bagian @ 2 soal dan 1 bagian
@ 1 soal. Anda diperbolehkan mengerjakan salah satu soal untuk setiap bagian. Tetapi
akan lebih baik bila anda mengerjakan seluruh soal untuk melatih kemampuan
pemrograman anda.
Kesembilan soal yang terdapat dalam file ini merupakan soal dengan materi sampai
pada looping. Saya sendiri tidak memasukkan array ke dalam soal karena array harus
diperlajari lebih mendalam sebelum diberi soal latihan.
Jawaban dikumpulkan pada pertemuan pertama setelah libur Lebaran dalam bentuk
hard-copy yaitu di-print. Sertakan nama dan kelas karena hasil penilaian akan
dimasukkan sebagai nilai ekstrakurikuler.
Bila Anda menemui kesulitan dalam mengerjakan soal, anda dapat membaca contoh
soal pada bagian akhir dari soal-soal berikut ini. Selain itu kalau bingung juga bisa
email ke email saya di [email protected] atau [email protected] atau
Yahoo Messenger dengan username “william_trans” lewat SMS dari nomor HP yang
sudah pernah saya umumkan ke Anda semua.
Akhir kata, saya ucapin selamat berlibur dan berlebaran. Jangan lupa untuk seringsering latihan supaya lebih jago lagi pemrogramannya. Soalnya dari pengalaman saya
dan orang-orang lain, yang bikin kita mampu untuk pemrograman adalah latihan. ;)
Selamat mengerjakan,
William (Digimaster Etersoul)
PS: Peace yooo... Bukan maksud bikin liburan u hancur gara-gara ada soal ini... Cuma
latihan memang harus ada kan di setiap pembelajaran. Hehehe... Klo u semua cape
bikin soalnya, gue sendiri cape bikin soalnya trus nanti bakal cape ngoreksinya... Impas
kan? Hope the best from all of you... :D
Kerjakan 1 soal dari 2 soal pilihan berikut ini.
HINT: Keempat soal berikut ini menggunakan looping sederhana.
1. Buat program untuk membentuk segitiga dari bilangan yang di-input. Segitiga
terbentuk dari bintang (*). Bilangan input yang valid adalah antara 1 sampai 20.
Contoh input 1:
5
Contoh output 1:
*
**
***
****
*****
Contoh input 2:
3
Contoh output 2:
*
**
***
2. Buat program untuk membentuk persegi dari bilangan yang di-input. Persegi
terbentuk dari pagar (#). Bilangan input yang valid adalah antara 1 sampai 20.
Contoh input 1:
5
Contoh output 1:
#####
#####
#####
#####
#####
Contoh input 2:
3
Contoh output 2:
###
###
###
Kerjakan salah 1 dari 2 soal berikut ini.
HINT: Kedua soal yang ada di bawah ini menggunakan algoritma perhintungan dan
looping sederhana.
3. Buat program untuk membentuk deret bilangan antara 0 sampai 9 sesuai dengan
jumlah satuan dari urutan bilangan tersebut. Bilangan input yang valid adalah antara 0
sampai 5000.
Contoh input 1:
31
Contoh output 1:
1234567890123456789012345678901
Contoh input 2:
10
Contoh output 2:
1234567890
4. Buat program untuk membentuk deret fibbonaci sebanyak bilangan yang diinput.
Deret dibentuk ke samping dan dipisahkan dengan spasi. Deret fibonnaci merupakan
deret di mana angka yang dibentuk merupakan penjumlahan dari 2 angka sebelumnya.
Deret ini selalu dimulai dari angka 0 dan 1. Bilangan input yang valid adalah antara 1
sampai 50.
Contoh input 1:
8
Contoh output 1:
0 1 1 2 3 5 8 13
Contoh input 2:
15
Contoh output 2:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
Dari contoh dapat dilihat bahwa deret ke 3 dibentuk dari 0 + 1 = 1; deret ke-4
dibentuk dari 1 + 2 = 3; deret ke-5 dibentuk dari 2 + 3 = 5; dan seterusnya.
Kerjakan salah satu dari 2 soal pilihan berikut ini.
HINT: Kedua soal berikut ini mengkombinasikan selection dan looping sederhana.
5. Buat program untuk membentuk persegi di mana baris ganjil akan dibentuk oleh
bintang (*), sedangkan baris genap dibentuk oleh pagar (#). Bilangan input yang valid
adalah antara 1 sampai 20.
Contoh input 1:
5
Contoh output 1:
*****
#####
*****
#####
*****
Contoh input 2:
3
Contoh output 2:
***
###
***
6. Buat program untuk membentuk persegi bila input berupa bilangan genap, dan
segitiga bila input berupa bilangan ganjil. Lebar persegi atau panjang/tinggi segitiga
tergantung dari jumlah bilangan yang dimasukkan. Segitiga dibentuk dari bintang (*),
sedangkan persegi dibentuk dari pagar (#). Bilangan input yang valid adalah antara 1
sampai 20.
Contoh input 1:
5
Contoh output 1:
*
**
***
****
*****
Contoh input 2:
4
Contoh output 2:
####
####
####
####
Kerjakan salah satu dari 2 soal pilihan berikut ini.
HINT: Kedua soal berikut ini mengkombinasikan looping sederhana dan logika posisi
dan spasi.
7. Buat program untuk mencetak segitiga terbalik dengan aturan yang terdapat seperti
nomor 1.
Contoh input 1:
5
Contoh output 1:
*****
****
***
**
*
Contoh input 2:
3
Contoh output 2:
***
**
*
8. Buat program untuk mencetak jajaran genjang ke arah kiri bawah / kanan atas di
mana panjang dan lebar jajaran genjang sesuai dengan input bilangan yang
dimasukkan. Jajaran genjang dibentuk dari pagar (#). Input yang valid adalah antara 1
sampai 10.
Contoh input 1:
5
Contoh output 1:
#####
#####
#####
#####
#####
Contoh input 2:
3
Contoh output 2:
###
###
###
Kerjakan soal berikut ini.
HINT: Tidak ada hint untuk soal berikut.
9. Bokek merupakan salah seorang pekerja dari Micocok yang merupakan perusahaan
software yang membuat sistem operasi Whendown. Bokek sendiri telah banyak
bekerja di perusahaan software lainnya sebagai office boy sehingga ia memiliki
banyak kemampuan yang tidak dimiliki orang lain. Salah satunya adalah menghapus
tanpa sengaja file di komputer sendiri karena mental “bersih-bersih” yang dimiliki.
Alhasil, sang bos Micocok pun memerintahkan Bokek untuk membuat sebuah
program untuk mendata kerugian karena si Bokek suka main hapus file perusahaan
itu. Berikut ini adalah proses yang harus dibuat.
a. Awalnya user harus memasukkan sebuah bilangan 1 atau 2 sebagai option di main
menu. Angka 1 berarti perhitungan kerugian sangat besar yaitu $10 per file yang
dihapus. Sedangkan angka 2 berarti perhitungan kerugian kecil yaitu $1 per file
yang dihapus.
b. Setelah user melewati tahap pertama, user diminta memasukkan jumlah file yang
terhapus.
c. Tampilkan hasil dari perhitungan sesuai dengan pilihan yang dibuat dan
perhitungan dilakukan dengan : biaya per file dikali jumlah file yang dihapus.
d. Keluar dari program.
Contoh pengerjaan soal:
Buat sebuah program untuk menampilkan bilangan genap antara 1 sampai bilangan yang
di-input bila bilangan yang diinput merupakan bilangan genap, dan menampilkan
bilangan ganjil antara 1 sampai bilangan yang di-input bila bilangan yang diinput
merupakan bilangan ganjil. Setiap bilangan yang ditampilkan dipisahkan oleh spasi. Input
yang valid adalah antara 1 sampai 5000.
Contoh input 1:
13
Contoh output 1:
1 3 5 7 9 11 13
Contoh input 2:
18
Contoh output 2:
2 4 6 8 10 12 14 16 18
Jawaban :
uses crt;
var a,i: integer;
begin
clrscr;
readln(a);
if a mod 2 = 1 then begin
for i:= 1 to a do begin
if i mod 2 = 1 then write(i, ‘ ‘);
end;
end
else begin
for i:= 1 to a do begin
if i mod 2 = 0 then write(i, ‘ ‘);
end;
end;
readkey;
end.
--== Selamat mengerjakan ==--
Download