logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [25/05/2014 15:28]
Hypathie [Bash : les symboles dans les calculs]
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [06/07/2014 09:20]
Hypathie [Symboles dans les calculs mathématiques]
Ligne 5: Ligne 5:
   * Commentaires : scripts   * Commentaires : scripts
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>​en-chantier à-tester ​à-placer}}  +  * Suivi : {{tag>​en-chantier à-tester }}  
-    * Création par **Hypathie** 08/04/2014+    * Création par [[user>Hypathie]] 08/04/2014
     * Testé par <​Hypathie>​ le <Avril 2014>     * Testé par <​Hypathie>​ le <Avril 2014>
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota : suite du petit commentaire sur les caractères de la page man bash** 
  
-1) Intro I :  [[atelier:​chantier:​bash-les-differents-caracteres-speciaux|Bash : Introduction]]\\ ​ 
  
-2) chap II : [[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]]\\ +  * [[atelier:chantier:​bash-les-differents-caracteres-speciaux|Vision d'​ensemble]] 
 +  * [[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]] 
 +  * [[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Bash : les opérateurs lexicographiques]] 
 +  * [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]] 
 +  * [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]] 
 +  * [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]] 
 +  * [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]]
  
-3) chap III : [[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Bash : les opérateurs lexicographiques]]\\ ​+Contributeurs, ​les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
  
-4) chap IV : [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]]\\ ​+=====Symboles dans les calculs mathématiques =====
  
-5) chap V : C'est ici !\\ +====Opérateurs arithmétiques ====
  
-6) chap VI : [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]]\\ ​+^opérateurs ​       ^opérations ​                    ^ 
 +| <​code>​+</​code> ​  | addition ​                     | 
 +| <​code> ​-</​code> ​ | soustraction ​                 | 
 +| <​code>/</​code> ​  | division (récup. le quotient) |  
 +| <​code>​%</​code> ​  | modulo (récup. le reste) ​     | 
 +| <​code>​*</​code> ​  | multiplication ​               | 
 +| <​code>​** </​code>​ | puissance (bash 2.02 et sup.) |
  
-7) chap VII : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]]\\ ​+**Pour les calculs complexes ​bash n'est pas adapté, il faut utiliser le langage bc.**
  
-8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]]+====Opérateurs d'​affectation arithmétique====
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !+^opérateurs ​               ^opérations ​                      ^ 
 +| <​code>​=</​code> ​          | affectation arithmétique ​       | 
 +| <​code>​+=</​code> ​         | incrémentation ​                 | 
 +| <​code>​-=</​code> ​         | décrémentation ​                 | 
 +| <​code>/​=</​code> ​         | affectation par division ​       | 
 +| <​code>​+=</​code> ​         | affectation par multiplication ​ | 
 +| <​code>​%=</​code> ​         | afectation du reste             |
  
