Bash - Perimètre Aire Surface Volume

Calcul en bash des périmètres, aires, surfaces et volumes d’un cercle/sphère, carré/cube et triangle/tétraèdre. Dans ce script, les résultats n’affichent que la partie entière.

Rappel des formules de plusieurs formes géométriques

Cerce/Sphère Triangle/Tetraèdre Carré/Cube Rectangle/Boîte
Périmètre 2πR C1+C2+C3 4C (L+l)*2
Aire πR² (C1*C2)/2 (L*l)
Surface 4πR² 2(C1*C2) 6C² 2((L1*l1)+(L2*l2)+(L3*l3))
Volume (4/3)πR³ (Aire*h)/3 (L*l)*P

Script bash

Le script

Le script avec une mise en forme :

#!/bin/bash

# Fonctions
cercle()
{
Pcl=$((2*(3,14)*$R))
Acl=$(((3,14)*$R*$R))
Scl=$(((4)*(3,14)*$R*$R))
Vcl=$(((4/3)*(3,14)*$R*$R*$R))
}
triangle()
{
Pt=$(($C1+$C2+$C3))
At=$((($C1*$C2)/2))
St=$((2*C1*C2))
Vt=$((($At*$h)/3))
}
carre()
{
Pc=$(($a*4))
Ac=$(($a*$a))
Sc=$(($a*$a*6))
Vc=$(($a*$a*$a))
}

# Affichage et calcul
calcul()
{
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ CALCUL CERCLE / SPHERE AVEC UN RAYON DE R=$R "
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ Périmètre : P = 2πR = $Pcl m"
echo "┃ Aire : A = πR² = $Acl m"
echo "┃ Surface : S = 4πR² = $Scl m²"
echo "┃ Volume : V = (4/3)πR³ = $Vcl m³"
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ CALCUL CARRE / CUBE AVEC UN COTE DE C=$a "
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ Périmètre : P = 4C = $Pc m"
echo "┃ Aire : A = C² = $Ac m"
echo "┃ Surface : S = 6C² = $Sc m²"
echo "┃ Volume : V = C³ = $Vc m³"
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ CALCUL TRIANGLE / TETRAEDRE AVEC C1=$C1, C2=$C2, C3=$C3, H=$h"
echo "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "┃ Périmètre : P = C1+C2+C3 = $Pt m"
echo "┃ Aire : A = (C1*C2)/2 = $At m"
echo "┃ Surface : S = 2(C1*C2) = $St m²"
echo "┃ Volume : V = (C1*C2*h)/6 = $Vt m³"
echo "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
}

# Programme principal
echo -e "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "┃ PERIMETRE - AIRE - SURFACE - VOLUME "
echo -e "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
read -p $'┃ Rayon du cercle : R = \e[31m ' R
read -p $'\e[0m┃ Côté du carré : C = \e[31m ' a
read -p $'\e[0m┃ Côtés du triangle + hauteur : C1 C2 C3 h = \e[31m ' C1 C2 C3 h
echo -en "\e[0m"

# Appel des fonctions
cercle
triangle
carre
calcul

Le retour terminal

Affichage dans le terminal :

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ PERIMETRE - AIRE - SURFACE - VOLUME
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Rayon du cercle R = : 12
┃ Côté du carré C = : 42
┃ Côtés du triangle + hauteur C1 C2 C3 h = : 24 2 18 9
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ CALCUL CERCLE / SPHERE AVEC UN RAYON DE 12
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Périmètre : P = 2πR = 336 m
┃ Aire : A = πR² = 2016 m
┃ Surface : S = 4πR² = 8064 m²
┃ Volume : V = (4/3)πR³ = 24192 m³
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ CALCUL CARRE / BOITE AVEC UN COTE DE 42
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Périmètre : P = 4C = 168 m
┃ Aire : A = C² = 1764 m
┃ Surface : S = 6C² = 10584 m²
┃ Volume : V = C³ = 74088 m³
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ CALCUL TRIANGLE TETRAEDRE AVEC C1=24, C2=2, C3=18, H=9
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Périmètre : P = C1+C2+C3 = 44 m
┃ Aire : A = (C1*C2)/2 = 24 m
┃ Surface : S = 2(C1*C2) = 96 m²
┃ Volume : V = (C1*C2*h)/6 = 72 m³
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> Partager <