Skip to content

Instantly share code, notes, and snippets.

@renorram
Last active April 12, 2018 22:46
Show Gist options
  • Save renorram/dce7ac371a90563af4ffdec51f6c733e to your computer and use it in GitHub Desktop.
Save renorram/dce7ac371a90563af4ffdec51f6c733e to your computer and use it in GitHub Desktop.
Imprime o ultimo elemento e enésimo elemento de uma lista usando Scheme.
(define (ultimo lis)
(cond
((null? lis) (display "Lista nula!"))
((null? (cdr lis)) (display (car lis)))
(else (ultimo (cdr lis)))
)
)
(ultimo '(A B C D E F B A D Z))
(newline)
(define (enesimo n lis)
(cond
((eq? n 1) (display (car lis)))
(else (enesimo (- n 1) (cdr lis)))
)
)
(enesimo 3 '(A B C D))
(define (count atm lis)
(cond
((null? lis) 0)
((eq? atm (car lis)) (+ 1 (count atm (cdr lis))))
(else (count atm (cdr lis)))
)
)
; (count 1 '(1 2 3 4 5 1 1 23 1 45 5))
(define (media lis)
(/
(let nsum ([xlis lis])
(cond
((null? xlis) 0)
(else (+ (car xlis) (nsum (cdr xlis)) ))
)
)
(let nmedia ([xlis lis])
(cond
((null? xlis) 0)
(else (+ 1 (nmedia (cdr xlis))))
))
)
)
(media '(6 4 4 2))
(define (inverter lis)
(list
(let n ([nlist lis])
(cond
((not (null? nlist))
(cons (n (cdr nlist)) (car nlist))
)
)
)
)
)
(inverter '(1 2 3 4))
; (cons 1 2)
; Checando se existe elemento repetido.
(define (is_repeated tlist)
(cond
((null? tlist) #f)
((equal? #t
(let exist_in ([element (car tlist)] [xlist (cdr tlist)])
(cond
((null? xlist) #f)
((equal? element (car xlist)) #t)
(else (exist_in element (cdr xlist)))
)
)
)
#t
)
(else (is_repeated (cdr tlist)))
)
)
(is_repeated '(9 2 1 3 4 8 5))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment