Kategori 17-18

Lipatan Kertas

(Kelompok Umur: SMA; Kesulitan: Menengah; Kategori: ALG, INF)

Berang-berang mengembangkan suatu “bahasa” untuk melipat kertas. Bahasa ini dapat digunakan untuk menjelaskan bagaimana setiap lembaran kertas dapat dilipat dengan sisi-sisi lurus. Salah satu perintah dalam bahasa ini adalah fold.

e = fold(a, b) artinya:

anda melipat sisi a selembar kertas agar menempel pada sisi b. Dengan perintah ini, Anda membuat sisi baru, yaitu sebuah garis yang membentuk lipatan, yang dinamakan e. Contoh:

Harap dicatat bahwa kertas ada di meja selama pelipatan, dan panjang sisi b adalah dua kali panjang sisi a.

Bagaimana tampak bentuk kertas (a, b, c, d) setelah menjalankan ketiga perintah di atas?

e = fold(c, a); f = fold(c, d); g = fold(a, f)

Jawaban


A.  B.  C.  D. 

Solusi:

Jawaban yang benar adalah A. Gambar berikut menjelaskan eksekusi pelipatan tahap demi tahap.

Ini informatika

Soal ini berkaitan dengan informatika, yaitu konsep “fungsi”, yang penting dalam pemrograman. Sebuah panggilan fungsi melalui perintah, akan menjadi sebuah awal dari beberapa aktivitas. Fungsi mempunyai beberapa parameter (pada soal ini adalah dua sisi), memroses dan menghasilkan sebuah objek (di sini: lipatan).