• Tidak ada hasil yang ditemukan

CTP502 - Algoritma & Struktur Data

N/A
N/A
Protected

Academic year: 2024

Membagikan "CTP502 - Algoritma & Struktur Data"

Copied!
4
0
0

Teks penuh

(1)

UNIVERSITI SAINS MALAYSIA Peperiksaan Sernester Kedua

Sidang Akademik

L993194

April

1994

CTP502 - Algoritma & Struktur Data

Masa: [2 jam]

ARAHAN KEPADA CALON:

.

Sila pastikan bahawa kertas peperiksaan

ini

mengandungi

EMPAT (4)

muka surat yang bercetak sebelum anda memulakan peperiksaan ini.

. Kertas

peperiksaan

ini

mengandungi

EMPAT

soalan. Semua soalan membawa markah yang

sama.

Jawab

SEMUA

soalan.

.

Semua jawapan mestilah ditulis dalam Batusa Malaysia.

i

103

...21-
(2)

_ 2

_ [crPso2]

1. (a)

Apakah perhubungan

di

antara'Program',

'Algoritma'dan'Struktur

Data'?

(10/100)

(b) Dalam

sesuatu

program, kita boleh dapati kombinasi tiga jenis konstruk

kawalan, iaitu

jujukan

(sequence), iterasi dan

pilihan (selection).

Gambarkan

rajah-rajah struktur untuk menunjukkan

susunan perlaksanaan pernyataan

program (program

statements)

bagi ketiga-tiga konstruk kawalan (control

constructs) jujukan, itera^si dan pilihan itu.

(20/r0o)

(c) Terangkan

proses-proses

yang terlibat dalam penyisipan (insertion)

dan penyingkiran (deletion) dalam konteks barisan linear tersusun (ordered linear

ilray).

(20/100)

(d) Binakan

satu

algoritma

dalam bentuk

kod

pseudo

untuk

mernbaca satu

siri

nombor positif, yang diakhiri dengan 99, dan simpankan satu bilangan nombor dalam pembolehubah (variable)

JAWAPAN

untuk nombor-nombor berjujukan (sequential) yang terpanj an g.

Contoh: Jika input ialah:

2,

4, t4,

20, 3,

5,

34, 35,

53,

69,

6,8,

15, 20, 99

Nilai JAWAPAN

ialah 6 (iaitu siri berjujukan

3,5,34,35, 53,69)

(20/lo0)

(e)

Binakan satu algoritma dalam bentuk kod pseudo untuk menentukan bilangan bagi setiap unit wang tunai yang perlu dimasukkan ke dalam sampul surat

gaji

pekerja yang dibayar dengan wang

tunai.

Keperluan utama

ialah

membayar

NET_PAY

dengan bilangan

unit

wang tunai yang

terkurang. Misalnya, gaji NET_PAY

sebanyak RM100/- perlu dibayar dengan satu unit

RMl00/-,

bukan dua unit RM50/=, atau sepuluh unit RMIO/= dan sebagainya.

Andaikan jadual berikut diberikan dengan 500 unit

mewakili

unit

RM500,

100 unit mewakili unit RM100 dan 0.05 unit mewakili lima sen.

Unit

500 100 50 20 10 5 I U.)U U.ZU U.IU u.05

Pengira

Berdasarkan

jadual di

atas,

jika gaji

seseorang pekerja ialah RM640.65,

unit

wang tunai yang perlu dibayar ialah:

(30/100)

Unlt 500

loo

50 zo

l{)

5 U.JU u.2t) o.10 U.U)

Pengua

I I

o

z

0 o 0 o

t t

104

...3t-

(3)

1

lcTPs02l

- t-6

(a)

Terangkan bagaimana sesuatu graf boleh dianggap sebagai satu struktur data.

(b) Terangkan giliran

(queue), stek penghujung (deque).

(20l100)

(stack) dan giliran yang mempunyai

