2022-2023
ENCG CASABLANCA
Introduction à la programmation et algorithmique
Introduction
Qu’est ce qu’un ordinateur :
une machine totalement dénuée d'intelligence
capable d’effectuer un grand nombre de tâches
Exécute très rapidement et sans erreurs les ordres qu'on
lui donne
Introduction à la programmation et algorithmique
Qu’est-ce qu’un programme ?
Assemblage et enchaînement d’instructions élémentaires
Écrit dans un langage de programmation
Exécuté par un ordinateur afin de traiter les données d’un
problème
et renvoyer un ou plusieurs résultats
Introduction à la programmation et algorithmique
Environnement de programmation
Programme s’écrit dans un fichier texte
On écrit les commandes les unes à la suite des autres
Le compilateur
vérifie la syntaxe du fichier texte
Avaancer au lieu de avancer
traduit en langage machine (100101100101001011…)
Introduction à la programmation et algorithmique
Environnement de programmation
Environnement de programmation dédié
Fichier
Fichier traduit
source compilateur
Affichage des Erreurs
Introduction à la programmation et algorithmique
Programmation
Un programme est réalisé dans le but d’effectuer un ensemble de
traitements particuliers sur un ensemble de données
Définir sous quelle forme les données initiales seront fournies à
l’application
Définir sous quelle forme les résultats seront communiqués
Expliciter les différentes actions à réaliser pour réaliser cette tâche
Introduction à la programmation et algorithmique
Données et traitements
Donnée : valeur stockée
variable ou constante
Type
Traitement : opérations sur les données
instructions
Données initiales Traitements résultats
Introduction à la programmation et algorithmique
Analyse du problème
Décomposer la tâche
Exemple simple : moyenne de 10 notes
notes Calculer moyenne
saisies Moyenne affichée
Additionner les Diviser la donnée
saisie Lire et stocker
données notes somme par 10
Afficher la affichage
les données Donnée écran
clavier notes
et stocker et stocker la
moyenne
donnée somme donnée moyenne
Introduction à la programmation et algorithmique
Sous programme
Sous-programme
Diviser pour mieux régner
Intérêts :
Programmer tâche par tâche
Meilleure lisibilité du code
Économie de codage et réutilisation
Inconvénients :
Nécessite de réfléchir en blocs de fonctionnalités
Introduction à la programmation et algorithmique
Où on apprend réellement à programmer
Introduction à la programmation et algorithmique
Algorithmique
Un peu de vocabulaire…
Algorithme : enchaînement des actions (instructions)
nécessaires pour résoudre un problème
Différentes appellations
langage algorithmique
pseudo-langage de programmation
pseudo-code
Introduction à la programmation et algorithmique
Organisation d’un programme
Exemple d’un programme :
PROGRAMME monProgr
/* Constantes: initialisation obligatoire */
CONST const1 <- 10 : entier
const2 <- "bonjour!" : chaîne
// les variables au sens strict
déclarations
VAR varReel1, varReel2 : réels
varChaine : chaîne
DEBUT
Instruction1
Instruction2 Corps du programme
…
FIN
Où on se rend compte qu’un ordinateur n’est qu’une succession
de boites !
Introduction à la programmation et algorithmique
Les données
Données = ensemble des informations manipulées
par un programme
Les données d'un programme sont mémorisées en
mémoire centrale dans des variables (sortes de cases)
Introduction à la programmation et algorithmique
Notion de variable
Une variable possède :
une valeur contenue par la case mémoire
un identificateur : nom unique par lequel on peut accéder à son
contenu
un type qui définit la taille de la place occupée
Ne pas confondre la variable et son contenu
Une variable est un contenant (case ou boîte)
Le contenu d'une variable est une valeur numérique,
alphanumérique…
Introduction à la programmation et algorithmique
Variable
Une variable (VAR) est donc une « boite » dans laquelle on
met une valeur (un nombre, un mot…) qui peux changer (si
l’utilisateur modifie la valeur par exemple)
Les variables dont la valeur ne change pas au cours de
l'exécution du programme sont appelées variables
constantes (CONST)
Introduction à la programmation et algorithmique
Déclaration de variable
Déclarer une variable :
réserver une place en mémoire
attribuer l'identificateur à cette place
La déclaration indique :
l’identificateur
le type
Exemple : VAR maVar : réel
Introduction à la programmation et algorithmique
Types (1)
Type caractère
lettres, chiffres, ponctuation, code des opérations,
espace, retour chariot,…
Exemples : ‘a’ ‘+’ ‘.’
Type chaîne de caractère
suites de caractères
Exemples : « bonjour » « cac40 »
Introduction à la programmation et algorithmique
Types (2)
Type entier
les nombres entiers
Exemples : 3 45 133
Type réel
les nombres réels
Exemples : 3,14 37,7
Introduction à la programmation et algorithmique
Types (3)
Type booléen
que deux valeurs possibles
soit VRAI, soit FAUX
Introduction à la programmation et algorithmique
Exemples de variables
Mémoire centrale
(mémoire vive)
Identificateur : X
Type : entier
Valeur : 25
X 25
Identificateur : Y
Type : réel Y 3,7
Valeur : 3,7
Introduction à la programmation et algorithmique
Où l’addition devient compliquée
Introduction à la programmation et algorithmique
Opérateurs
Les opérations possibles sur les variables dépendent de
leur type
On ne peux pas multiplier des mots…
Introduction à la programmation et algorithmique
Réels
opérations possibles symbole ou mot clé
addition +
soustraction -
multiplication *
Division /
comparaisons <, ≤, >, ≥, =, ≠
Introduction à la programmation et algorithmique
Entiers
opérations possibles symbole ou mot clé
addition +
soustraction -
Multiplication *
Division /
Division entière DIV
Modulo MOD
Comparaisons <, ≤, >, ≥, =, ≠
Introduction à la programmation et algorithmique
Caractères
opérations possibles symbole ou mot clé
comparaisons <, ≤, >, ≥, =, ≠
(exemple ‘a’ < ‘z’)
Introduction à la programmation et algorithmique
Chaînes
opérations possibles symbole ou mot clé
Concaténation &
Longueur Longueur (chaîne)
Extraction Extraction (sous-ch, ch)
Introduction à la programmation et algorithmique
Booléens
opérations possibles symbole ou mot clé
comparaison =, ≠
négation NON
conjonction ET
disjonction OU
Introduction à la programmation et algorithmique
Rappel
PROGRAMME monProgr
/* Constantes: initialisation obligatoire */
CONST const1 <- 10 : entier
const2 <- "bonjour!" : chaîne
// les variables au sens strict déclarations
VAR varReel1, varReel2 : réels
varChaine : chaîne
DEBUT
Instruction1
Instruction2
… Corps du programme
FIN
Introduction à la programmation et algorithmique
Introduction à la programmation et algorithmique
Instructions
Instruction = ordre que peut exécuter l'ordinateur
exécution d'un programme :
Échanges d'informations en mémoire
Calculs
Affichage des résultats
Introduction à la programmation et algorithmique
Informations
Les informations manipulées par les instructions
peuvent prendre plusieurs formes:
des variables
des constantes
des valeurs littérales ("bonjour", 45, VRAI)
des expressions complexes : combinaisons de variables,
constantes et valeurs littérales avec des opérateurs (2 * r
* 3.14)
Introduction à la programmation et algorithmique
Les instructions élémentaires
Affectation : le fait de donner une nouvelle valeur à
une variable (mettre un nombre dans une boite)
Saisir : Permet à l’ordinateur de récupérer ce que
l’utilisateur tape au clavier
afficher : Permet à l’ordinateur d’afficher sur l'écran ce
qu’on veux (le résultat d’un calcul, une variable…)
Introduction à la programmation et algorithmique
L’ affectation
Syntaxe :
Variable <- Valeur
Valeur évaluée à partir d’une expression :
Variable (le contenu d’une autre boite…)
Constante (une valeur fixe : PI…)
valeur littérale (3 6 5.12…)
expressions complexes (un calcul…)
Introduction à la programmation et algorithmique
Exemples
X <- Y
X <- 25
X <- 3,3
C <- ‘a’
maChaine <- «bonjour»
B <- VRAI
X <- 25 + Y + 3
Introduction à la programmation et algorithmique
Différence avec le = mathématiques
Quand on dit qu'une variable prend pour valeur une
autre variable, ça ne veut pas dire qu'elles seront
toujours égales !
Cela veut seulement dire que la première variable va
prendre la valeur de la seconde
Le contenu de la première boite sera le même celui de la
seconde boite…
Mais si on modifie le contenu de la seconde boite après,
ça n’a pas d’impact sur le contenu de la première
boite !
Introduction à la programmation et algorithmique
Exemples
Algo : x <- y différend de y <- x
Maths : x = y équivaut à y = x
Algo : x + 12 <- y impossible !
Maths : x + 12 = y a un sens
Algo : x <- x + 7 a un sens
Maths : x = x + 7 impossible
Introduction à la programmation et algorithmique
La saisie
Syntaxe :
Saisir variable1 [,variableN]*
Permet à un utilisateur de communiquer des données
au programme
Assigne une valeur entrée au clavier dans une variable
Tant que l'utilisateur n'entre rien au clavier, le
déroulement du programme est stoppé
Introduction à la programmation et algorithmique
Exemples
Saisir x
Saisir x, y
Saisir a, b, c, d, e, f
Introduction à la programmation et algorithmique
Avantages
Utiliser le même programme pour des données
différentes
Sans instruction de saisie (ou de lecture sur un
périphérique quelconque), un programme fournirait
toujours le même résultat
Introduction à la programmation et algorithmique
Pièges
Saisir une valeur ne correspondant pas au type de la
variable où elle doit être stockée
Essayer de mettre un mot dans une variable de type texte
L’utilisateur peut penser que le programme s’est arrêté
Si il n’y a rien d’affiché, l’utilisateur ne voit qu’un curseur
clignotant…
Introduction à la programmation et algorithmique
L’affichage
Syntaxe :
Afficher variable1 [, variableN]*
L'instruction d'affichage permet de fournir des
résultats à l'utilisateur à travers l'écran
Introduction à la programmation et algorithmique
Exemples
Afficher x
Afficher «bonjour»
Afficher x, y, z
Afficher x + y
Afficher «le résultat de x + y est : »,
x + y
On peut afficher plusieurs trucs à la suite grâce à la virgule !
Introduction à la programmation et algorithmique
Avantages
Permet de fournir un résultat
Permet de guider l’utilisateur
Permet d’afficher des valeurs intermédiaires
Permet de débuguer
Introduction à la programmation et algorithmique
Exemple complet
PROGRAMME bonjour
CONST bj <- «Bonjour» : chaîne
mr <- «Monsieur » : chaîne
VAR varNom, ch : chaîne
DEBUT
Afficher «Quel est votre nom ?»
Saisir varNom
ch <- mr & varNom
Afficher bj, ch
FIN
Introduction à la programmation et algorithmique
Introduction à la programmation et algorithmique
Réaliser un algorithme : exprimer en pseudo-code les
règles de traitement d’un problème pour le soumettre à
un ordinateur (par un programme)
Les données d’un programme sont mémorisées dans des
variables qui sont des cases mémoire
Les instructions permettent de manipuler et de
déplacer une donnée d'un endroit à un autre de la
mémoire
Introduction à la programmation et algorithmique
Une variable est un contenant, qui contient une et une seule valeur à un
moment donné. Elle est caractérisée par
un identificateur (son nom)
une valeur (qui peut varier au cours du programme, sauf pour les constantes)
un type (qui détermine sa taille et les opérations possibles)
Les instructions de base sont :
l'affectation (permet de changer la valeur d'une variable)
la saisie (permet d'assigner à une variable, une valeur entrée au clavier)
l'affichage (permet d'écrire le contenu d'une variable ou d'une expression à
l'écran)
Introduction à la programmation et algorithmique