O objetivo desse script foi mais utilizar o conceito de funções, funções recursivas, retorno e passagem por valor para funções em shell script linux
O script pode ser baixado em:
http://danilomatias.net76.net/linguagensDeProgramacao/shellscript/tesfibonaccisimples
Existem duas maneiras de executar ele na console do linux:
Maneira 1:
bash tesfibonaccisimples
Maneira 2 ( passando o termo da sequencia de fibonacci):
bash tesfibonaccisimples 12
O conteúdo do script é:
#!/bin/bash
#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
function fib3(){
local i
if [ $1 -le -1 ]; then
echo -e "\n Erro !! Não existe termo de fibonacci negativo !\n";
else
if [ $1 -ge 13 ]; then
echo -e "\n Erro !! Não é possivel gerar a seqüencia para um número maior que 12 !\n";
else
for (( i=0; i<=$1; i++ ))
do
#x1=fibo $i;
fib2 "$i" ;
echo "$? "
done
fi
fi
}
#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
function fib2(){
local fibs
if [ $1 -le -1 ]; then
echo -e "\n Erro !! Não existe termo de fibonacci negativo !\n";
fi
fib1 "$1" ;
fibs=$? ;
return $fibs ;
}
#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
function fib1(){
local fiba fibb fibc fibd fibe ;
if [ $1 -eq 0 ]; then
fiba=`((0)) `;
return 1;
fi
if [ $1 -eq 1 ]; then
return 1;
fi
#fiba= `$(($1-1))`
fiba=$(($1 - 1)) ;
fibb=$(($1 - 2)) ;
fib1 "$fiba" ;
fibc=$? ;
fib1 "$fibb" ;
fibd=$? ;
fibe=$(($fibc+$fibd))
return $fibe ;
}
#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
function main123(){
if [ -z $1 ]; then
local fib ;
echo -e "\n Teste de fibonacci $? \n";
echo -e "\n Entre com o número para saber o termo de fibonacci \n";
read fib ;
echo -e "\n Número escolhido: $fib \n";
echo -e "Squencia de Fibonacci recursivo...:"
fib3 "$fib" ;
else
local fib ;
fib=$1 ;
fib3 "$fib" ;
fi
}
#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
main123 "$1" "$2" "$3" "$4" "$5" ;
#maneiras de chamar o script na shell
#bash tesfibonaccisimples
#bash tesfibonaccisimples 12
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário