Vous êtes sur la page 1sur 69

Algorithme et Programmation

Hajer Chlif

Polytechnique Sousse

October 10, 2022

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 1 / 88
Contents

1 Introduction

2 Les Structures des donnees

3 Les actions élémentaires simples

4 Les opérations d’entrée / sortie

5 Les sous programmes

6 Les traitement avances

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 2 / 88
Introduction

Introduction

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 3 / 88
Introduction

Introduction

Objectif:
Apprendre les concepts de base de l'algorithmique et de la programmation.
Être capable de mettre en œuvre ces concepts pour analyser des problèmes
simples et écrire les programmes correspondants.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 4 / 88
Introduction

Introducion

Les logiciels ont envahi notre vie de tous les jours: :


Le fonctionnement de toutes les entreprises et de tous les domaines métiers
repose désormais sur ces programmes informatiques.
On utilise des algorithmes pour optimiser les processus de fabrication dans
les usines, pour trouver des informations sur le web, pour la gestion de la
relation client, pour l’optimisation des services après-vente etc.
Plus récemment ces algorithmes nous ont proposé de conduire nos voitures
de façon autonome, de nous aider à mieux choisir nos aliments ou même de
prédire les tremblements de terre.
En résumé, notre économie, notre industrie et notre société reposent sur
l’utilisation massive des algorithmes mais qu’est-ce qu’un algorithme ?

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 5 / 88
Introduction

Introducion:Programme

Un programme correspond à la description d'une méthode de résolution pour


un problème donné.
Cette description est effectuée par une suite d'instructions d'un langage de
programmation.
Ces instructions permettent de traiter et de transformer les données (entrées)
du problème à résoudre pour aboutir à des résultats (sorties).
Un programme n'est pas une solution en soi mais une méthode à suivre pour
trouver les solutions.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 6 / 88
Introduction

Introducion:Langages informatiques

Un langage informatique est un code de communication, permettant à un


être humain de dialoguer avec une machine en lui soumettant des instructions
et en analysant les données matérielles fournies par le système.
Le langage informatique est l'intermédiaire entre le programmeur et la
machine.
Il permet d'écrire des programmes destinés à effectuer une tache donnée.
Programmation: ensemble des activités orientées vers la conception, la
réalisation, le test et la maintenance de programmes.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 7 / 88
Introduction

Introducion:Langages De programmation

Deux types de langages:


Langages procéduraux: Fortran, Cobol, Pascal, C,….
Langages orientés objets: C++, java…….
Le choix d'un langage de programmation n'est pas facile, chacun a ses spécificités
et correspond mieux à certaines types d'utilisations.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 8 / 88
Introduction

Introducion:Algorithme et Programme

L'élaboration d'un algorithme précède l'étape de programmation.


Un programme est un algorithme.
Un langage de programmation est un langage compris par l'ordinateur.
L'élaboration d'un algorithme est une démarche de résolution de problème
exigeante.
La rédaction d'un algorithme est un exercice de réflexion qui se fait sur papier.
Un programme est un algorithme.
Le choix d'un langage de programmation n'est pas facile, chacun a ses spécificités
et correspond mieux à certaines types d'utilisations.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 9 / 88
Introduction

Introducion:Algorithme

Algorithme = méthode de résolution


Un programme est un algorithme.
Algorithem vient du nom du célèbre mathématicien arabe AI Khawarizmi.
l’algorithmique désigne aussi la discipline qui étudie les algorithmes et leurs
applications en informatique.
Une bonne connaissance de l’algorithme permet d’écrire des algorithmes
exacts et efficaces.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 10 / 88
Introduction

Introduction:Notion d’algorithme
Un algorithme peut comparer à une recette de cuisine.
le résultat c’est comme le plat à cuisine.
les données sont l’analogues des ingrédients de la recette.
les régles de transformations se comparent aux directives ou instructions de la
recette.
Exemple:

Figure: Calculer les differentes animaux


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 11 / 88
Introduction

Introduction: Algorithmique

Conception: comment développer un algorithme? Et quelles techniques


produisent de bons algorithmes?
Analyse: étant donné un algorithme, quelles sont ses qualités? Est-il adapté
au problème? est-il efficace? Comment mesurer ses performances?
Etant donné un problème sans solution évidente, comment peut on le
résoudre?
En considérant les problémes similaires connus, en considérant les solutions
analogues:algorithme,connues. En faisant marcher son imagination.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 12 / 88
Introduction

