#######################################################################################################################################
# #
# V E R I F I C A T I O N D E S D E C I M A L E S / C H I F F R E S U T I L I S E S : #
# #
# #
# Author of '$xiirv/.CheckChiffresDecimales.01.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20240818102346). #
# #
#######################################################################################################################################
$Z SETParam _____FDecimalesDejaOBase $NEXIST
$Z if ($?CheckChiffresDecimales == $EXIST) then
$Z # Pour activer les editions, il faut au prealable faire : #
$Z # #
$Z # setenv CheckChiffresDecimales $EXIST #
$Z # #
$Z # sous le '$CSH'... #
$Z set ScRiPtZ=$0
$Z Techo "SCRIPT=$ScRiPtZ"
$Z set DeBuT_FiN=`echo $ScRiPtZ | $SE -e "s/^.*xxxx\.//" -e "s/\""$Z"'$//'`
$Z echo "Generation......... = {Debut_listG_$DeBuT_FiN,Fin_listG_$DeBuT_FiN}"
$Z saut
$Z set NoMbRe_ChIfFrEs_I=50
$Z set NoMbRe_ChIfFrEs_O=10
#20240904084431____:$Z set NChIfFrEs_I=$_____NIterations #
$Z SIZE $FiLeDeCiMaLeS
$Z if ($Fsize == 0) then
$Z set KnL="@"
$Z set NChIfFrEs_I=`$CA $FiLeDeCiMaLeS.1 | $R "$K_NL" "$KnL" | $SE -e 's/\.//' -e "s/\\//g" -e "s/$KnL//g" | $WCc`
$Z # Cas ou '$FiLeDeCiMaLeS.1' est deja dans la bonne base... #
$Z unset KnL
$Z else
$Z set NChIfFrEs_I=`$CA $FiLeDeCiMaLeS | $GRE "^[$Alphabet_0_9]" | $xcp/substitue.01$X c01="[;\.]" s01="" | $WCc`
$Z # Cas ou '$FiLeDeCiMaLeS.1' n'est pas dans la bonne base... #
$Z endif
$Z unset Fsize
$Z set NChIfFrEs_O=`$CA $FiLeDeCiMaLeS.9 | $WCl`
$Z echo "_____FDecimales.... = $_____FDecimales"" (# $NChIfFrEs_I)"
$Z echo "FiLeDeCiMaLeS.1.... = $FiLeDeCiMaLeS.1"
$Z echo "FiLeDeCiMaLeS.9.... = $FiLeDeCiMaLeS.9"" (# $NChIfFrEs_O)"
$Z saut
$Z FilSTmpB FCoNvErTiSsEuR
$Z if ($_____FDecimalesDejaOBase == $NEXIST) then
#20240822101655____:$Z $CA $FiLeDeCiMaLeS | \ #
#20240822101655____:$Z $xcp/substitue.01$X c01="\\\n" s01="" \ #
#20240822101655____:$Z c02=";" s02="" | \ #
#20240822101655____:$Z $xcg/head.01$X nombre_caracteres=$NoMbRe_ChIfFrEs_I \ #
#20240822101655____:$Z >> $FCoNvErTiSsEuR #
$Z $CA $FiLeDeCiMaLeS | \
$Z $xcp/substitue.01$X c01="\\\n" s01="" \
$Z c02=";" s02="" | \
$Z $xcg/head.01$X utiliser_caracteres=VRAI \
$Z nombre_caracteres=$NoMbRe_ChIfFrEs_I \
$Z >> $FCoNvErTiSsEuR
$Z else
$Z echo "ibase = 6\n""obase = 6\n""nombre = " \
$Z > $FCoNvErTiSsEuR.1
#20240822101655____:$Z $CA $_____FDecimales | \ #
#20240822101655____:$Z $xcp/substitue.01$X c01="\n" s01="" \ #
#20240822101655____:$Z > $FCoNvErTiSsEuR.2 #
#20240822101655____:$Z $CA $FCoNvErTiSsEuR.1 $FCoNvErTiSsEuR.2 | \ #
#20240822101655____:$Z $xcp/substitue.01$X c01="\(nombre *= *\)\n" s01="\1" | \ #
#20240822101655____:$Z $xcg/head.01$X nombre_caracteres=$NoMbRe_ChIfFrEs_I \ #
#20240822101655____:$Z >> $FCoNvErTiSsEuR #
$Z $CA $_____FDecimales | \
$Z $xcp/substitue.01$X c01="\n" s01="" \
$Z > $FCoNvErTiSsEuR.2
$Z $CA $FCoNvErTiSsEuR.1 $FCoNvErTiSsEuR.2 | \
$Z $xcp/substitue.01$X c01="\(nombre *= *\)\n" s01="\1" | \
$Z $xcg/head.01$X utiliser_caracteres=VRAI \
$Z nombre_caracteres=$NoMbRe_ChIfFrEs_I \
$Z >> $FCoNvErTiSsEuR
$Z endif
$Z set BaSe_I=`$CA $FCoNvErTiSsEuR | $GRE "^ibase" | $SE -e "s/^ibase *= *//"`
$Z set BaSe_O=`$CA $FCoNvErTiSsEuR | $GRE "^obase" | $SE -e "s/^obase *= *//"`
$Z set NoMbRe_I=`$CA $FCoNvErTiSsEuR | $GRE "^nombre" | $SE -e "s/^nombre *= *//"`
$Z # Le fichier '$FCoNvErTiSsEuR' contient le nombre a convertir par '$BC'... #
$Z set PoInT_Ou_ViRgUlE=`echo "$NoMbRe_I" | $GRE "[.,]"`
$Z set NoMbRe_O1=`$CA $FiLeDeCiMaLeS.1 | $xcg/head.01$X uc=VRAI nc=$NoMbRe_ChIfFrEs_O`
$Z # Le fichier '$FiLeDeCiMaLeS.1' contient le resultat complet de la conversion par '$BC'... #
$Z set NoMbRe_O1=`echo "$NoMbRe_O1" | $SE -e "s/ //g"`
$Z set NoMbRe_O9=`$HEA -$NoMbRe_ChIfFrEs_O $FiLeDeCiMaLeS.9`
$Z # Le fichier '$FiLeDeCiMaLeS.9' contient le resultat de la conversion par '$BC' #
$Z # eventuellement prive de sa partie entiere et du point decimal... #
$Z set NoMbRe_O9=`echo "$NoMbRe_O9" | $SE -e "s/ //g"`
$Z set NChIfFrEs_I=`echo "$NChIfFrEs_I" | $SE -e 's/\(.\)\(......\)$/\1.\2/'`
$Z set NChIfFrEs_O=`echo "$NChIfFrEs_O" | $SE -e 's/\(.\)\(......\)$/\1.\2/'`
$Z set NChIfFrEs_I=`echo "$NChIfFrEs_I" | $SE -e 's/\(.\)\(...\)$/\1.\2/'`
$Z set NChIfFrEs_O=`echo "$NChIfFrEs_O" | $SE -e 's/\(.\)\(...\)$/\1.\2/'`
$Z set MeSsAgE_C="Conversion du nombre"
$Z set MeSsAgE_I="$NoMbRe_I... de $NChIfFrEs_I chiffres -base $BaSe_I-"
$Z if ("$NoMbRe_O1" == "$NoMbRe_O9") then
$Z set MeSsAgE_O="en $NoMbRe_O1... de $NChIfFrEs_O chiffres -base $BaSe_O-"
$Z else
$Z set MeSsAgE_O="en $NoMbRe_O1..., soit $NoMbRe_O9... de $NChIfFrEs_O chiffres -base $BaSe_O-"
$Z endif
$Z if ($_____SupPartieEntiere == $EXIST) then
$Z set M_PE_1="sans"
$Z else
$Z set M_PE_1="avec"
$Z endif
$Z set M_PE_2="la partie entiere"
$Z if ("$PoInT_Ou_ViRgUlE" == "$K_VIDE") then
$Z echo "$MeSsAgE_C entier $MeSsAgE_I $MeSsAgE_O $M_PE_1 $M_PE_2."
$Z else
$Z echo "$MeSsAgE_C decimal $MeSsAgE_I $MeSsAgE_O $M_PE_1 $M_PE_2."
$Z endif
$Z FilSTmpE FCoNvErTiSsEuR
$Z saut
$Z set NoM_ImAgeS=`echo $DeBuT_FiN | $R "_" "."`
$Z PushdC $xiMi
$Z ls | \
$Z $GRE "^$NoM_ImAgeS" | \
$Z $SE -e "s/\""$D"'$//' | \
$Z $SE -e "s/^/$Prompt""Pcreation /"
$Z PopdC
$Z saut
$Z exit
$Z # Et on arrete la... #
$Z # #
$Z # On rappelle le 20240904084431 que tous les fichiers '$FiLeDeCiMaLeS*' sont conserves #
$Z # puisque le : #
$Z # #
$Z # FilSTmpE FiLeDeCiMaLeS #
$Z # #
$Z # n'est finalement pas execute... #
$Z else
$Z endif