Enviado em 15/05/2020 - 02:04h
Bom, eu estou aprendendo Shell Script e estudando tabela da verdade em filosofia, então pensei "por que não juntar a lógica da tabela da verdade com a lógica do Shell Script?" E eu tentei, mas estou tendo dificuldades
Eu quero que o script pegue a combinação que o usuário digitar, mais precisamente V V, V F, F V e F F e com base nisso coloque V ou F em variáveis, que são chamadas pelo echo, o problema é que ele n tá conseguindo analisar o que o usuário digitou e dar um resultado com base nisso. Como eu comecei a aprender ainda essa semana Shell Script, n faço ideia de como fazer esse trem funcionar
#!/bin/bash
echo "Script para automatização da tabela da verdade"
echo "Digite o valor de p:"
read p
echo "Digite o valor de q:"
read q
if [[ ! $p =~ ^[VvFf]$ ]] && [[ ! $q =~ ^[VvFf]$ ]];then
echo "Erro: valor inválido. Digite apenas 'v' ou 'f'"
exit 1
fi
valores () {
echo "Negação de p: $negacao_p"
echo "Negação de q: $negacao_q"
echo "Conjunção de p e q: $p_e_q"
echo "Disjunção de p e q: $p_ou_q"
echo "Condicional de p e q: $se_p_entao_q"
echo "Bi-condicional de p e q: $p_se_e_somente_se_q"
}
if p=^[Vv]$ && q=[Vv]$; then
negacao_p=F && negacao_q=F && p_e_q=V && p_ou_q=V && se_p_entao_q=V && p_se_e_somente_se_q=V
elif p=^[Vv]$ && q=^[Ff]$; then
negacao_p=F && negacao_q=V && p_e_q=F && p_ou_q=V && se_p_entao_q=F && p_se_e_somente_se_q=F
elif p=^[Ff]$ && q=[Vv]$; then
negacao_p=V && negacao_q=F && p_e_q=F && p_ou_q=V && se_p_entao_q=V && p_se_e_somente_se_q=F
elif p=^[Ff]$ && q=^[Ff]$; then
negacao_p=V && negacao_q=V && p_e_q=F && p_ou_q=F && se_p_entao_q=V && p_se_e_somente_se_q=V
fi
valores
Eu quero que o script pegue a combinação que o usuário digitar, mais precisamente V V, V F, F V e F F e com base nisso coloque V ou F em variáveis, que são chamadas pelo echo, o problema é que ele n tá conseguindo analisar o que o usuário digitou e dar um resultado com base nisso. Como eu comecei a aprender ainda essa semana Shell Script, n faço ideia de como fazer esse trem funcionar