Introduction: Compilation et interprétation

Figure: Compilateur

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 13 / 88
Introduction

Introduction: Compilation et interprétation

Figure: Compilateur

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 14 / 88
Introduction

Introduction: Compilation et interprétation

Compilateur:
Plus rapide à l'exécution
Sécurité du code source
Il faut recompiler à chaque modification
Interpréteur:
Exécution instantanée appréciable pour les débutants
Exécution lente par rapport à la compilation

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 15 / 88
Introduction

Introduction: Propriétés d’un algorithme

Un algorithme doit:
Avoir un nombre fini d'étapes
Avoir un nombre fini d'opération par étape
Se terminer après un nombre fini d'opération
Fournir un résultat
Chaque opération doit être: définie rigoureusement et sans ambiguïté.
Effective c-à-d réalisable par une machine
Le comportement d'un algorithme est déterministe.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 16 / 88
Introduction

Introduction: Représentation d'un algorithme

Historiquement deux façon pour représenter un algorithme:


L'organigramme: représentation graphique avec des symbole
Le pseudo-code: représentation textuelle avec une série de conventions
ressemblant à un langage de programmation.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 17 / 88
Introduction

Introduction: Formalisme

Un algorithme doit être lisible et compréhensible par plusieurs personnes.


Il doit donc suivre des règles. Il est composé d'une entête et d'un corps. L'entête
comprend :
Nom : le nom de l’algorithme
Rôle : ce que fait l’algorithme
Données : les données fournies à l’algorithme
Résultat : ce que l’on obtient à la fin du traitement
Principe : le principe utilisé dans l’algorithme
Le corps :
il est délimité par les mots clés début et fin.
il se termine par un lexique, décrivant les variables utilisées

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 18 / 88
Introduction

Introduction: Formalisme

Figure: Structure d’un algorithme

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 19 / 88
Les Structures des donnees

Les Structures des donnees

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 20 / 88
Les Structures des donnees

Les constantes et les variables

Définition: une constante est un objet ayant une valeur fixe tout le long de
l’exécution d’un algorithme ou d’un programme.
Une constante est caractérisée par :
son nom (un identificateur unique).
sa valeur.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 21 / 88
Les Structures des donnees

Les constantes et les variables

Définition: On appelle variable un objet pouvant prendre différentes valeurs tout


le long de l’exécution d’un algorithme ou d’un programme.
Une variable est caractérisée par :
son nom (un identificateur unique)
son type
son contenu.
Dans le calcul d’un salaire annuel, on pourra utiliser la constante nbmois et les
variables Salaireannuel et Salairemensuel.

Salaireannuel = nbmois × Salairemensuel (1)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 22 / 88
Les Structures des donnees

Les constantes et les variables

Le choix des noms de variables est soumis à quelques régles qui varient selon le
langage, mais en général:
Un nom doit commencer par une lettre alphabétique.
Exemple valide:A1 exemple invalide: 1A
Doit etre constitué uniquement de lettres, de chiffres et du soulignement (
eviter les carctéres de ponctuation et les espaces).
Valides:SIMP2018, SMP_2018 invalide:SMP 2005
Doit etre différent des mots réservés du langage ( par exemple en java: int,
float, else ….).
La longueur du nom doit etre inferieur à la taille maximale spécifiée par le
language utilisé.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 23 / 88
Les Structures des donnees

Exercice

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 24 / 88
Les Structures des donnees

Les types de données

Le type d’une variable permet de déterminer le domaine des valeurs possibles que
peut prendre cette variable. La connaissance du type permet également de déduire
l’ensemble des opérateurs applicables sur les variables de ce type ainsi que l’espace
mémoire en octets qui sera réservé à ces variables.
Un type est désigné par un identificateur (ou un nom). Les types standard sont :
Le type Entier, désignant les valeurs des nombres entiers relatifs.
Le type Réel, désignant les valeurs des nombres réels.
Le type Caractère, désignant les ”valeurs” des caractères.
Le type Booléen, désignant les valeurs logiques.
Le type Chaîne de caractères, désignant les ”valeurs” des chaînes de
caractères.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 25 / 88
Les Structures des donnees

Le type entier

Application:
1 Quel est l'ordre de grandeur de la valeur maximale d'un entier?
2 Rappeler les opérateurs arithmétiques sur les entiers?
3 Evaluer les expressions arithmétiques suivantes:
1 17 DIV 5
2 17 MOD 5
3 ((58 DIV 7)MOD 2)+5
4 (49 MOD 17) DIV (4+3)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 26 / 88
Les Structures des donnees

