;;; -*- scheme -*- ;;; ---------- ;;; Esercizio 1: (define (duplica l) (if (null? l) '() (cons (car l) (cons (car l) (duplica (cdr l)))))) ;;; ---------- ;;; Esercizio 2: (define (fact n) (define (fact-aux n acc) (if (positive? n) (fact-aux (- n 1) (* n acc)) acc)) (fact-aux n 1)) ;;; ---------- ;;; Esercizio 3: (define (somma-liste l1 l2) (cond ((null? l1) l2) ((null? l2) l1) (else (cons (+ (car l1) (car l2)) (somma-liste (cdr l1) (cdr l2)))))) ;;; ---------- ;;; Esercizio 4: (define (ncons n x l) (if (positive? n) (ncons (- n 1) x (cons x l)) l)) ;;; ---------- ;;; Esercizio 5: (define (nuplica n l) (if (null? l) '() (ncons n (car l) (nuplica n (cdr l)))))