vault backup: 2025-12-11 01:42:15

This commit is contained in:
2025-12-11 01:42:15 +01:00
parent 8d2c3cdc66
commit 717066ff88
5 changed files with 165 additions and 93 deletions

View File

@@ -6,7 +6,66 @@ Proveniente de [[Funciones puras]]
# 1. Calculadora modular
Objetivo: Separación de lógica (pura) del I/O (impuro).
```Shell
#!/bin/bash
#Funciones Puras
suma() {
local num1=$1
local num2=$2
echo $(( $num1 + $num2 ))
}
resta() {
local num1=$1
local num2=$2
echo $(( $num1 - $num2 ))
}
Bibliografia Web:
- [Manejo de errores en Bash Scripting](https://adictosalinux.com/manejo-errores-scripts-bash/)
multiplicacion() {
local num1=$1
local num2=$2
echo $(( $num1 * $num2 ))
}
division() {
local num1=$1
local num2=$2
if [[ "$num2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $num1 / $num2 ))
}
#Menu
echo "Opciones posibles:"
echo "1. Sumar"
echo "2. Restar"
echo "3. Multiplicacion"
echo "4. Division"
read input
read -p "Introduce el primer numero: " a
read -p "Introduce el segundo numero: " b
case $input in
1) resultado=$(suma "$a" "$b");;
2) resultado=$(resta "$a" "$b");;
3) resultado=$(multiplicacion "$a" "$b");;
4) resultado=$(division "$a" "$b")
if [[ $b -eq 0 ]]; then
echo "No se puede dividir entre 0"
exit 1
fi;;
*)
echo "no valido"
exit 1;;
esac
echo "Resultado = $resultado"
```
Bibliografía Web:
- [Manejo de errores en Bash Scripting](https://adictosalinux.com/manejo-errores-scripts-bash/)
- [Comparator operators](https://www.tutorialkart.com/bash-shell-scripting/bash-comparison-operators/)
- [Funciones Bash](https://itsfoss.com/es/funciones-bash/)

View File

@@ -1,44 +1,62 @@
#!/bin/bash
#Funciones Puras
suma() {
local num1=$1
local num2=$2
echo $(( $num1 + $num2))
}
resta() {
local num1=$1
local num2=$2
echo $(( $num1 - $num2))
}
multiplicacion() {
local num1=$1
local num2=$2
echo $(( $num1 * $num2))
}
division() {
local num1=$1
local num2=$2
if [[ "$num2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $num1 / $num2))
}
# Menu
echo "Opciones posibles:"
echo "1. Sumar"
echo "2. Restar"
echo "3. Multiplicacion"
echo "4. Division"
read input
read -p "Introduce el primer numero: " a
read -p "Introduce el segundo numero: " b
case $input in
1) $suma;;
2) $resta;;
3) $multiplicacion;;
4) $division;;
1) resultado=$(suma "$a" "$b");;
2) resultado=$(resta "$a" "$b");;
3) resultado=$(multiplicacion "$a" "$b");;
4) resultado=$(division "$a" "$b")
if [[ $b -eq 0 ]]; then
echo "No se puede dividir entre 0"
exit 1
fi
;;
*)
echo "no valido"
exit 1;;
esac
echo "Resultado = $resultado"
suma() {
local num1=$1
local num2=$2
echo $(( $1 + $2))
}
resta() {
local num1=$1
local num2=$2
echo $(( $1 - $2))
}
multiplicacion() {
local num1=$1
local num2=$2
echo $(( $1 * $2))
}
division() {
local num1=$1
local num2=$2
if [[ "$2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $1 / $2))
}