Le type entier

Réponses
1 Sachant que les entiers en mathématiques forment un ensemeble infini
nommé Z. En informatique un entier a une reprèsentation en machine limitée
à un nombre fini d’octets. La valeur maximale d’un entier est égale à 32767.
2 Les opérateurs arithmétiques sont +,-,*,DIV (Donne le quotient dans la
division entiére) et MOD (Donne le reste de la division entiére).
3 les resultat de ces expressions sont:
1 le résultat de cette expression est 3.
2 le résultat de cette espression est 2.
3 le résultat de cette expression est 5
4 le résultat de cette expression est 1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 27 / 88
Les Structures des donnees

Le type entier

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 28 / 88
Les Structures des donnees

Le type réel:

1 Quel est le domaine des valeurs du type réel?


2 Quels sont les opérateurs arithmétiques valides sur des variables de type réel?
Réponses :
1 Ce type recouvre un sous-ensemble de l’ensemble des nombres réels IR. La
définition de ce sous-ensemble est liée à la représentation en binaire des réels
dans la machine.
2 Un nombre réel peut occuper 6 octets sur certaines machines. On peut le
coder ainsi dans l’intervalle de -1038 à 1038. Ces opérateurs sont + , - , * et
/ (division réelle).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 29 / 88
Les Structures des donnees

Le type réel:

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 30 / 88
Les Structures des donnees

Le type réel:

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 31 / 88
Les Structures des donnees

Le type booléen

1 Quelles sont les valeurs du type booléen?


2 Quels sont les opérateurs logiques qu’on peut appliquer sur les booléens?
3 Evaluer les propositions logiques suivantes:
1 La proposition (88>66) ET (44<55)
2 (88>66) ET (66<55)
Réponses:
1 Les variables d’un tel type peuvent prendre uniquement deux valeurs logiques
VRAI et FAUX .
2 Ces opérateurs sont NON (négation), ET (conjonction), OU (disjonction) et
OUex (OU exclusif).
3 les résulats sont:
1 VRAI
2 FAUX

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 32 / 88
Les Structures des donnees

Le type booléen

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 33 / 88
Les Structures des donnees

Ordre De Priorité

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 34 / 88
Les Structures des donnees

Ordre De Priorité

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 35 / 88
Les Structures des donnees

Exercice

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 36 / 88
Les Structures des donnees

Exercice

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 37 / 88
Les Structures des donnees

Le type caractère

1 Les chiffres, les lettres en majuscule, les lettres en minuscule ont des codes
ordonnés et contigus ; Quel est cet ordre ?
2 Citer quelques opérateurs applicables aux caractères.
Réponses:
1 On peut comparer les caractères comme suit : ”0” < ”1” …<”9” < …”A”
< ”B” …< ”Z” …”a” < ”b” <”z” …
2 Comme les valeurs de type caractère sont ordonnées, les opérateurs
relationnels y sont définis.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 38 / 88
Les Structures des donnees

Le type caractère

Le type caractère est utilisé pour représenter une lettre minuscule, une lettre
majuscule, un chiffre ou un signe de ponctuation, mais aussi un espace
typographique, unetabulation, un retour à la ligne et quelques autres opérations
spéciales (sonnerie, effacement, etc.).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 39 / 88
Les Structures des donnees

Le type caractère

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 40 / 88
Les Structures des donnees

Le type chaîne de caractères

Une chaîne de caractères est une suite ordonnée de caractères. En algorithmique,


lavaleur d’une chaîne se note en utilisant des guillemets (”). En langage Pascal,
on utilise plutôt des quotes simples (‘).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 41 / 88
Les Structures des donnees

Le type chaîne de caractères

Application:
1 définirez une chaîne prenom de 10 caractères, une chaîne nom pouvant
contenir jusqu’à 255 caractè- res et une chaîne adresse de 25 caractères.
2 Réaliser les affectations suivantes : Chaîne vide à la variable Prenom, ”Aloui”
à la variable Nom et un espace à la variable Adresse.
3 Comment accéder au i ème caractère d’une chaîne CH ?
4 Soit l’affectation suivante : Nom ”Beldi”
1 Quelles sont les valeurs de Nom[1] et de Nom[5] ?
2 Après l’affectation Nom[2] ”a” , Quel est le contenu de la variable Nom.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 42 / 88
Les Structures des donnees

