NSI 1ère

Variables, affectations et expressions
Exercices corrigés

Maîtrisez les variables, affectations et expressions : types de données, opérations, priorités et bonnes pratiques grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{Variable} = \text{Nom} \mapsto \text{Valeur}\)
Affectation de variable
Variable
nom = valeur
Stockage
Expression
3 + 5 * 2
Calcul
Type
int, float, str
Catégorie
📦
Variable : Espace de stockage nommé qui contient une valeur.
➡️
Affectation : Opération qui associe une valeur à une variable.
🧮
Expression : Combinaison de valeurs, variables et opérateurs qui produit une valeur.
Exercice 1
Comprendre les affectations successives de variables
Exercice 2
Évaluer des expressions avec priorités d'opérateurs
Exercice 3
Manipuler des variables pour échanger des valeurs
Exercice 4
Combiner des variables de différents types
Exercice 5
Analyser des expressions complexes avec parenthèses
Corrigé : Exercices 1 à 3
1 Affectations successives
Définition :

Affectation : Opération qui consiste à attribuer une valeur à une variable. La variable stocke alors cette valeur jusqu'à ce qu'elle soit modifiée.

Méthode d'évaluation :
  1. Lire les instructions dans l'ordre
  2. Suivre la trace des variables
  3. Évaluer chaque expression avant affectation
  4. Remplacer la valeur précédente par la nouvelle
a = 5 b = 10 c = a + b a = c - 3 b = a * 2
Ligne 1: a = 5 → a = 5
Ligne 2: b = 10 → b = 10
Ligne 3: c = a + b → c = 5 + 10 = 15
Ligne 4: a = c - 3 → a = 15 - 3 = 12
Ligne 5: b = a * 2 → b = 12 * 2 = 24

Valeurs finales: a = 12, b = 24, c = 15
Étape 1 : Initialisation des variables

a = 5, b = 10 - valeurs initiales assignées

Étape 2 : Calcul de c

c = a + b = 5 + 10 = 15 - utilise les valeurs actuelles de a et b

Étape 3 : Modification de a

a = c - 3 = 15 - 3 = 12 - a remplace sa valeur précédente

Résultat final :

a = 12, b = 24, c = 15

Règles appliquées :

Ordre : Les instructions s'exécutent dans l'ordre d'apparition

Valeurs actuelles : Une expression utilise les valeurs actuelles des variables

Remplacement : L'affectation remplace la valeur précédente de la variable

2 Priorités d'opérateurs
Définition :

Priorités d'opérateurs : Règles qui déterminent l'ordre d'évaluation des opérations dans une expression.

