Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Eletrônicos - Submarino.com.br

 

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Script para cálculo de fatorial

Por Júlio Cezar Neves

Data de Publicação: 17 de Outubro de 2006

  #!/bin/bash
  # Programa para calculo de fatorial.
  # chame o programa pasando o numero
  # cujo fatorial sera calculado.
  [ $# -ne 1 ] && exit 1
  echo $(($(seq -s \* $1)))

A primeira linha encerra o programa caso não tenha sido passado o número para calcular o fatorial, a segunda é o pulo do gato. Vamos analisá-la em partes:

  seq -s \* $1

esse comando produz uma seqüência numérica de 1 até o parâmetro passado ($1), usando como caractere separador entre os números um asterisco. Supondo que o número passado como parâmetro foi 5, após a execução deste comando teríamos: 1*2*3*4*5

Como temos um comando (seq) dentro de outro (echo) usamos $(seq -s \* $1), onde a construção $(...) foi usada para dar prioridade de execução ao comando no seu interior.

Parece mas não ésse :)! A construção $((...)) parece com a anterior, mas é totalmente diferente. Ela chama o interpretador aritmético do shell, que identifica o seu interior como uma operação aritmética inteira e executa esta operação.

OBS: também funcionaria se a segunda linha fosse assim:

  seq -s \* $1 | bc

É por isso que eu sempre digo: "Nunca pergunte se dá para fazer em Shell. A pergunta correta é: qual é a melhor maneira de se fazer em shell"

Abração, Julio

:wq

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato Imprimir
  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (279 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Artigos Publicados


Linux Shell Script em Newsgroup

Servidor: news.gmane.org

Grupo: gmane.org.user-groups.programming.shell.brazil


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.