10/09/2022
Plan du cours
2
1. Concepts de base des algorithmes
2. Les structures conditionnelles
3. Les structures itératives
4. Les procédures et les fonctions
5. Les tableaux
6. Les chaînes de caractères
7. Les enregistrements
8. Les fichiers
1
10/09/2022
Chapitre 1
Concepts de base des algorithmes
Plan
4
Partie 1: Définitions et structure d’un algorithme
Partie 2: Notion de variable et type
Partie 3: Affectation, lecture et affichage
Partie 4: De l’algorithmique au langage C
2
10/09/2022
Plan
5
Partie 1: Définitions et structure d’un algorithme
Partie 2: Notion de variable et type
Partie 3: Affectation, lecture et affichage
Partie 4: De l’algorithmique au langage C
Informatique
6
INFORMATIQUE ?
INFORMATION AUTOMATIQUE
L’informatique ( Information + Automatique) est la science du traitement
automatique de l’information par une machine capable de traiter ou
de manipuler les informations ou les données.
3
10/09/2022
Ordinateur
7
Machine qui saisit (périphériques d’entrée), stocke (mémoire),
traite (programmes) et restitue (périphériques de sortie) des
informations.
ENTREE
TRAITEMENT
Par ordinateur
SORTIE
Algorithme
8
Définition
Un algorithme est une suite d'instructions ordonnées, qui une fois
exécutée correctement, conduit a un résultat donné.
4
10/09/2022
Algorithme
9
Caractéristiques:
Clair : Pas d’ambiguïtés, compréhensible
Déterministe : Avec un ensemble de données donné, il faut qu’il
fournisse le même résultat quelle que soit la machine.
Fini : il doit se terminer quelle que soit la machine, le temps et
la date d’exécution.
Efficace : l’algorithme doit effectuer le travail demandé avec le
minimum de ressources.
Algorithme et programme
10
10
5
10/09/2022
Structure d’un algorithme
11
11
Plan
12
Partie 1: Définitions et structure d’un algorithme
Partie 2: Notion de variable et type
Partie 3: Affectation, lecture et affichage
Partie 4: De l’algorithmique au langage C
12
6
10/09/2022
La notion de variable
13
Dans un programme informatique, on a, en permanence, besoin
de stocker provisoirement des valeurs :
données;
résultats obtenus par le programme
Pour stocker une valeur au cours d'un programme, on utilise une
variable.
Dans la mémoire de l’ordinateur, physiquement, une variable
correspond à un emplacement de mémoire, repéré par une adresse
13
La notion de variable
14
Exemple : verre d’eau
Le contenu change
Contenant
Mais le contenant
Contenu Reste le même
Correspondance
■ Verre Variable
Verre : objet contenant un liquide
Variable : zone mémoire contenant une valeur
■ Eau Valeur
14
7
10/09/2022
Déclaration d’une variable
15
Une variable est une entité qui contient une information, elle
est caractérisée par:
un nom, on parle d’identifiant (unique)
une valeur : information associée à une variable à un
instant donné
un type, qui caractérise l’ensemble des valeurs que peut
prendre la variable
Déclaration: Identifiant de la variable : son type
Exemple: Nom : chaîne de caractères
Age : entier
Distance : réel
15
Déclaration d’une variable
16
Le type d’une variable caractérise
L’espace des valeurs que peut prendre une variable
donnée
L’ensemble des actions que l’on peut effectuer sur une
variable
Apparaît dans l’entête de l’algorithme avec la déclaration
des variables
16
8
10/09/2022
Type de données
17
Le type d’une variable est inchangeable. Il est déclaré une seule
fois et reste le même.
Le contenu de la variable doit être du même type. On affecte
pas un réel à une variable de type entier
Deux grandes catégories de types:
■ Simples: booléen, entier, réel, …
■ Complexes: des structures complexes (que nous verrons dans la
suite du cours)
17
Les types simples
18
Les types de variables les plus courants en algorithmique
Type numérique
Entier : ensemble des entiers relatifs Z
Réel : ensemble des nombres réels R
Type alphanumérique
Caractère : toujours noté entre apostrophes
Chaîne de caractères : toujours notée entre guillemets
Type booléen
Booléen : stocke uniquement les valeurs logiques VRAI et
FAUX
18
9
10/09/2022
Expressions et opérateurs
19
Une expression
est une combinaison d’opérateur(s) et d’opérande(s)
est évaluée durant l’exécution de l’algorithme
possède une valeur (son interprétation) et un type
Un opérateur est un symbole d’opération qui permet d’agir sur des
variables pour produire un résultat.
Une opérande est une entité ( variable, constante ou expression)
utilisée par un opérateur.
Exemple :
a+b est appelée une expression
a et b sont les opérandes
+ est l’opérateur
19
Expressions et opérateurs
20
Un opérateur peut être Unaire ou Binaire :
■ Unaire s'il n'admet qu'une seule opérande, par exemple
l'opérateur non
■ Binaire s'il admet deux opérandes, par exemple l'opérateur
+
Un opérateur est associé à un type de donnée et ne peut être
utilisé qu’avec des variables, des constantes ou des
expressions de ce type.
■ On ne peut pas additionner un entier et un caractère
20
10
10/09/2022
Expressions et opérateurs
21
Opérateurs Booléens : Non, Et, Ou, Ou Exclusif
21
Expressions et opérateurs
22
Opérateurs sur les numériques
■ On retrouve tout naturellement : +, -, *, /, ^
■ Pour les entiers : div et mod, permettent respectivement de
calculer une division entière et le reste de cette division
■ L’opérateur d’égalité permet de savoir si les deux
opérandes sont égales. Le résultat d'une expression contenant
cet opérateur est un booléen.
■ On a aussi l’opérateur d’inégalité : ≠
■ Et pour les types possédant un ordre les opérateurs de
comparaison <, ≤, >, ≥
22
11
10/09/2022
Expressions et opérateurs
23
Opérateurs alphanumérique
& : la concaténation
Cet opérateur permet de concaténer deux chaînes de caractères
23
Plan
24
Partie 1: Définitions et structure d’un algorithme
Partie 2: Notion de variable et type
Partie 3: Affectation, lecture et affichage
Partie 4: De l’algorithmique au langage C
24
12
10/09/2022
L’instruction d’affectation
25
Affecter une variable c’est lui attribuer une valeur
L’instruction d’affectation se note avec le signe
On peut affecter à une variable la valeur d’une autre variable.
On peut affecter à une variable le résultat d’une opération en
fonction d’autres variables.
Important : Une instruction d'affectation ne modifie que ce qui
est situé à gauche de l'affectation
Exemple : a 24,5
ba
a b + 5,5
25
L’instruction d’affectation
26
Une instruction d’affection doit respecter trois conditions :
à gauche de l'affectation, on doit trouver un nom de variable, et
uniquement cela. Dans le cas contraire, il s'agit certainement d'une
erreur !
à droite de l'affectation, on doit trouver une expression ;
l'expression (située a droite de l'affectation) doit être du même
type que la variable (située à gauche de l'affectation).
26
13
10/09/2022
La lecture et l’écriture
27
L’instruction de lecture
Une instruction de lecture permet à l’utilisateur de rentrer des
valeurs au clavier pour qu’elles soient utilisées par le
programme
Lire (A)
Dès que le programme rencontre une instruction Lire, l'exécution
s’interrompt et attend la frappe d'une valeur au clavier.
27
La lecture et l’écriture
28
L’instruction d’écriture
Une instruction d’écriture permet au programme de
communiquer des valeurs à l’utilisateur en les affichant à
l’écran.
Ecrire (‘’La valeur de B est :’’ , B)
28
14
10/09/2022
Exemple
29
Exemple: Calcul de la surface d’un rectangle
Algorithme CalculSurface1
Const: Longueur= 4.32 , Largeur=3.77: réel
Var: Surface : réel
Début
Surface Longueur * Largeur
Ecrire (‘’La surface du rectangle est :’’, Surface)
Fin
29
Exemple
30
Exemple: Calcul de la surface d’un rectangle
Algorithme CalculSurface_2
Var: Longueur, Largeur, Surface : réel
Début
Ecrire(‘’Donnez la longueur en m’’)
Lire(Longueur)
Ecrire(‘’Donnez la largeur en m’’)
Lire(Largeur)
Surface Longueur * Largeur
Ecrire (‘’La surface du rectangle est :’’, Surface)
Fin
30
15
10/09/2022
Plan
31
Partie 1: Définitions et structure d’un algorithme
Partie 2: Notion de variable et type
Partie 3: Affectation, lecture et affichage
Partie 4: De l’algorithmique au langage C
31
Eléments de base
32
Le langage C permet de découper un programme en modules.
La fonction principale est la fonction main qui va être exécutée la
première.
#include <stdio.h> /* instructions d'inclusion de bibliothèques par exemple ici la
biliothèque des entrées-sorties*/
main( )
{
/* partie déclarative */
/* partie instructions (actions) */
}
Remarque: Chaque instruction doit se terminer par ;
32
16
10/09/2022
Déclaration de variable
33
syntaxe : <type> <liste de variables>
33
Traduire les opérateurs
34
34
17
10/09/2022
Traduire les opérateurs
35
35
Traduire les opérateurs
36
36
18
10/09/2022
Traduire l’instruction lire
37
37
Traduire l’instruction Ecrire
38
38
19
10/09/2022
Traduire Ecrire
39
39
20