Le type chaîne de caractères

Réponse:
1 Prénom:Tableau du 10 chaine du carctéres
Nom::Tableau du 255 chaine du carctéres.
Adresse: Tableau du 255 chaine du carctéres caractères.
2 Prenom ”” vide Nom ”Aloui” Adresse ” ” un espace
3 On pourra accéder en lecture et en écriture au ième caractère d’une chaîne
CH en utilisant la notation CH[i] où 1 i Long (CH) où Long(CH) désigne la
longueur de la chaîne CH.
4 les résultats sont:
1 Nom [1] donne ”B”, Nom [5] donne ”i”
2 Nom devient ”Baldi”

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 43 / 88
Les Structures des donnees

Le type chaîne de caractères

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 44 / 88
Les Structures des donnees

Le type chaîne de caractères

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 45 / 88
Les Structures des donnees

Exercice

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 46 / 88
Les Structures des donnees

Exercice

Ecrire un programme qui permet de transformer la chaine de caractères


”informatique” en majuscule sans utiliser la fonction upcase(c) et la mettre dans
une variable nommée maj.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 47 / 88
Les Structures des donnees

Le type scalaire

Nous voulons définir un type que nous appelons ANNEE_SCOLAIRE contenant


les dix mois de l’année scolaire et manipuler les valeurs de ce type.
1 Donner la déclaration des nouveaux types illustrant le type
ANNEE_SCOLAIRE.
2 L’affectation suivante est-elle correcte sachant que mois est une variable de
type ANNEE_SCOLAIRE ?
mois octobre
3 Quel est l’ordre de ces constantes ?
4 Quels sont les opérateurs applicables à ces valeurs ?
5 Evaluer les expressions suivantes :
1 SUCC (septembre).
2 PRED (juin).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 48 / 88
Les Structures des donnees

Le type scalaire
Réponse:
1 ANNEE_SCOLAIRE=(septembre, octobre, novembre, decembre, janvier,
fevrier, mars, avril, mai, juin)
septembre, octobre, novembre, decembre, janvier, fevrier, mars, avril, mai,
juin sont les éléments du type ANNEE_SCOLAIRE.
2 Une variable mois de type ANNEE_SCOLAIRE peut prendre comme valeur :
septembre, octobre, novembre, decembre, janvier, fevrier, mars, avril, mai,
juin. L’affectation mois octobre est correcte.
3 L’ordre sur ces valeurs est le suivant : septembre < octobre < …< juin. Par
ailleurs, on peut appliquer la fonction Ord sur ces valeurs pour déterminer
leurs numéros d’ordre, ainsi Ord (septembre) vaut 0 et Ord (octobre) vaut 1
et ainsi de suite.
4 Les opérateurs applicables à ces valeurs sont :Les opérateurs de relation, Les
opérateurs PRED et SUCC. PRED représente le prédécesseur (le précé- dent)
et SUCC représente le successeur (le suivant).
5 les résultats sont:
1 octobre
2 mai .
.
.
.
.
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
.
.
.
.
.
.
.
.
.

Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 49 / 88


Les Structures des donnees

Le type scalaire

Definition:
Le type scalaire par énumération définit un ensemble ordonné et fini de valeurs
désignées par des identificateurs

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 50 / 88
Les Structures des donnees

Le type intervalle

1 Elaborer les déclarations des nouveaux types illustrant un type intervalle


intitulé mois de 1 à 12 et un type intervalle concernant le premier trimestre
de l’année scolaire.
2 Quels sont les bornes inférieure et supérieure du type mois ?
3 Quels sont les valeurs que peut prendre une variable du type mois ?
4 Quels sont les bornes inférieure et supérieure du type premier_trimestre ?
5 Quels sont les valeurs que peut prendre une variable du type
premier_trimestre?

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 51 / 88
Les Structures des donnees

Le type intervalle

Réponse:
1 Mois = 1. . 12
ANNEE_SCOLAIRE = (septembre, octobre, novembre, decembre, janvier,
fevrier, mars, avril,mai, juin)
Premier_trimestre = septembre .. decembre
2 Les bornes de Mois sont 1 et 12 prises comme valeurs entières.
3 Une variable de type Mois peut prendre ses valeurs entre 1 et 12.
4 Les bornes de premier_trimestre sont septembre et decembre.
5 Une variable de type premier_trimestre peut prendre comme valeur
:septembre, octobre, novembre et decembre.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 52 / 88
Les Structures des donnees

