Enviado em 17/08/2019 - 00:43h
Boa noite,
Estou tentando implementar um script em perl que realiza o calculo de Fibonacci, a partir de duas variáveis
No entanto, o seguinte erro aparece:
"Use of uninitialized value $val in multiplication (*) at teste_subroutina.pl line 13"
Eu sei que o resultado esperado é 19, porém esse valor somente é obtido quando altero manualmente o $val por 3 diretamente na subrotina. Contudo, como esse parametro pode varia de 1 até 5, alterar manualmente não seria a melhor solução para o caso.
Pesquisando sobre o erro, vi que o valor de $val não está sendo lido, ou seja, indefinido. Alguém teria uma dica?
Saudações
Camilo
Estou tentando implementar um script em perl que realiza o calculo de Fibonacci, a partir de duas variáveis
use warnings;
# Definindo a subrotina
sub fib {
my @list1 = @_;
my $number = $list1[0];
my $val = $list1[1];
if ($number == 0 or $number == 1) {
return $number;
}
my $x =fib($number-1);
my $y =fib($number-2)*$val;
my $z =$x+$y;
return $z; # chamando a recursividade
}
# passando a lista
@Lista = (5, 3);
# Chamando a subrotina com os parametros
print fib(@Lista), "\n";
No entanto, o seguinte erro aparece:
"Use of uninitialized value $val in multiplication (*) at teste_subroutina.pl line 13"
Eu sei que o resultado esperado é 19, porém esse valor somente é obtido quando altero manualmente o $val por 3 diretamente na subrotina. Contudo, como esse parametro pode varia de 1 até 5, alterar manualmente não seria a melhor solução para o caso.
Pesquisando sobre o erro, vi que o valor de $val não está sendo lido, ou seja, indefinido. Alguém teria uma dica?
Saudações
Camilo