« Programmation/Expressions » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Tavernier (discussion | contributions)
ajout section
Tavernier (discussion | contributions)
style
Ligne 18 : Ligne 18 :
== Influence du typage ==
== Influence du typage ==


Selon le type des variables que vous utilisez lors de l'exécution d'une opération arithmétique, le résultat peut sensiblement varier, voire produire des incohérences en cas de types compatibles : il apparait en effet improbable que diviser une variable contenant le mot "arbre" avec la valeur de pi produise un résultat probabnt. De même, diviser deux nombres entraîne souvent le retour d'une valeur décimale, par exemple la division de 3 par 2. Or si on a affecté la valeur de retour de cette expression à une variable <tt>Int</tt>, cette valeur est troncaturée à l'entier immédiatement inférieur, voire arrondie dans les langages plus évoluées au nombre entier le plus proche. Ainsi, il est préférable de typer en <tt>float</tt> une variable destinée à accueillir le résultat d'une division.
Selon le type des variables qu'on utilise lors de l'exécution d'une opération arithmétique, le résultat peut sensiblement varier, voire produire des incohérences en cas de types compatibles : il apparait en effet improbable que diviser une variable contenant le mot "arbre" avec la valeur de pi produise un résultat probabnt. De même, diviser deux nombres entraîne souvent le retour d'une valeur décimale, par exemple la division de 3 par 2. Or si on a affecté la valeur de retour de cette expression à une variable <tt>Int</tt>, cette valeur est troncaturée à l'entier immédiatement inférieur, voire arrondie dans les langages plus évoluées au nombre entier le plus proche. Ainsi, il est préférable de typer en <tt>float</tt> une variable destinée à accueillir le résultat d'une division.


== Niveau système ==
== Niveau système ==

Version du 23 février 2007 à 02:20

Une expression est un segment de code qui exécute une opération arithmétique puis retourne une valeur correspondant au résultat de l'opération. Par exemple, la ligne suivante est une expression effectuant une addition :

3 + 4

L'expression 3 + 4 retourne la valeur 7 lorsqu'elle est évaluée. Elle se compose de deux parties : les opérandes (3 et 4), qui sont les valeurs auxquelles l'opération s'applique, et l'opérateur (+), qui spécifie l'opération à effectuer. Selon le type de notation en vigueur, l'opérateur peut être soit préfixée (+ 3 4 ) dans le cadre de la notation polonaise? notamment, infixée (3 + 4) comme on a l'habitude de le voir ou post-fixée (3 4 +) comme dans le cadre de la notation polonaise inverse?. Les notations polonaises permettent notamment de s'affranchir des parenthèses mais sont moins accessibles aux débutants.

Exploitation

Pour exploiter les expressions exécutées par le système, le moyen le plus commode est d'utiliser des variables auxquelles on Affectation? les valeurs retournées par les expressions. Pour affecter le résultat d'une expression à une variable, la syntaxe varie selon les langages. Ainsi pour affecter le résultat de l'expression à une variable a, on peut utiliser la syntaxe :

a := 3 + 4 en Pascal ou en Ada ;
a = 3 + 4 en C et dans tous les langages qui en dérivent ;
3 + 4 → a en Basic Casio

Expressions avec des opérandes variables

Influence du typage

Selon le type des variables qu'on utilise lors de l'exécution d'une opération arithmétique, le résultat peut sensiblement varier, voire produire des incohérences en cas de types compatibles : il apparait en effet improbable que diviser une variable contenant le mot "arbre" avec la valeur de pi produise un résultat probabnt. De même, diviser deux nombres entraîne souvent le retour d'une valeur décimale, par exemple la division de 3 par 2. Or si on a affecté la valeur de retour de cette expression à une variable Int, cette valeur est troncaturée à l'entier immédiatement inférieur, voire arrondie dans les langages plus évoluées au nombre entier le plus proche. Ainsi, il est préférable de typer en float une variable destinée à accueillir le résultat d'une division.

Niveau système

À faire...link={{{link}}}


  1. décrire les mécanismes internes comme le décalage pour les multiplications et divisions


Addition

Soustraction

Multiplication

Division

Gestion de pile