Bash - Nombre pair ou impair

Un nombre est pair lorsque le reste de sa division euclidienne par 2 est 0. En d’autres termes un nombre est pair lorsque son modulo 2 est égal à zéro.

Script bash

Avec mise en forme

Le script

Le script avec une mise en forme :

#!/bin/bash

# Fonction Pair/Impair
pairimpair()
{
for i in $valeur
do
if (($i%2==0)); then
echo pair
else
echo impair
fi
done
}

# Affichage de tous les termes
calcul()
{
R=$(($valeur/2))
M=$(($valeur%2))
echo -n "( $valeur / 2 ) = $R et ( $valeur % 2 ) = $M"
}

# Programme principal
echo -e "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "┃ DETERMINATION D'UN NOMBRE PAIR OU IMPAIR "
echo -e "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
read -p $'┃ Entrer une valeur : \e[31m ' valeur
echo -en "\e[0m"
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -n "┃ Calcul de : "
calcul
echo -e "\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -en "┃ Le nombre \e[31m$valeur\e[0m est "
pairimpair $valeur
echo "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

Le retour terminal

Affichage dans le terminal :

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ DETERMINATION D'UN NOMBRE PAIR OU IMPAIR
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Entrer une valeur : 54619
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Calcul de : ( 54619 / 2 ) = 27309 et ( 54619 % 2 ) = 1
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Le nombre 54619 est impair
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Script utile

Le script épuré :

#!/bin/bash

# Fonction Pair/Impair
pairimpair()
{
for i in $valeur
do
if (($i%2==0)); then
echo pair
else
echo impair
fi
done
}

# Affichage de tous les termes
calcul()
{
R=$(($valeur/2))
M=$(($valeur%2))
echo "( $valeur / 2 ) = $R et ( $valeur % 2 ) = $M"
}


# Programme principal
read -p $'Entrer une valeur : ' valeur
echo -n "Calcul de : "
calcul
echo -n "Le nombre $valeur est "
pairimpair $valeur
> Partager <