-=====Symboles dans les calculs mathématiques ===== +**Voir ​:**\\  
-====1) La construction ​:==== +  * **[[atelier:​chantier:​script-bash-variables-arguments-parametres?&​#typologie-des-variables|typologie de variables]]*
-<​code>​ +  * **[[atelier:​chantier:​script-bash-variables-arguments-parametres?&​#variables-numeriques-et-calculs|variables numériques et calculs]]**
- ​((...))  +
-</​code>​ permet une évaluation arithmétique.  +
-<​code>​ +
-#!/bin/bash +
-a=$(( 5 + 3 )) +
-echo $a           # réponse 8 +
-b=$(( 5 2 )) +
-echo $b           réponse 3 +
-c=$(( 6 2 )) +
-echo $c           réponse 12 +
-d=$(( 10 / 3 )) +
-echo $d           # réponse 3 +
-e=$(( 10 % 3 )) +
-echo $e           # réponse 1 +
-</​code>​+
  
-====2) avec la commande let (les signes mathématiques ont la même fonction) :==== +====Opérateurs binaires ​==== 
-<​code>​ +Ces opérateurs s'utilisent sur des binaires, (sur des 1 et des zéro).
-#​!/​bin/​bash +
-let "a = 5" +
-let "b = 10" +
-let "c = a + b" +
-let "e= a * b" +
-let "f= b / a" +
-let "g= b % a" +
-echo -e  "$c \n$e \n$f \n$g" ​ # ou /bin/echo "$c $e $f $g" +
-# réponse :  +
-15  +
-50  +
-2  +
-+
-# bashisme de l'option -e pour forcer le retour à la ligne pour chaque appel de valeur $c $e $f $g +
-# réponse : 15 50 2 0 +
-</​code>​+
  
-====3écriture proche de c :====+^ Opérateurs ​      ^ significations ​                                            ^ 
 +| <​code><<​ </​code>​ | décalage d'un bit à gauche (=mutiplication par deux)       | 
 +| <​code>>>​ </​code>​ | décalage d'un bit à droite (=division par deux           | 
 +| <​code>&</​code> ​  | ET logique ​ (ex on a une variable=1; si on fait &1 cela fait 1 (en binaire 1 et 1 1)| 
 +| <​code>​|</​code> ​  | OU (inclusif) binaire ​                                     | 
 +| <​code>​~</​code> ​  | NON binaire ​                                               | 
 +| <​code>​^</​code> ​  | XOR (ou exclusif) binaire ​                                 |  
 + 
 +<​note>​ 
 +REMARQUE 
 +Les **"ET, OU et NON" logiques** peuvent aussi être remplacés (de façon équivalente) par les **opérateurs logiques** que l'on a vu pour la composition de commandes sur erreur et sur réussite.
 <​code>​ <​code>​
-let "a = 5" +&& ​  : exécution de la commande suivante si, et seulement si la précédente renvoie 0 
-let "b = 10" +||   : exécutuion de la commande suivante si, et seulement si la précédente ​renvoie autre chose que 0 
-let "c = a *= 3" +   : ​inverse du retour ​d'une commande, ​c'est à dire un "NON" ​logique
-let "d = a += 3" ​    # valeur ​précédente ​de a conservée pour calculer d : 15+3 =18 +
-let "e = b /= 3" +
-let "f = b /= 3" ​   # valeur précédente de b conservée pour calculer f 3/3 =1 +
-echo "​c=$c ​d=$d e=$e f=$f" # réponse : c=15 d=18 e=3 f=1 +
-i=1 +
-let "i += 7" +
-echo "​i=$i" ​       # réponse : i=8 +
-j=4 +
-let "j *= 5" +
-echo "​j=$j" ​       # réponse : j=20+
 </​code>​ </​code>​
- +</​note>​ 
-====4) écriture ​utile pour les boucles : ====+==== Écriture ​utile pour les boucles : ====
   * **post-incrémentation avec conservation de la la valeur et idem pour pré-incrémentation :**   * **post-incrémentation avec conservation de la la valeur et idem pour pré-incrémentation :**
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y  # ici les signes = permettent une affection declare -i x=20 y  # ici les signes = permettent une affection
Ligne 97: Ligne 82:
 </​code>​ </​code>​
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 107: Ligne 92:
  
   * **post-décrémentation avec conservation de la la valeur et idem pour pré-décrémentation :**   * **post-décrémentation avec conservation de la la valeur et idem pour pré-décrémentation :**
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 116: Ligne 101:
 </​code>​ </​code>​
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 125: Ligne 110:
 </​code>​ </​code>​
  
-===tuto précédent :===+=====tuto précédent :=====
  
 [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]] [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]]
  
-===La suite, c'est ici : ===+=====La suite, c'est ici : =====
 [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]] [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]]
doc/programmation/shells/page-man-bash-iv-symboles-dans-les-calculs-mathematiques.txt · Dernière modification: 26/04/2023 19:29 par bendia

Pied de page des forums

Propulsé par FluxBB