VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
ALG1 1INSTRUCTIONS ET ÉVALUATIONS DEXPRESSIONS
Programmer consiste à construire un ensemble ordonné dinstructions ou statement en anglais,
qui, lorsqu’elles sont exécutées, produisent des effets précis et utiles sur les informations contenues
dans un ordinateur.
L’ensemble des instructions s’appelle un programme.
On peut voir une instruction comme étant une consigne exprimée dans un langage de program-
mation, qui peut être simple ou composée.
On distingue quatre grandes familles d’instructions :
,l’affectation de variables ;
,la lecture/écriture ;
,les tests ;
,les boucles.
Une expression est un ensemble de valeurs, reliées par des opérateurs définissant une valeur.
Les expressions servent à construire des instructions.
Dans la plupart des langages, une expression est :
,soit une constante, tel un nombre ;
,soit le nom d’une variable ;
,soit une expression entre parenthèses, tel (124) ;
,soir composée de plusieurs expressions réunies à l’aide d’un opérateur, comme 3 +(4 2) où
les expressions 3 et 42 sont reliées par l’opérateur +;
,soit composée d’une fonction appliquée à une autre expression comme ln(3).
Une expression peut faire intervenir des variables. Toutefois, une expression devant être évaluée
par l’ordinateur, ces dernières devront avoir été au préalable affectées.
Console Python
1>>> 2*3-4+1
23
3>>> x=2
4>>> y=3*x-x**2-1
5>>> if y<0:
6print("oui")
7print("il fait beau")
8x=2*x-1
9print(x)
10 else:
11 print("non")
12 print(x)
Expression
Instruction
d’affectation
Suite
d’instructions
ÀRETENIR NO1 - INSTRUCTIONS ET EXPRESSIONS
VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
ALG1 2DU CÔTÉ DES VARIABLES
2.1 CONCEPT GÉNÉRAL DE VARIABLE
Une variable est la donnée de :
une localisation en mémoire, représentée par son adresse qui est l’identifiant de la variable ;
un nom donnée à la variable pour la commodité d’utilisation lors des appels ou affectations.
Console Python
1>>> x=5 # Nom et contenu
2>>> id(x) # Identifiant /
3emplacement mémoire
41330016
Le contenu d’une variable est la valeur stockée à
l’emplacement mémoire réservé à la variable.
Le déchiffrage du code binaire de ce contenu dé-
pendra du type de la variable.
ÀRETENIR NO2 - VARIABLE
• Laffectation est l’action de définir le contenu d’une variable, c’est à dire stocker une valeur donnée
à l’emplacement mémoire associé.
La lecture ou lappel d’une variable consiste à récupérer le contenu de la variable afin de l’utiliser.
On parlera détat d’une variable pour désigner la donnée de cette variable et de son contenu.
La syntaxe en Python est la suivante, et toute
tentative de lecture d’une variable qui n’a jamais
été affectée renverra une erreur.
Console Python
1>>> x=3 # Affectation
2>>> x # Lecture/appel
33
Console Python
1>>> a
2Traceback (most recent call last):
3File "<pyshell#32>", line 1,
4in <module> a
5NameError: name ’a’ is not defined
ÀRETENIR NO3 - AFFECTATION ET LECTURE
2.2 TYPE DUNE VARIABLE
Le type d’une variable désigne la nature du contenu : entier, flottant, chaîne de caractères, etc.
ÀRETENIR NO4 - TYPE
REMARQUE 1TYPE ET DÉCODAGE
Le type d’une variable détermine la taille à réserver en mémoire pour la variable, ainsi que
l’algorithme de traduction de l’objet en code binaire et inversement.
INFORMATIQUE - CPGE MPSI - 2016/17 1 ALG1- VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
REMARQUE 2DÉCLARATION DE VARIABLES
Selon le langage utilisé, on peut être amené à déclarer les variables avant de les utiliser. Cela
consiste en particulier à déclarer son type de sorte que l’ordinateur puisse attribuer le bon
espace mémoire. On parle de typage statique.
D’autres langages, dont Python , nous dispense de cela. Dans ce cas, c’est l’ordinateur lors
de la première affectation de la variable qui détermine automatiquement le type de cette der-
nière. On parle ici de typage dynamique.
Console Python
1>>> x=3
2>>> type(x)
3<class ’int’>
4>>> x=3.
5>>> type(x)
6<class ’float’>
Cependant il faudra être vigilant car le type
d’une variable a une influence sur la manière
dont elle est gérée!
Console Python
1>>> 1+2**53-2**53
21
3>>> 1+2.**53-2**53
40.0
On remarquera que Python parle de class pour désigner le type d’une variable et c’est une
terminologie qui fait référence au fait que Python est un langage orienté objet.
2.3 TYPES SIMPLES EN Python
Deux types numériques sont proposés en
Python :
int pour integer pour les entiers relatifs ;
float pour floatting point number pour tous
les autres nombres réels.
La taille des entiers en Python n’est limitée que
par les capacités de l’ordinateur utilisé.
Console Python
1>>> x=5
2>>> type(x)
3<class ’int’>
4>>> x=5.
5>>> type(x)
6<class ’float’>
7
ÀRETENIR NO5 - LES TYPES NUMÉRIQUES
Il s’agit du type bool pour boolean et on parle
de variable booléenne ou de booléens.
Ces derniers servent à représenter le résultat de
l’évaluation d’expressions logiques qui prennent
soit la valeur True , soit la valeur False traduits
par Vrai et Faux.
Console Python
1>>> 2-3>0
2False
3>>> x=2*3-5==1
4>>> type(x)
5<class ’bool’>
ÀRETENIR NO6 - LES BOOLÉENS
2.4 BRÈVE PRÉSENTATION DES ITÉRABLES OU TYPES COMPOSÉS EN Python
Le type str pour text string servira à manipu-
ler les chaînes de caractères. Il s’agit d’un premier
type de données composées.
Console Python
1>>> x="toto"
2>>> type(x)
3<class ’str’>
ÀRETENIR NO7 - LES CHAÎNES DE CARACTÈRES
Le concept en mathématiques de nuplets géné-
ralise la notion de couple ou de triplet et est asso-
cié à la notion de produit cartésien d’ensembles.
En Python , il s’agit du type tuple et leur sai-
sie est identique à leur notation mathématique :
suite ordonnée de valeurs séparées par des vir-
gules en encadrées par des parenthèses.
Il est possible d’accéder à la valeur d’une des
composantes du nuplet manipulé.
On retiendra en particulier que l’on ne peut pas
modifier la valeur d’une des composantes d’un
tuple et on dira qu’un tuple est immuable.
Console Python
1>>> x=(2, -3, 4, 5, 0.5)
2>>> type(x)
3<class ’tuple’>
4>>> x[2]
54
6>>> x[2]=-10
7Traceback (most recent call last):
8File "<pyshell#55>", line 1,
9in <module>
10 x[2]=-10
11 TypeError: ’tuple’ object does not
12 support item assignment
ÀRETENIR NO8 - LES nUPLETS
Une liste se présente sous la forme d’une suite
ordonnée de données séparées par des virgules et
encadrées par des crochets.
Chaque donnée est indexée et on peut modifier
les composantes d’une liste.
On parle aussi de tableau de données dès lors
que ces dernres sont de même type.
Console Python
1>>> x=[1,-3,4,5,-6]
2>>> type(x)
3<class ’list’>
4>>> x[3]
55
6>>> x[3]=-1
7>>> x
8[1, -3, 4, -1, -6]
ÀRETENIR NO9 - TABLEAUX ET LISTES
REMARQUE 3INDEXATION DES nUPLETS ET DES LISTES
Comme dans la plupart des langages, l’indice de la première composante d’un nuplet ou
d’une liste est 0 en Python .
Les composantes d’une liste ou d’un nuplet en Python ne sont pas nécessairement des
données de même type, chose à laquelle nous ne serons confrontés qu’exceptionnellement.
INFORMATIQUE - CPGE MPSI - 2016/17 2 ALG1- VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
ALG1 3MANIPULATION DE VARIABLES ET TRACE DUN ALGORITHME
Lors de l’exécution d’un algorithme des variables sont amenées à changer de valeurs. Il est parfois
utile de tracer les valeurs de ces dernières, souvent sur un exemple, pour s’assurer du bon fonction-
nement de notre algorithme ou tout simplement le prouver.
1A4;
2B11;
3ABA;
4BBA;
5AA+B;
Instruction Valeur de A Valeur de B
1 4
2 4 11
3 7 11
474
5 11 4
ÀRETENIR NO10 - TRACE DUN ALGORITHME
MISE EN OEUVRE
EXERCICE NO1Dans quel état sont les variables
A, B et C après l’exécution de cette série d’instruc-
tions ?
1A5;
2B3;
3CA+B;
4A2;
5CBA;
EXERCICE NO2Dans quel(s) état(s) sont les va-
riables xet yavant l’exécution de cette série
d’instructions ? Console Python
1>>> y-2
21
3>>> x*x
44
5>>> x+y
61
EXERCICE NO3
(1). Prouver que l’algorithme ci-contre échange
le contenu des variables A et B.
(2). Écrire un autre algorithme échangeant les
variables A et B.
Entrées : A et B
1ABA;
2BBA;
3AA+B;
EXERCICE NO4Que font les algorithmes suivants ?
Entrées : A, B et C
1AA+B+C;
2BB+C;
3CAC;
4AAC;
5BCB+A;
6CCB;
Algorithme 1:
Entrées : A, B et C
1BB+C;
2CBC;
3BBC;
4AA+B;
5BAB;
6AAB;
Algorithme 2:
Entrées : A, B et C
1DA;
2AB;
3BD;
4DB;
5BC;
6CD;
Algorithme 3:
Entrées : A, B et C
1DA;
2AB;
3BC;
4CD;
Algorithme 4:
EXERCICE NO5Compléter le tableau suivant à partir des quatre algorithmes précédents.
Algorithme no1 2 3 4
Affectations
Additions et
soustractions
Qu’en conclure ?
INFORMATIQUE - CPGE MPSI - 2016/17 3 ALG1- VARIABLES,EXPRESSIONS,INSTRUCTIONS ET TRACE
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !