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")



Última atualização: segunda-feira, 13 abr. 2020, 15:01