O Calango Hacker Clube
status&nofooter
Área Técnica
Contato
O Calango Hacker Clube
status&nofooter
Área Técnica
Contato
Essa é uma revisão anterior do documento!
Baixa o ambiente do Racket pra sua computador aqui
As ideias do Lisp (incluindo Racket, Scheme, Clojure etc.)
As programas são feito de listas.
(1 2 3)
E listas dentro as listas
(1 2 (3 4))
Expressões também são listas. Sempre o nome do operador ou função como a primeiro elemento do lista e as operandos / argumentos depois.
(+ 2 2) (* 3 (+ 2 5))
Traduze esta expressão em Lisp e avalia no sua computador
3 * (5 + 9)
E isso?
4 * (1 + 2 + 3 + 4 + 5 + 6) * 5 / 10
Sua programa em Lisp e nada mais do que um series destas expressões.
Por exemplo, o expressão condicional utilizando “if” :
(if (= 0 1) "sim" "nao")
Obs : em Racket, o “verdade” é #t e “falso” é #f
(= 0 1) (= 1 1)
Ou funções que lidar com strings.
(substring "todo bem?" 0 4) (substring "abcdefg" 3)
Utilizar “string-append” pra concatenar duas strings.
(string-append "A" "BC")
Teste de igualidade :
(equal? "abc" "abc") (equal? "abc" "abcd")
Obs : O ponto de interrogação pode ser utilizado nos nomes do funções e variáveis.
Criando um nome, e vinculando um valor com o nome utilizar o função “define”
(define x 15)
(if (< 10 x) "sim" "nao")
Criando uma função também com estrutura de lista … utilizando o função “define”
(define (f x) (* x x))
(f 8)
Criar um função que receber dois argumentos strings e responde se eles tem as primeiros 4 caracteres iguais.
Eg.
(teste "askhkjasdhk" "askhbhdifdsbkfbkdsjb") -> "sim" (teste "askhfdfsdkfbksdj" "lhsdlfsbdk") -> "nao"
Adaptar sua função pra receber as dois argumentos e um numero n e teste as primeiros n caracteres.
…
…
…