Retenons

Le type scalaire par énumération définit un ensemble ordonné et fini de valeurs


désignées par des identificateurs définis par l’utilisateur. Les opérateurs applicables
à ces valeurs sont :
Les opérateurs de relation
Les opérateurs PRED et SUCC.
Le type intervalle possède les propriétés d’un type scalaire discret ordonné
(entier,caractère et scalaire énuméré).
La définition d’un intervalle est décrite par la donnée de deux constantes
représentant respectivement la ”Borne Inférieure” et la ”Borne Supérieure”
appartenant à un type scalaire discret ordonné et telle que Borne Inférieure <
Borne Supérieure.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 53 / 88
Les Structures des donnees

Exercice

Exercice 1:
En utilisant le type intervalle, déclarer en algorithmique les variables suivantes :
jour
mois

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 54 / 88
Les Structures des donnees

Les tableaux à une dimension

Definition:
Un tableau est une structure de données homogènes regroupant un ensemble
d’éléments de même type.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 55 / 88
Les Structures des donnees

Les tableaux à une dimension

Application:
1 Donner le tableau de déclaration des objets pour un vecteur de 5 éléments de
type réel pouvant contenir les notes des élèves.
2 Affecter à chaque élément la note correspondante suivant le tableau suivant :

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 56 / 88
Les Structures des donnees

Les tableaux à une dimension

1 NOTES:tableau de 5 chaine de caractéres.


2 NOTES [1] est le 1er élément du tableau NOTES.
NOTES [2] est le 2ème élément du tableau NOTES.
NOTES [3] est le 3ème élément du tableau NOTES.
NOTES [4] est le 4ème élément du tableau NOTES.
NOTES [5] est le 5ème élément du tableau NOTES.
NOTES [1] <- 12
NOTES [2] <- 13.5
NOTES [3] <- 10
NOTES [4] <- 15.5
NOTES [5] <- 16

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 57 / 88
Les Structures des donnees

Les tableaux à une dimension

Remarque:
Pour accéder au ième élément du tableau, il suffit de donner l’identificateur
du tableau et l’indice i indiquant le rang de l’élément. Cet indice doit être
dans l’intervalle Borne_inf.. Borne_sup.
Nous pouvons lire et écrire un élément du tableau . Nous pouvons modifier
un élément par une instruction d’affectation. Exemple : NOTES [4] 17.50
Les opérations possibles sur un élément du tableau sont les mêmes que celles
définies sur une variable de même type.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 58 / 88
Les Structures des donnees

Le type tableau

Il est possible de déclarer le type d’un tableau:

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 59 / 88
Les Structures des donnees

Le type tableau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 60 / 88
Les Structures des donnees

Le type tableau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 61 / 88
Les Structures des donnees

Le type tableau

Les structures de données vues dans cette leçon sont les tableaux (suite de
variables de même type repérées par des indices).
Avant d’utiliser un tableau, il faut le déclarer.
Il faut bien faire la différence entre l’indice d’un élément et le type des
éléments.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 62 / 88
Les Structures des donnees

Le type tableau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 63 / 88
Les Structures des donnees

Le type tableau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 64 / 88
Les actions élémentaires simples

Les actions élémentaires simples

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 65 / 88
Les actions élémentaires simples

L’affectation

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 66 / 88
Les actions élémentaires simples

L’affectation

L’opération d’affectation consiste à attribuer une valeur à une variable.


L’instruction d’affectation se note avec le symbole ”<-” en algorithmique .
L’expression à droite du symbole d’affectation sera évaluée puis le résultat sera
affectée à la variable située à gauche du symbole ”<-”.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 67 / 88
Les actions élémentaires simples

L’affectation

Effectuer un algorithme intitulé CRYPT, qui effectue le cryptage d’un mot donnée
en utilisant le principe suivant :
- Permuter le premier caractère du mot avec le dernier.
- Modifier l’élément milieu du mot par son ordre dans le code ASCII.
NB. : On suppose que le mot est une chaîne de caractères dont la taille est
supérieure à trois.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 68 / 88
Les actions élémentaires simples

L’affectation0

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Hajer Chlif (Polytechnique Sousse) Algorithme et Programmation October 10, 2022 69 / 88

Vous aimerez peut-être aussi