Anda di halaman 1dari 2

Tugas Personal ke-2

Week 7

Soal 1.

Extend bahasa dan kompiler untuk menerima deklarasi yang diinisialisasi seperti

int i = j + 32;

Melakukan ini untuk variabel lokal (fungsi di dalam) seharusnya tidak terlalu sulit. Untuk global
yang membutuhkan lebih banyak perubahan.

Jawab
#include<iostream.h>

#include<conio.h>

int j=5; //Variable Global


void main(){
int i,j=0; //Variable Lokal
i=j+32;
cout<<i;
cout<<"\n"<<::j;
getch();
}

Soal 2.

Tulislah versi continuation-passing prodc : int list ->

(int -> int) -> int dari daftar fungsi produk prod:

let rec prod xs =

Programming Language Concepts


match xs with

| [] -> 1

| x::xr -> x * prod xr;;

Jawab

let rec prod xs =

let rec prod' xs k =

match xs with

[] -> k 1

| x::xr -> prod' xr (fun a -> k (x * a)) in

prod' xs (fun x -> x)

Programming Language Concepts

Anda mungkin juga menyukai