dua (30/10o)

(50/100)

3. (a)

Namakan tiga jenis algoritma pengisihan (sorting).

(10/100)

(c)

Simulasi ialah satu proses yang menggunakan satu sistem

untuk

menyerupai perangai (behaviour) sistem yang lain.

Dengan menggunakan konsep giliran, binakan satu algoritma dalam bentuk kod pseudo untuk-mensimulasikan satu lapangan terbang (simulation of an airpott).

Andaboleh andaikan:

.

Satu jalan (runway) sahaja didapati pada lapangan terbang

itu,

.

Satu kapal terbarig sahaJa boleh m-endarai

(ianding)

atau berlepas - (taking

off)

pada setiap unit masa

. Lima kapal terbang maksimum yang

menunggu

untuk mendarat

atau

berlepas pada satu unit masa

.

Keutamaan

diberikan

kepada

kapal

terbang yang akan

mendarat.

Kapal terbang yang akan berlepas boleh menunggu

daluq

gilirannya'

. Dua gltiran Aiperlukan-.

Satu digunakan

untuk

mendarat

dan

satu

lagi

digunakan untuk berlepas.

(b)

Tunjukkan salah satu algoritma pengisihan, ymrg telah dinamakan

di

bahagian (a), daiam bentuk kod pseudo.

(30/100)

(c) Terangkan

proses-proses

yang terlibat dalam penyisipan (insertion)

dan penyingkiran (deletion) pada konteks senarai berpautan (linked list).

(30/100)

(d)

Terangkan carian

binar (binary

search) dengan menitikberatkan aspek-a5ne!

seperticara-cara untuk mendapat satu unsur data dan pembatasan (restrictions) yang terlibat.

(30/100)

I

tOs

,

...4t-

(4)

lcTP502l

-4-

4. (a)

Terangkan proses iterasi (iteration) dan rekursi (recursion).

(zotrw)

(b)

Sebutkan dan terangkan secararingkas satu aplikasi rekursi.

(20/100)

(c)

Bezakan penggunaan data setempat

(local

variable) dan data sejagat (global

variable)

dalam satu program yang mempunyai beberapa prosedur atau pun fungsi.

(2011oo)

(d)

Terangkan dengan gambar rajah yang sesuai cara-cara untuk membinakan satu pohon-B (B+ree) berpangkat (order) 5 dengan menggunakan

nilai-nilai

kunci seperti berikut:

!1,72,60, 19, 1lO, 39, 79, 131,99, 50,

170,

gl, L60,20!,31, l2l,

140,

181, 190, 151

Oleh sebab pohon itu berpangkat 5, setiap nod boleh mempunyai sebanyak

lima

petunjuk (pointers) maksimum dan empat unsur data (data element).

(40/100)

- oooOooo -

;106

Referensi

Dokumen terkait

Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya.. Menilai

Diketahui 3 buah bilangan yakni 40, 70 dan 85 yang merupakan nilai ujian matakuliah algoritma6.

Implementasi Kriptografi Kurva Eliptik Dengan Algoritma Elgamal Dan Metode Pembangkitan Bilangan Prima Rabin-Miller Untuk Pengamanan

enkripsi pada kriptografi kurva eliptik dengan algoritma ElGamal dan metode. pembangkit bilangan prima Rabin Miller dapat diproses dengan baik, dan

Pada makalah ini, akan disimulasikan penggunaan algoritma Dijkstra, salah satu algoritma untuk mencari path terpendek dalam satu graf, dalam menghitung waktu yang

Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

Pembangkit Bilangan Acak Semu atau yang biasa disebut dengan Pseudo Random Number Generator (PRNG) adalah sebuah algoritma yang umum digunakan pada kriptografi.. Dengan

Pokok pembahasan mata kuliah ini adalah konsep algoritma, dasar pemrograman dan struktur bahasa pemrograman C++, perintah dasar seperti input output, preprosesor