Raizes de equações do 2o grau no dc
Publicado por Marcos Paulo Ferreira (última atualização em 03/07/2011)
[ Hits: 4.966 ]
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: /'
Instalado novas interfaces no Ubuntu 12.04
Envia mensagens para o serviço mensageiro do windows facilmente
Testador de portas usando nmap
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









