Vídeo e o código em texto
Olá pessoal,
O vídeo da aula de hoje está aqui.
Para quem quiser olhar os códigos da aula sem abrir o .zip, pode olhar abaixo (resultado do "more *.jl | cat")
Abraço,
Alfredo
::::::::::::::
cosseno.jl
::::::::::::::
include("mac.jl")
function cosseno1(x)
Erro = 1e-8
soma = 1
i = 1
termo = 1
while abs(termo) > Erro
termo = potencia(-1, i) * potencia(x, 2 * i) / fatorial(2 * i)
soma = soma + termo
i = i + 1
end
return soma
end
function cosseno2(x)
Erro = 1e-8
soma = 1
i = 1
termo = 1
while abs(termo) > Erro
termo = -1 * termo * x * x / ((2 * i) * (2 * i - 1))
soma = soma + termo
i = i + 1
end
return soma
end
function cossenoRec(x, termo, i)
Erro = 1e-8
termo = -1.0 * termo * x * x / ((2 * i) * (2 * i - 1))
if abs(termo) < Erro
return termo
else
return termo + cossenoRec(x, termo, i + 1)
end
end
function chamaRec(x)
return 1 + cossenoRec(x, 1.0, 1)
end
::::::::::::::
mac.jl
::::::::::::::
function potencia(x, n)
res = 1
while n > 0
res = res * x
n = n - 1
end
return res
end
function fatorial(n)
if n <= 1
return 1
else
return n * fatorial(n - 1)
end
end
::::::::::::::
ola.jl
::::::::::::::
println("olá")
println("de verdade")
::::::::::::::
testecosseno.jl
::::::::::::::
include("cosseno.jl")
# sugestão do Gabriel muda aqui o teste
function cosseno(x)
# return cosseno1(x)
# return cosseno2(x)
return chamaRec(x)
end
Erro = 1e-7
if abs(cosseno(0) - 1.0) > Erro
println("Não funciona para cos(0)")
end
if abs(cosseno(pi / 4) - sqrt(2)/2) > Erro
println("Não funciona para cos(pi/4)")
end
if abs(cosseno(3 * pi / 4) + sqrt(2)/2) > Erro
println("Não funciona para cos(3 * pi / 4)")
end
if abs(cosseno(pi / 2) - 0.0) > Erro
println("Não funciona para cos(pi/2)")
end
println("Final dos testes")
::::::::::::::
testeFatorial.jl
::::::::::::::
include("mac.jl")
if fatorial(0) != 1
println("não funciona para 0!")
end
if fatorial(1) != 1
println("não funciona para 1!")
end
if fatorial(5) != 120
println("não funciona para 5!")
end
if fatorial(6) != 720
println("não funciona para 6!")
end
println("Final dos testes")
::::::::::::::
testePotencia.jl
::::::::::::::
include("mac.jl")
if potencia(1, 0) != 1
println("não funciona para 1 elevado a 0")
end
if potencia(2, 1) != 2
println("não funciona para 2 elevado a 1")
end
if potencia(3, 0) != 1
println("não funciona para 3 elevado a 0")
end
if potencia(5,3) != 5 * 5 * 5
println("não funciona para 5 elevado a 3")
end
println("Final dos testes")