Priorité Opérateurs Exemple 1 (haute) () (3 + 5) 2 **, ^ 2**3 = 8 3 *, /, // 6 * 2 = 12 4 +, - 10 - 4 = 6
resultat1 = 3 + 5 * 2 resultat2 = (3 + 5) * 2 resultat3 = 10 - 4 / 2 resultat4 = 2 ** 3 + 1
resultat1 = 3 + 5 * 2 = 3 + 10 = 13 (multiplication d'abord)
resultat2 = (3 + 5) * 2 = 8 * 2 = 16 (parenthèses d'abord)
resultat3 = 10 - 4 / 2 = 10 - 2 = 8 (division d'abord)
resultat4 = 2 ** 3 + 1 = 8 + 1 = 9 (puissance d'abord)
Étape 1 : Identifier les opérateurs

Repérer *, /, ** qui ont une priorité supérieure à +, -

Étape 2 : Évaluer les opérations prioritaires

Calculer d'abord les multiplications, divisions, puissances

Étape 3 : Évaluer les additions/soustractions

Calculer dans l'ordre de gauche à droite

Résultats :

resultat1 = 13, resultat2 = 16, resultat3 = 8, resultat4 = 9

Règles appliquées :

Parenthèses : Toujours évaluées en premier

Puissance : Prioritaire sur multiplication/division

Multiplication/Division : Prioritaires sur addition/soustraction

3 Échange de valeurs
Définition :

Échange de variables : Technique pour permuter les valeurs de deux variables sans perdre de données.

# Méthode 1 : Avec variable temporaire a = 10 b = 20 temp = a # Sauvegarde de la valeur de a a = b # a reçoit la valeur de b b = temp # b reçoit l'ancienne valeur de a # Méthode 2 : Sans variable temporaire (arithmétique) a = 10 b = 20 a = a + b # a = 30 b = a - b # b = 30 - 20 = 10 a = a - b # a = 30 - 10 = 20
Méthode 1:
a = 10, b = 20
temp = 10, a = 20, b = 10
Résultat: a = 20, b = 10

Méthode 2:
a = 10, b = 20
a = 30, b = 10, a = 20
Résultat: a = 20, b = 10
Étape 1 : Comprendre le problème

On veut que a prenne la valeur de b et b prenne la valeur de a

Étape 2 : Utiliser une variable temporaire

Pour éviter de perdre la valeur originale de a

Étape 3 : Effectuer les affectations dans l'ordre correct

1. Sauvegarder a, 2. Affecter b à a, 3. Affecter l'ancien a à b

Échange réussi :

Après l'échange, a = 20 et b = 10

Règles appliquées :

Protection : Utiliser une variable temporaire pour sauvegarder une valeur

Séquence : Respecter l'ordre des affectations

Vérification : Toujours vérifier que les valeurs sont correctement échangées

Corrigé : Exercices 4 à 5
4 Types de variables
Définition :

Type de variable : Catégorie qui détermine la nature des données stockées et les opérations possibles.

Type Exemple Opérations int 42 + - * / // float 3.14 + - * / str "hello" + (concaténation) bool True and or not
# Combinaison de types nom = "Alice" age = 16 taille = 1.65 est_lyceenne = True # Concaténation de chaînes presentation = "Je m'appelle " + nom + " et j'ai " + str(age) + " ans" # Opérations mixtes annee_naissance = 2023 - age double_taille = taille * 2
nom = "Alice" (str)
age = 16 (int)
taille = 1.65 (float)
est_lyceenne = True (bool)

presentation = "Je m'appelle Alice et j'ai 16 ans"
annee_naissance = 2007
double_taille = 3.3
Étape 1 : Identifier les types de chaque variable

int, float, str, bool - chaque type a des propriétés spécifiques

Étape 2 : Comprendre les opérations possibles

Concaténation pour les chaînes, opérations arithmétiques pour les numériques

Étape 3 : Convertir les types si nécessaire

Utiliser str(), int(), float() pour convertir entre types

Types correctement gérés :

Les opérations sont adaptées au type des variables impliquées

Règles appliquées :

Compatibilité : Les opérations doivent être compatibles avec les types

Conversion : Convertir explicitement les types si nécessaire

Prévisibilité : Connaître les comportements des opérations par type

5 Expressions complexes
Définition :

Expression complexe : Combinaison de plusieurs opérations avec des parenthèses pour contrôler l'ordre d'évaluation.

# Expression complexe avec parenthèses imbriquées resultat = ((15 - 5) * 2 + 10) / (3 + 2) # Autre exemple x = 4 y = 3 z = 2 resultat2 = (x**2 + y**2) ** 0.5 + (z * (x + y)) # Expression booléenne a = 5 b = 10 c = 3 expression_bool = (a < b) and (b > c * 2) or (a + c == b)
resultat = ((15 - 5) * 2 + 10) / (3 + 2)
= (10 * 2 + 10) / 5
= (20 + 10) / 5
= 30 / 5 = 6.0

resultat2 = (4**2 + 3**2) ** 0.5 + (2 * (4 + 3))
= (16 + 9) ** 0.5 + (2 * 7)
= 25 ** 0.5 + 14
= 5 + 14 = 19

expression_bool = (5 < 10) and (10 > 3 * 2) or (5 + 3 == 10)
= True and (10 > 6) or (8 == 10)
= True and True or False
= True or False = True
Étape 1 : Évaluer les parenthèses intérieures

Commencer par les parenthèses les plus imbriquées

Étape 2 : Appliquer les priorités d'opérateurs

Puissances, puis multiplication/division, puis addition/soustraction

Étape 3 : Évaluer les opérations logiques

not, then and, then or (dans les expressions booléennes)

Expressions évaluées :

resultat = 6.0, resultat2 = 19, expression_bool = True

Règles appliquées :

Imbrication : Évaluer les parenthèses de l'intérieur vers l'extérieur

Priorités : Respecter l'ordre des opérations même dans les expressions complexes

Logique : Comprendre l'ordre d'évaluation des opérateurs booléens

Cours bien détaillé
\(\text{Expression} = \text{Opérande}_1 \circ \text{Opérateur} \circ \text{Opérande}_2\)
Structure d'une expression
🎯
Définition : Une variable est un espace de stockage nommé qui contient une valeur pouvant changer durant l'exécution d'un programme.
📏
Objectif : Stocker des données pour les réutiliser et les manipuler dans un programme.
📐
Caractéristiques : Nom, type, valeur, portée - propriétés qui définissent une variable.
📝
Opérations : Affectation, lecture, modification - actions possibles sur les variables.
💡
Conseil : Donnez des noms explicites aux variables pour faciliter la compréhension
🔍
Attention : Faites attention aux types de données lors des opérations
Astuce : Tracez l'exécution pas à pas pour suivre les valeurs des variables
📋
Méthode : Respectez la priorité des opérateurs dans les expressions
Vérification : Vérifiez toujours les résultats intermédiaires dans les expressions complexes
Règles de nommage :
  • Commencer par : Lettre ou underscore (_)
  • Suite autorisée : Lettres, chiffres, underscore
  • Sensibilité : Majuscules/minuscules sont distinguées
  • Mots réservés : Ne pas utiliser les mots-clés du langage
  • Convention : Utiliser des noms descriptifs (snake_case)
Règles importantes :
  • Une variable doit être initialisée avant d'être utilisée
  • L'affectation remplace la valeur précédente de la variable
  • Les expressions sont évaluées avant d'être affectées
  • Les priorités d'opérateurs déterminent l'ordre d'évaluation
  • Les parenthèses permettent de modifier l'ordre d'évaluation
Variables, affectations et expressions Notions de base d’algorithmique