Raizes de equações do 2o grau no dc
Publicado por Marcos Paulo Ferreira (última atualização em 03/07/2011)
[ Hits: 5.046 ]
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: /'
Carregar módulo kqemu na inicialização do sistema
sbogrupo - ferramenta de consulta à base de dados do sbopkg
Script de Backup de DVD com growisofs
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Como impedir exclusão de arquivos por outros usuários no (Linux)
Formas seguras de instalar Debian Sid (10)
Alguém executou um rm e quase mata a Pixar! (6)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









