Raizes de equações do 2o grau no dc
Publicado por Marcos Paulo Ferreira (última atualização em 03/07/2011)
[ Hits: 4.283 ]
Homepage: http://daemoniolabs.wordpress.com
O script abaixo realiza o cálculo das raízes reais de uma equação do segundo grau. O interessante é que o cálculo todo é feito pelo dc e sua sintaxe é estranha e na maioria das vezes ilegível à primeira vista.
Para usar esse script não tem mistério algum, só digitar o nome do script e fornecer os coeficientes:
$ ./raizesdc.sh
coeficiente a: 2
coeficiente b: -6
coeficiente c: -20
raiz1: -2
raiz2: 5
Referências:
[1] http://www.vivaolinux.com.br/artigo/A-magica-do-dc/
[2] $ man dc
#!/bin/bash # Autor: Daemonio (Marcos Paulo Ferreira) # Contato: undefinido gmail com # # Script que calcula as raizes reais de # uma equacao do segundo grau. # # Fri Jun 10 11:28:04 BRT 2011 # function calc_raiz_dc() { echo $1 $2 $3 'sc _1 * sb sa _4 la lc * * lb 2 ^ + v sd lb ld + 2 la * / lb ld - la 2 * / f' | dc } # Coeficientes coe_a= coe_b= coe_c= # Leitura dos coeficientes read -p 'coeficiente a: ' coe_a read -p 'coeficiente b: ' coe_b read -p 'coeficiente c: ' coe_c # Troca o sinal '-' por '_' coe_a=${coe_a/-/_} coe_b=${coe_b/-/_} coe_c=${coe_c/-/_} # Chama a funcao e formata a saida com o sed calc_raiz_dc $coe_a $coe_b $coe_c | sed 'N;s/^/raiz1: /;s/\n/&raiz2: /'
Buscar conteúdo digitado em sites de busca
Verificar status do banco de dados HyperFile-Sql
Zclamav - script para substituir o Clamtk
Asterisk - Configurando Ramais, Plano de Discagem e URA Simples
Desabilitando o "Instant Messaging" no KDE Plasma
Deixando o Google Chrome em modo Dark no Linux - Experimental
Contador de Palavras no Terminal
KDE Plasma é a melhor interface do Linux? 5 motivos que fazem eu achar... (34)
comando em variavel que executa automaticamente no bashrc[AJUDA] (5)
[Tcl/Tk] Mostrar conexões de rede ativas
[Shell Script] Bashblog v3.0 - cria um microblog em HTML5
[Shell Script] Manutenção e limpeza do Linux
[Shell Script] ebook-cli - gerencia livros digitais entre PC e leitores ebooks
[Shell Script] AptList v1.1 - instalação de pacotes DEB a partir de uma lista