SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 1
Algorithmique et Programmation C
DUT Informatique
Mohamed Tahrichi
mtahrichi@gmail.com
EST Oujda
Département d’informatique
2018-2019
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 3
Introduction
▪ L’informatique étant la science de traitement
automatique de l’information a besoin d’une machine
(ordinateur) pour faire ce traitement.
▪ L’intérêt de la machine est sa capacité de traiter
rapidement et sans erreurs un grand nombre de
données. Mais elle a aussi besoin qu’on lui indique "en
détail" comment réaliser une tache.
▪ On doit alors décomposer les opérations nécessaires à
la réalisation d’un problème en un nombre fini d’étapes
élémentaires qui peuvent être traités individuellement.
Chapitre 1: Algorithmique Introduction
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 4
Introduction
• On dit qu’on doit mettre en place un algorithme
qui va être ensuite traduit en un programme
exécutable par la machine.
• On a finalement l’enchaînement suivant :
Introduction Chapitre 1: Algorithmique
Énoncé du problème Algorithme Programme
Langage naturel,
imprécis,
incomplet, pas
de façon
d’obtenir le
résultat
Langage universel
indépendant de la
machine, suite
élémentaire
d’instructions
Langage de
programmation,
lié à la machine,
C,C++, Java,…ect
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 5
Algorithme
Définition
▪ Un algorithme est une suite finie d’instructions
qu’on applique dans un ordre bien déterminé à
un nombre fini de données pour arriver à un
résultat.
▪ Un algorithme ne dépend pas
• du langage dans lequel il est implanté,
• de la machine qui exécutera le programme
correspondant.
▪ Un algorithme est écrit en utilisant un Langage
de Description d’Algorithme (LDA).
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 6
Caractéristiques d’un algorithme
▪ L’algorithme est un moyen pour le programmeur de
présenter son approche du problème à d’autres
personnes. En effet, un algorithme est l’énoncé dans
un langage bien défini d’une suite d’opérations
permettant de répondre à un problème.
▪ Un algorithme doit donc être :
✓Lisible : l’algorithme doit être compréhensible
même par un non informaticien.
✓De haut niveau : l’algorithme doit pouvoir être
traduit en n’importe quel langage de
programmation.
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 7
Caractéristiques d’un algorithme
✓Précis : chaque élément de l’algorithme ne doit pas
porter une confusion.
✓Concis : un algorithme ne doit pas dépasser une
page. Si ce n’est pas le cas, il faut décomposer le
problème en plusieurs sous-problèmes.
✓Structuré : un algorithme doit être composé de
différentes parties facilement identifiables.
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 8
Comment écrire un algorithme
▪ Pour écrire un algorithme on doit suivre les étapes
suivantes :
1. Comprendre le problème
2. Identifier les données
3. Identifier les résultats souhaités
4. Déterminer les transformations à faire sur ces
données pour obtenir les résultats.
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 9
Comment écrire un algorithme
▪ En informatique le schéma suivant est adopté pour
la présentation de l’algorithme
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 10
Exemple
Exemple
Étapes de la réalisation d’un algorithme qui nous
permet de calculer la surface d’un cercle
1. Problème : calculer la surface d’un cercle?
2. Données : π et R
3. Résultats souhaités : la surface du cercle
4. Traitement à faire sur ces données : π × R × R
Chapitre 1: Algorithmique Algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 11
Exemple
Chapitre 1: Algorithmique Algorithme
Exemple
Algortihme surface_cercle;
Constante π : réel  3,14;
Variable R : réel;
Variable S : réel;
Début
Lire(R);
S  π*R*R;
Ecrire(S);
Fin
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 12
Éléments de base d’un algorithme
▪ Dans un algorithme les objets manipulés sont
représentés par des symboles alors que les actions
sont représentées par des symboles ou des verbes
à l’infinitif.
▪ Dans l’exemple 1:
✓ Les objets sont représentées par π , S et R
✓ Les actions sont représentées par :
lire, écrire, * et ←
Chapitre 1: Algorithmique
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 13
Les objets
▪ Chaque objet est défini par :
✓Un Identificateur qui le désigne et le distingue des
autres objets.
✓Un type qui caractérise la nature des informations
qui seront représentées par l’objet et les
opérations qui seront autorisées sur cet objet.
✓Une valeur qui représente l’état actuel de l’objet.
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 14
Les objets
▪ Nous avons deux classe d’objets :
✓ Les constantes: une constante est un objet qui ne
change pas le long de l’algorithme. Elle est déclarée
par
Constante Identificateur: Type  valeur ;
Exemple Constante π : réel  3,14 ;
✓Les variables: une variables est un objet qui
représente une valeur numérique, une chaîne de
caractères ou une fonction. Le contenu d’une
variable peut être modifié par une action. Une
variable est déclarée par :
Variable Identificateur : type ;
Exemple Variable R, S : réel ;
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 15
▪ Les types : Le type permet de définir l’ensemble
des valeurs susceptibles d’être prises par une
variable ainsi que les opérations possibles sur
cette variable. Les types de base sont :
✓ Entier
✓ Réel
✓ Caractère (chaîne de caractères)
✓ Booléen
Les objets
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 16
▪ Les opérateurs permettent de produire un
effet sur les objets de l’algorithme (variables
ou constante) en effectuant des calculs, des
vérification, des égalités et des inégalités. Ils
sont divisés en trois classe :
a) Les opérateurs arithmétiques
Les opérateurs
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 17
Exemple
Exemple
✓ (15 mod 4) = 3 :
le reste de la division euclidienne de 15 par 4;
✓(10 / 2) = 5 :
le quotient de la division euclidienne de 10 par 2;
✓ (11 / 2) = 5;
✓ 11 div 2=5.5;
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 18
Les opérateurs
b) Les opérateurs de comparaison
c) Les opérateurs logiques
Chapitre 1: Algorithmique Éléments de base d’un algorithme
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 19
L’affectation
▪ Une instruction est une action élémentaire
commandant à la machine un calcul, ou une
communication avec un de ses périphériques
d’entrés ou de sorties. Les instructions de base sont :
✓ L’instruction d’affectation :
• L’affectation permet d’affecter une valeur à une
variable.
• Symbolisée en algorithmique par «←», elle précise
le sens de l’affectation.
• Syntaxe : Identificateur ← Expression
Expression peut être soit identificateur, constante,
expression arithmétique ou expression logique
Chapitre 1: Algorithmique Les instructions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 20
• Sémantique :
Une affectation peut être définie en deux étapes :
1. Évaluation de l’expression qui se trouve dans la
partie droite de l’affectation
2. Copie la valeur de l’expression dans la variable.
L’affectation
Chapitre 1: Algorithmique Les instructions
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 21
▪ L’instruction d’entrée ou de lecture permet à
l’utilisateur de saisir des données au clavier pour
qu’elles soient utilisées par le programme.
Syntaxe : Saisir(identificateur)
▪ L'instruction de sortie (d’écriture) permet d’afficher
des informations à l'utilisateur à travers l'écran.
Syntaxe : Afficher(expression)
Expression peut être une valeur, un résultat, un
message, le contenu d'une variable...
Instruction d’entrée & sortie
Chapitre 1: Algorithmique Les instructions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 22
Exemple
Exemple
Algorithme PrixTTC
constantes TVA : réel ← 20.6;
variables prixHT, prixTTC : réels;
début
afficher("Donnez-moi le prix hors taxe :");
saisir(prixHT);
prixTTC ← prixHT * (1+TVA/100);
afficher(prixHT, "euros H.T. devient ", prixTTC, "euros
T.T.C.");
Fin
Chapitre 1: Algorithmique Les instructions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 23
Les conditionnelles
▪ Possibilité de choisir une séquence d’instructions
selon une condition donnée.
▪ Exemple : « s’il pleut, je prends mon parapluie et je
mets mes bottes, sinon je mets mes sandales. »
Chapitre 1: Algorithmique Structures conditionnelles
il pleut?
faut vrai
Je mets mes sandales je prends mon parapluie
et je mets mes bottes
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 24
SI condition
ALORS
liste d’instructions
SINON
liste d’instructions
FIN SI
Si…alors…sinon
Chapitre 1: Algorithmique Structures conditionnelles
▪ La condition est une expression booléenne {vrai,faux}.
▪ Si la condition est vraie, on exécute la branche alors.
▪ Si la condition est fausse, on exécute la branche
sinon.
▪ Syntaxe :
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 25
Exemple
Chapitre 1: Algorithmique Structures conditionnelles
Exemple
Algorithme SimpleOuDouble
constante SEUIL : entier ← 10;
variable val : entier;
début
afficher("Donnez-moi un entier : ");
saisir(val);
si val < SEUIL
alors afficher ("Voici son double :" , val × 2);
sinon afficher ("Voici la valeur inchangée :" , val);
fsi
fin
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 26
Chapitre 9: Les fonctions en C
Imbrication de conditionnelles
• Chapitre 1: Algorithmique Structures conditionnelles
▪ Toute instruction algorithmique peut être placée dans
une conditionnelle, donc également une conditionnelle !
▪ Cela permet de multiplier les choix possibles d’exécution.
▪ Syntaxe
si <cond1> alors
sinon
si <cond2> alors // cond1 fausse
sinon
fsi
fsi
. . . // cond2 vraie
. . . // cond2 fausse
. . . . // cond1 vraie
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 27
Chapitre 9: Les fonctions en C
Selon
Structures conditionnelles
▪ Lorsque l’on veut comparer une seule variable à
une énumération de valeurs connues à l’avance, on
peut utiliser la structure selon.
▪ Syntaxe
selon <identificateur>
(liste de) valeur(s) : instructions
(liste de) valeur(s) : instructions
…
[autres: instructions]
▪ S’il y a plus de deux choix possibles, l’instruction
selon permet une facilité d’écriture.
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 28
Exemple
Chapitre 1: Algorithmique Selon
Exemple
Algorithme Selon;
Variable abr : chaine;
début
Lire(abr);
selon abr
"M" : afficher( "Monsieur");
"Mme " : afficher("Madame");
"Mlle" : afficher("Mademoiselle");
autres : afficher("Monsieur, Madame");
fin
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 29
Les boucles
Chapitre 1: Algorithmique Structures alternatives
▪ Possibilité de répéter une suite d’instructions selon
une condition donnée.
▪ On dispose de trois structures de contrôle
différentes :
• pour : répète des instructions un nombre connu
de fois ;
• tant que : répète des instructions tant que la
condition de la boucle est vraie ;
• répéter : comme le tant que, mais on effectue
au moins une fois les instructions de la boucle.
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 30
Structure pour
Chapitre 1: Algorithmique Structures alternatives
▪ Il est fréquent que le nombre de répétitions soit connu à
l’avance, et que l’on ait besoin d’utiliser le numéro de
l’itération afin d’effectuer des calculs ou des tests.
▪ Syntaxe:
POUR variable DE val initiale A val finale [par <pas>]
FAIRE
liste d’instructions
FIN POUR
✓La variable dont on donne le nom va prendre
successivement toutes les valeurs entières entre
valeur initiale et valeur finale.
✓Pour chaque valeur prise par la variable, la liste des
instructions est exécutée.
✓La variable utilisée pour énumérer les itérations est
appelée indice d’itération ou compteur.
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 31
La structure pour
Chapitre 1: Algorithmique Structures alternatives
▪ Implicitement, l’instruction pour:
• initialise une variable de boucle (le compteur)
• incrémente cette variable à chaque pas
• vérifie que cette variable ne dépasse pas la
borne supérieure
▪ Attention : le traitement ne doit pas modifier la
variable de boucle
pour cpt  1 à MAX faire
si (…) alors cpt  MAX ; Interdit!
Fin pour
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 32
Exercice
Chapitre 1: Algorithmique Structures alternatives
▪ En utilisant la boucle pour, écrire un algorithme
qui calcule le factorielle d’un nombre n donné par
l’utilisateur.
Exercice
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 33
La structure tant que
Chapitre 1: Algorithmique Structures alternatives
▪ Dans beaucoup de cas, on souhaite répéter une
instruction tant qu’une certaine condition est
remplie, alors qu’il est a priori impossible de savoir
à l’avance au bout de combien d’itérations cette
condition cessera d’être satisfaite.
▪ Le mécanisme permettant cela est la boucle :
Tant que.
Syntaxe :
TANT QUE condition FAIRE
liste d’instructions
FIN TANT QUE
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 34
La structure tant que
Chapitre 1: Algorithmique Structures alternatives
Algorithme FaitLeTotal
Constante STOP : entier ←-1;
variables val, totalValeurs : Entiers;
Début
totalValeurs←0;
afficher("Donnez une valeur,", STOP, " pour finir.");
saisir(val);
tant que val ≠STOP faire
totalValeurs←totalValeurs+ val;
afficher("Donnez une autre valeur,", STOP, " pour finir.");
saisir(val);
Ftq
afficher("La somme des valeurs saisies est", totalValeurs);
fin
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 35
Comparaison pour et tant que
Chapitre 1: Algorithmique Structures alternatives
pour cpt ←1 à nbVal faire
afficher("Donnez une valeur:");
saisir(valeur);
totalValeurs←totalValeurs+ valeur;
Fpour
...équivaut à :
cpt ←0
tant que cpt <nbVal faire
afficher("Donnez une valeur :");
saisir(valeur);
totalValeurs←totalValeurs+ valeur;
cpt ←cpt + 1;
ftq
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 36
Comparaison pour et tant que
Chapitre 1: Algorithmique Structures alternatives
▪ Syntaxe:
Répéter
(ré)affectation de la variable de condition
Traitement {suite d’instructions}
tant que <expression logique (vraie)>
▪ exécuter une suite d’instructions au moins une fois et
la répéter tant qu’une condition est remplie
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 37
Choisir pour…tant que… répéter
Chapitre 1: Algorithmique Structures alternatives
Nombre
d’itérations
connu?
Traitement
exécuté au
moins une
fois ?
Boucle tant que
Boucle répéter
Boucle pour
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 38
Chapitre 9: Les fonctions en C
Introduction
▪ Une fonction est une suite ordonnée d’instructions
qui retourne une valeur (bloc d’instructions nommé
et paramétré).
▪ Prennent en entrée des paramètres.
▪ Restituent à l’algorithme appelant un ou plusieurs
résultats.
▪ Définies par :
✓Nom : identifiant de la fonction
✓Liste des paramètres : informations extérieures à la
fonction
✓Résultat : valeur de retour de la fonction
✓Description: en langage naturel du rôle de la
fonction
✓Algorithme de la fonction
Fonctions
En-tête
Corps
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 39
Chapitre 9: Les fonctions en C
En-tête d’une fonction
▪ Syntaxe
fonction nomFonction(mode Par1:type =,Par2:…) : ret typeRet
▪ nomFonction identifiant de la fonction
▪ mode à donner pour chaque paramètre
✓in : paramètre donnée, non modifiable par la fonction ;
✓out : paramètre résultat, modifié par la fonction, valeur
initiale non utilisée ;
✓in-out : paramètre donnée/résultat, modifié, valeur
initiale utilisée.
▪ Par1 identifiant du paramètre dans la fonction
▪ type type du paramètre
▪ retour
✓mot clef «ret» suivi du type de la valeur renvoyée par la
fonction (typeRet) ;
✓si pas de retour, on remplace ret par le mot clef «vide».
Fonctions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 40
Chapitre 9: Les fonctions en C
Corps d’une fonction
▪ Construit comme un algorithme classique :
✓Déclaration des constantes
✓Déclaration des variables
✓Algorithme de nomFonction
▪ Les constantes/variables définies dans une fonction
sont utilisables uniquement dans cette fonction et ne
peuvent pas être utilisées en dehors de celle-ci.
▪ Elles sont détruites dès que l’on sort de la fonction.
▪ On parle de constantes/variables locales.
• Chapitre 1: Algorithmique Fonctions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 41
Chapitre 9: Les fonctions en C
Déclaration/Définition/Retour
▪ Déclaration et définition
✓La déclaration des fonctions est placée avant le début
de l’algorithme avec la déclaration des variables
✓La définition des fonctions est placée après l’algorithme
principal
▪ Retour de fonction
✓Lorsque la fonction a un retour, sa dernière instruction
exécutée doit être
retourner valeurDeRetour
✓ Lorsque la fonction n’a pas de retour, elle peut arrêter
son exécution avec l’instruction
retourner
▪ Les fonctions sans retour sont appelées procédures.
• Chapitre 1: Algorithmique Fonctions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 42
Chapitre 9: Les fonctions en C
Variables, paramètres et appel
▪ Variables locales et paramètres
✓Les paramètres de la fonction ne doivent pas être
redéclarer dans son corps.
✓Ce sont déjà des variables locales à la fonction dans
lesquelles on recopie les éléments reçus de
l’algorithme appelant.
✓Les fonctions peuvent ne pas avoir de paramètres.
▪ Paramètres formels et effectifs
✓Une fonction est utilisée avec son nom, suivi de la
liste des valeurs pour ses paramètres entre
parenthèses.
✓Les paramètres dans l’en-tête de la fonction sont les
paramètres formels.
✓Les paramètres utilisés lors de l’appel de la fonction
par l’algorithme sont les paramètres effectifs.
• Chapitre 1: Algorithmique Fonctions
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 43
Chapitre 9: Les fonctions en C
En-tête d’une fonction
Algorithme essay
fonction somme(in a : entier, in b : entier) : ret entier
Variables x, y, z : entier
Début
z  somme(x,y);
écrire( z);
Fin
fonction somme(in a : entier, in b : entier) : ret entier
Variables c : entier
Début
c  a+b
retourner c
Fin
• Chapitre 1: Algorithmique Fonctions
Variables formels
Variables effectifs
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 44
Chapitre 9: Les fonctions en C
Exercices
• Chapitre 1: Algorithmique Fonctions
▪ Ecrire un algorithme qui fait appel à une fonction
pour dessiner trois carrés de coté 1,3 et 5.
▪ Généraliser l’algorithme précédent à fin de
dessiner n carrés de 1,3,5,…,2n-1 avec n donné par
l’utilisateur.
Exercice_1
▪ Ecrire une fonction qui convertit une durée
exprimée en seconde en heures, minutes,
secondes.
▪ Ecrire un algorithme qui fait appel à la fonction
précédente
Exercice_2
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 45
Chapitre 9: Les fonctions en C
Fonctions récursives
• Chapitre 1: Algorithmique Récursivité
▪ Une fonction récursive est une fonction qui peut
s’appeler elle-même.
▪ Pour définir une fonction récursive il faut :
✓un (ou plusieurs) cas de base, dans laquelle la
fonction ne s’appelle pas elle-même. Sinon
l’algorithme ne peut pas terminer.
✓si on ne se situe pas dans un cas de base la fonction
fait appel à lui-même (appel récursif).
✓Chaque appel récursif doit en principe se
«rapprocher» d’un cas de base, de façon à
permettre la terminaison de l’algorithme.
▪C’est comme pour définir une suite récurrente
en mathématique
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 46
Chapitre 9: Les fonctions en C
Exemple
• Chapitre 1: Algorithmique Récursivité
fonction factorielle(in n : entier) : ret entier
Variables résultat : entier
Début
si n =0 alors
résultat  1 ;
Sinon
résultat n*factorielle(n-1);
Fsi
retourner résultat
Fin
Exemple : factorielle
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 47
Chapitre 9: Les fonctions en C
Exemple
• Chapitre 1: Algorithmique Récursivité
• factorielle(5)=5 * factorielle(4)
• factorielle(4)=4 * factorielle(3)
• factorielle(3)=3 * factorielle(2)
• factorielle(2)=2 * factorielle(1)
• factorielle(1)=1 * factorielle(0)
• factorielle(0)=1 (Fin de récursivité)
Appels
récursifs
………….............1*1=1
…... 1
…………..............2*1=2
……………………………...3*2=6
……….……………………………..4*6=24
………..…….……….........................5*24=120
Renvois des
résultats
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 48
Chapitre 9: Les fonctions en C
Exercice
• Chapitre 1: Algorithmique Récursivité
▪ Ecrire une fonction récursive qui calcul le nombre binomial:
0 si k>n
Binomial(k,n) = 1 si k=n ou k=0
Binomial(k-1,n-1)+ Binomial(k,n-1) sinon
Exercice
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 49
Introduction
Chapitre 1: Algorithmique Tableaux
▪ Structure de données qui permet de rassembler un
ensemble de valeurs de même type sous un même
nom en les différenciant par un indice.
▪ Exemple :
tnotes un tableau de 7 valeurs
▪ Déclaration
variables tnotes [7] : tableau de réels;
▪ Chaque élément est repéré dans le tableau par un
indice qui varie de 0 à taille -1
▪ On accède à la case 2 par tNotes[2]. Attention, c’est la
3ème case !
11 2 -32 12 2 25 0
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 50
▪ Nombre d’octets occupés : dépend du type des
valeurs enregistrées
0 1 2 3 4 5
11 2 -32 12 25 0
nom du
tableau
Indice du
tableau
Contenu
du tableau
Introduction
Chapitre 1: Algorithmique Tableaux
tnotes
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 51
Chapitre 9: Les fonctions en C
Initialisation
▪ Lorsqu’on connaît les valeurs initiales à placer dans
un tableau on peut le faire en une seule instruction :
tableau  {liste de valeurs}
▪ Le nombre d’éléments dans la liste doit
correspondre au nombre d’éléments du tableau.
• Chapitre 1: Algorithmique Tableaux
Exemple
Algorithme Exemple
Variables T[7]: tableau d’entiers
Début
T{2,3,6,4,7,12,3} // Initialisation du tableau
Fin
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 52
Chapitre 9: Les fonctions en C
Lecture et écriture
▪ Pour initialiser un tableau avec des valeurs fournies
par l’utilisateur, on est obligé de lire les valeurs une
par une.
▪ Une boucle de lecture est donc nécessaire.
▪ L’affichage se fait aussi élément par élément.
• Chapitre 1: Algorithmique Tableaux
Exemple
pour i de 0 à nbElem-1 faire // boucle de lecture...
Lire(Tab[i])
fpour
pour i de 0 à nbElem-1 faire // boucle d’écriture...
écrire Tab[i]
fpour
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 53
Chapitre 9: Les fonctions en C
Tableaux et fonctions
▪ On peut passer un tableau en paramètre d’une
fonction.
▪ Il faut en général passer aussi la taille du tableau.
• Chapitre 1: Algorithmique Tableaux
Exemple
fonction lirePrix(out tPrix : tableau de réels, in taille : entier)
: vide
Variables i : entier
Début
pour i de 0 à taille-1 faire
lire(tPrix[i]) ;
fpour
Fin
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 54
Chapitre 9: Les fonctions en C
Tableaux à plusieurs dimensions
▪ Représentation de matrices, de tables, d’images, . . .
▪ Un tableau contient des éléments de même type :
▪ le type peut être quelconque, et donc aussi un
tableau
▪ Un tableau à deux dimensions est donc un tableau de
tableaux !
▪ Exemple : table (tableau [4] de tableaux [7] d’entiers)
définit table comme un tableau de 4 cases contenant
chacune un tableau de 7 entiers.
▪ Représentation vectorielle de table :
• Chapitre 1: Algorithmique Tableaux
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 55
Chapitre 9: Les fonctions en C
Tableaux à plusieurs dimensions
▪ Déclaration:
variable T: tableau(4,7) d’entiers
▪ Accès à un élément : nomDuTableau[indice1,indice2],
avec :
▪ indice1 entre 0 et dimension1-1
▪ indice2 entre 0 et dimension2-1
▪ Représentation matricielle de table :
• Chapitre 1: Algorithmique Tableaux

Contenu connexe

Similaire à algo thrichi.pdf

Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdfWafaa Ibrihich
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Chapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfChapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfShiniGami0o0
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Chapitre 4 - Les entrées-sorties en C.pdf
Chapitre 4 - Les entrées-sorties en C.pdfChapitre 4 - Les entrées-sorties en C.pdf
Chapitre 4 - Les entrées-sorties en C.pdfShiniGami0o0
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDotNetHub
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1CheikhTidiane8
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
Activité n°2 chap2
Activité n°2 chap2Activité n°2 chap2
Activité n°2 chap2zaynab baddar
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 

Similaire à algo thrichi.pdf (20)

Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Serie
SerieSerie
Serie
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Chapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfChapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdf
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Chapitre 4 - Les entrées-sorties en C.pdf
Chapitre 4 - Les entrées-sorties en C.pdfChapitre 4 - Les entrées-sorties en C.pdf
Chapitre 4 - Les entrées-sorties en C.pdf
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
 
Theme2
Theme2Theme2
Theme2
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
L'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe BattuL'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe Battu
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Asd
AsdAsd
Asd
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Activité n°2 chap2
Activité n°2 chap2Activité n°2 chap2
Activité n°2 chap2
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 

Dernier

les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfGamal Mansour
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 

Dernier (20)

les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 

algo thrichi.pdf

  • 1. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 1 Algorithmique et Programmation C DUT Informatique Mohamed Tahrichi mtahrichi@gmail.com EST Oujda Département d’informatique 2018-2019
  • 2. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 3 Introduction ▪ L’informatique étant la science de traitement automatique de l’information a besoin d’une machine (ordinateur) pour faire ce traitement. ▪ L’intérêt de la machine est sa capacité de traiter rapidement et sans erreurs un grand nombre de données. Mais elle a aussi besoin qu’on lui indique "en détail" comment réaliser une tache. ▪ On doit alors décomposer les opérations nécessaires à la réalisation d’un problème en un nombre fini d’étapes élémentaires qui peuvent être traités individuellement. Chapitre 1: Algorithmique Introduction
  • 3. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 4 Introduction • On dit qu’on doit mettre en place un algorithme qui va être ensuite traduit en un programme exécutable par la machine. • On a finalement l’enchaînement suivant : Introduction Chapitre 1: Algorithmique Énoncé du problème Algorithme Programme Langage naturel, imprécis, incomplet, pas de façon d’obtenir le résultat Langage universel indépendant de la machine, suite élémentaire d’instructions Langage de programmation, lié à la machine, C,C++, Java,…ect
  • 4. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 5 Algorithme Définition ▪ Un algorithme est une suite finie d’instructions qu’on applique dans un ordre bien déterminé à un nombre fini de données pour arriver à un résultat. ▪ Un algorithme ne dépend pas • du langage dans lequel il est implanté, • de la machine qui exécutera le programme correspondant. ▪ Un algorithme est écrit en utilisant un Langage de Description d’Algorithme (LDA). Chapitre 1: Algorithmique Algorithme
  • 5. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 6 Caractéristiques d’un algorithme ▪ L’algorithme est un moyen pour le programmeur de présenter son approche du problème à d’autres personnes. En effet, un algorithme est l’énoncé dans un langage bien défini d’une suite d’opérations permettant de répondre à un problème. ▪ Un algorithme doit donc être : ✓Lisible : l’algorithme doit être compréhensible même par un non informaticien. ✓De haut niveau : l’algorithme doit pouvoir être traduit en n’importe quel langage de programmation. Chapitre 1: Algorithmique Algorithme
  • 6. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 7 Caractéristiques d’un algorithme ✓Précis : chaque élément de l’algorithme ne doit pas porter une confusion. ✓Concis : un algorithme ne doit pas dépasser une page. Si ce n’est pas le cas, il faut décomposer le problème en plusieurs sous-problèmes. ✓Structuré : un algorithme doit être composé de différentes parties facilement identifiables. Chapitre 1: Algorithmique Algorithme
  • 7. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 8 Comment écrire un algorithme ▪ Pour écrire un algorithme on doit suivre les étapes suivantes : 1. Comprendre le problème 2. Identifier les données 3. Identifier les résultats souhaités 4. Déterminer les transformations à faire sur ces données pour obtenir les résultats. Chapitre 1: Algorithmique Algorithme
  • 8. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 9 Comment écrire un algorithme ▪ En informatique le schéma suivant est adopté pour la présentation de l’algorithme Chapitre 1: Algorithmique Algorithme
  • 9. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 10 Exemple Exemple Étapes de la réalisation d’un algorithme qui nous permet de calculer la surface d’un cercle 1. Problème : calculer la surface d’un cercle? 2. Données : π et R 3. Résultats souhaités : la surface du cercle 4. Traitement à faire sur ces données : π × R × R Chapitre 1: Algorithmique Algorithme
  • 10. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 11 Exemple Chapitre 1: Algorithmique Algorithme Exemple Algortihme surface_cercle; Constante π : réel  3,14; Variable R : réel; Variable S : réel; Début Lire(R); S  π*R*R; Ecrire(S); Fin
  • 11. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 12 Éléments de base d’un algorithme ▪ Dans un algorithme les objets manipulés sont représentés par des symboles alors que les actions sont représentées par des symboles ou des verbes à l’infinitif. ▪ Dans l’exemple 1: ✓ Les objets sont représentées par π , S et R ✓ Les actions sont représentées par : lire, écrire, * et ← Chapitre 1: Algorithmique
  • 12. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 13 Les objets ▪ Chaque objet est défini par : ✓Un Identificateur qui le désigne et le distingue des autres objets. ✓Un type qui caractérise la nature des informations qui seront représentées par l’objet et les opérations qui seront autorisées sur cet objet. ✓Une valeur qui représente l’état actuel de l’objet. Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 13. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 14 Les objets ▪ Nous avons deux classe d’objets : ✓ Les constantes: une constante est un objet qui ne change pas le long de l’algorithme. Elle est déclarée par Constante Identificateur: Type  valeur ; Exemple Constante π : réel  3,14 ; ✓Les variables: une variables est un objet qui représente une valeur numérique, une chaîne de caractères ou une fonction. Le contenu d’une variable peut être modifié par une action. Une variable est déclarée par : Variable Identificateur : type ; Exemple Variable R, S : réel ; Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 14. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 15 ▪ Les types : Le type permet de définir l’ensemble des valeurs susceptibles d’être prises par une variable ainsi que les opérations possibles sur cette variable. Les types de base sont : ✓ Entier ✓ Réel ✓ Caractère (chaîne de caractères) ✓ Booléen Les objets Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 15. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 16 ▪ Les opérateurs permettent de produire un effet sur les objets de l’algorithme (variables ou constante) en effectuant des calculs, des vérification, des égalités et des inégalités. Ils sont divisés en trois classe : a) Les opérateurs arithmétiques Les opérateurs Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 16. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 17 Exemple Exemple ✓ (15 mod 4) = 3 : le reste de la division euclidienne de 15 par 4; ✓(10 / 2) = 5 : le quotient de la division euclidienne de 10 par 2; ✓ (11 / 2) = 5; ✓ 11 div 2=5.5; Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 17. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 18 Les opérateurs b) Les opérateurs de comparaison c) Les opérateurs logiques Chapitre 1: Algorithmique Éléments de base d’un algorithme
  • 18. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 19 L’affectation ▪ Une instruction est une action élémentaire commandant à la machine un calcul, ou une communication avec un de ses périphériques d’entrés ou de sorties. Les instructions de base sont : ✓ L’instruction d’affectation : • L’affectation permet d’affecter une valeur à une variable. • Symbolisée en algorithmique par «←», elle précise le sens de l’affectation. • Syntaxe : Identificateur ← Expression Expression peut être soit identificateur, constante, expression arithmétique ou expression logique Chapitre 1: Algorithmique Les instructions
  • 19. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 20 • Sémantique : Une affectation peut être définie en deux étapes : 1. Évaluation de l’expression qui se trouve dans la partie droite de l’affectation 2. Copie la valeur de l’expression dans la variable. L’affectation Chapitre 1: Algorithmique Les instructions Exemple
  • 20. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 21 ▪ L’instruction d’entrée ou de lecture permet à l’utilisateur de saisir des données au clavier pour qu’elles soient utilisées par le programme. Syntaxe : Saisir(identificateur) ▪ L'instruction de sortie (d’écriture) permet d’afficher des informations à l'utilisateur à travers l'écran. Syntaxe : Afficher(expression) Expression peut être une valeur, un résultat, un message, le contenu d'une variable... Instruction d’entrée & sortie Chapitre 1: Algorithmique Les instructions
  • 21. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 22 Exemple Exemple Algorithme PrixTTC constantes TVA : réel ← 20.6; variables prixHT, prixTTC : réels; début afficher("Donnez-moi le prix hors taxe :"); saisir(prixHT); prixTTC ← prixHT * (1+TVA/100); afficher(prixHT, "euros H.T. devient ", prixTTC, "euros T.T.C."); Fin Chapitre 1: Algorithmique Les instructions
  • 22. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 23 Les conditionnelles ▪ Possibilité de choisir une séquence d’instructions selon une condition donnée. ▪ Exemple : « s’il pleut, je prends mon parapluie et je mets mes bottes, sinon je mets mes sandales. » Chapitre 1: Algorithmique Structures conditionnelles il pleut? faut vrai Je mets mes sandales je prends mon parapluie et je mets mes bottes
  • 23. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 24 SI condition ALORS liste d’instructions SINON liste d’instructions FIN SI Si…alors…sinon Chapitre 1: Algorithmique Structures conditionnelles ▪ La condition est une expression booléenne {vrai,faux}. ▪ Si la condition est vraie, on exécute la branche alors. ▪ Si la condition est fausse, on exécute la branche sinon. ▪ Syntaxe :
  • 24. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 25 Exemple Chapitre 1: Algorithmique Structures conditionnelles Exemple Algorithme SimpleOuDouble constante SEUIL : entier ← 10; variable val : entier; début afficher("Donnez-moi un entier : "); saisir(val); si val < SEUIL alors afficher ("Voici son double :" , val × 2); sinon afficher ("Voici la valeur inchangée :" , val); fsi fin
  • 25. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 26 Chapitre 9: Les fonctions en C Imbrication de conditionnelles • Chapitre 1: Algorithmique Structures conditionnelles ▪ Toute instruction algorithmique peut être placée dans une conditionnelle, donc également une conditionnelle ! ▪ Cela permet de multiplier les choix possibles d’exécution. ▪ Syntaxe si <cond1> alors sinon si <cond2> alors // cond1 fausse sinon fsi fsi . . . // cond2 vraie . . . // cond2 fausse . . . . // cond1 vraie
  • 26. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 27 Chapitre 9: Les fonctions en C Selon Structures conditionnelles ▪ Lorsque l’on veut comparer une seule variable à une énumération de valeurs connues à l’avance, on peut utiliser la structure selon. ▪ Syntaxe selon <identificateur> (liste de) valeur(s) : instructions (liste de) valeur(s) : instructions … [autres: instructions] ▪ S’il y a plus de deux choix possibles, l’instruction selon permet une facilité d’écriture.
  • 27. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 28 Exemple Chapitre 1: Algorithmique Selon Exemple Algorithme Selon; Variable abr : chaine; début Lire(abr); selon abr "M" : afficher( "Monsieur"); "Mme " : afficher("Madame"); "Mlle" : afficher("Mademoiselle"); autres : afficher("Monsieur, Madame"); fin
  • 28. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 29 Les boucles Chapitre 1: Algorithmique Structures alternatives ▪ Possibilité de répéter une suite d’instructions selon une condition donnée. ▪ On dispose de trois structures de contrôle différentes : • pour : répète des instructions un nombre connu de fois ; • tant que : répète des instructions tant que la condition de la boucle est vraie ; • répéter : comme le tant que, mais on effectue au moins une fois les instructions de la boucle.
  • 29. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 30 Structure pour Chapitre 1: Algorithmique Structures alternatives ▪ Il est fréquent que le nombre de répétitions soit connu à l’avance, et que l’on ait besoin d’utiliser le numéro de l’itération afin d’effectuer des calculs ou des tests. ▪ Syntaxe: POUR variable DE val initiale A val finale [par <pas>] FAIRE liste d’instructions FIN POUR ✓La variable dont on donne le nom va prendre successivement toutes les valeurs entières entre valeur initiale et valeur finale. ✓Pour chaque valeur prise par la variable, la liste des instructions est exécutée. ✓La variable utilisée pour énumérer les itérations est appelée indice d’itération ou compteur.
  • 30. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 31 La structure pour Chapitre 1: Algorithmique Structures alternatives ▪ Implicitement, l’instruction pour: • initialise une variable de boucle (le compteur) • incrémente cette variable à chaque pas • vérifie que cette variable ne dépasse pas la borne supérieure ▪ Attention : le traitement ne doit pas modifier la variable de boucle pour cpt  1 à MAX faire si (…) alors cpt  MAX ; Interdit! Fin pour
  • 31. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 32 Exercice Chapitre 1: Algorithmique Structures alternatives ▪ En utilisant la boucle pour, écrire un algorithme qui calcule le factorielle d’un nombre n donné par l’utilisateur. Exercice
  • 32. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 33 La structure tant que Chapitre 1: Algorithmique Structures alternatives ▪ Dans beaucoup de cas, on souhaite répéter une instruction tant qu’une certaine condition est remplie, alors qu’il est a priori impossible de savoir à l’avance au bout de combien d’itérations cette condition cessera d’être satisfaite. ▪ Le mécanisme permettant cela est la boucle : Tant que. Syntaxe : TANT QUE condition FAIRE liste d’instructions FIN TANT QUE
  • 33. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 34 La structure tant que Chapitre 1: Algorithmique Structures alternatives Algorithme FaitLeTotal Constante STOP : entier ←-1; variables val, totalValeurs : Entiers; Début totalValeurs←0; afficher("Donnez une valeur,", STOP, " pour finir."); saisir(val); tant que val ≠STOP faire totalValeurs←totalValeurs+ val; afficher("Donnez une autre valeur,", STOP, " pour finir."); saisir(val); Ftq afficher("La somme des valeurs saisies est", totalValeurs); fin Exemple
  • 34. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 35 Comparaison pour et tant que Chapitre 1: Algorithmique Structures alternatives pour cpt ←1 à nbVal faire afficher("Donnez une valeur:"); saisir(valeur); totalValeurs←totalValeurs+ valeur; Fpour ...équivaut à : cpt ←0 tant que cpt <nbVal faire afficher("Donnez une valeur :"); saisir(valeur); totalValeurs←totalValeurs+ valeur; cpt ←cpt + 1; ftq
  • 35. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 36 Comparaison pour et tant que Chapitre 1: Algorithmique Structures alternatives ▪ Syntaxe: Répéter (ré)affectation de la variable de condition Traitement {suite d’instructions} tant que <expression logique (vraie)> ▪ exécuter une suite d’instructions au moins une fois et la répéter tant qu’une condition est remplie
  • 36. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 37 Choisir pour…tant que… répéter Chapitre 1: Algorithmique Structures alternatives Nombre d’itérations connu? Traitement exécuté au moins une fois ? Boucle tant que Boucle répéter Boucle pour
  • 37. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 38 Chapitre 9: Les fonctions en C Introduction ▪ Une fonction est une suite ordonnée d’instructions qui retourne une valeur (bloc d’instructions nommé et paramétré). ▪ Prennent en entrée des paramètres. ▪ Restituent à l’algorithme appelant un ou plusieurs résultats. ▪ Définies par : ✓Nom : identifiant de la fonction ✓Liste des paramètres : informations extérieures à la fonction ✓Résultat : valeur de retour de la fonction ✓Description: en langage naturel du rôle de la fonction ✓Algorithme de la fonction Fonctions En-tête Corps
  • 38. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 39 Chapitre 9: Les fonctions en C En-tête d’une fonction ▪ Syntaxe fonction nomFonction(mode Par1:type =,Par2:…) : ret typeRet ▪ nomFonction identifiant de la fonction ▪ mode à donner pour chaque paramètre ✓in : paramètre donnée, non modifiable par la fonction ; ✓out : paramètre résultat, modifié par la fonction, valeur initiale non utilisée ; ✓in-out : paramètre donnée/résultat, modifié, valeur initiale utilisée. ▪ Par1 identifiant du paramètre dans la fonction ▪ type type du paramètre ▪ retour ✓mot clef «ret» suivi du type de la valeur renvoyée par la fonction (typeRet) ; ✓si pas de retour, on remplace ret par le mot clef «vide». Fonctions
  • 39. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 40 Chapitre 9: Les fonctions en C Corps d’une fonction ▪ Construit comme un algorithme classique : ✓Déclaration des constantes ✓Déclaration des variables ✓Algorithme de nomFonction ▪ Les constantes/variables définies dans une fonction sont utilisables uniquement dans cette fonction et ne peuvent pas être utilisées en dehors de celle-ci. ▪ Elles sont détruites dès que l’on sort de la fonction. ▪ On parle de constantes/variables locales. • Chapitre 1: Algorithmique Fonctions
  • 40. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 41 Chapitre 9: Les fonctions en C Déclaration/Définition/Retour ▪ Déclaration et définition ✓La déclaration des fonctions est placée avant le début de l’algorithme avec la déclaration des variables ✓La définition des fonctions est placée après l’algorithme principal ▪ Retour de fonction ✓Lorsque la fonction a un retour, sa dernière instruction exécutée doit être retourner valeurDeRetour ✓ Lorsque la fonction n’a pas de retour, elle peut arrêter son exécution avec l’instruction retourner ▪ Les fonctions sans retour sont appelées procédures. • Chapitre 1: Algorithmique Fonctions
  • 41. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 42 Chapitre 9: Les fonctions en C Variables, paramètres et appel ▪ Variables locales et paramètres ✓Les paramètres de la fonction ne doivent pas être redéclarer dans son corps. ✓Ce sont déjà des variables locales à la fonction dans lesquelles on recopie les éléments reçus de l’algorithme appelant. ✓Les fonctions peuvent ne pas avoir de paramètres. ▪ Paramètres formels et effectifs ✓Une fonction est utilisée avec son nom, suivi de la liste des valeurs pour ses paramètres entre parenthèses. ✓Les paramètres dans l’en-tête de la fonction sont les paramètres formels. ✓Les paramètres utilisés lors de l’appel de la fonction par l’algorithme sont les paramètres effectifs. • Chapitre 1: Algorithmique Fonctions
  • 42. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 43 Chapitre 9: Les fonctions en C En-tête d’une fonction Algorithme essay fonction somme(in a : entier, in b : entier) : ret entier Variables x, y, z : entier Début z  somme(x,y); écrire( z); Fin fonction somme(in a : entier, in b : entier) : ret entier Variables c : entier Début c  a+b retourner c Fin • Chapitre 1: Algorithmique Fonctions Variables formels Variables effectifs
  • 43. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 44 Chapitre 9: Les fonctions en C Exercices • Chapitre 1: Algorithmique Fonctions ▪ Ecrire un algorithme qui fait appel à une fonction pour dessiner trois carrés de coté 1,3 et 5. ▪ Généraliser l’algorithme précédent à fin de dessiner n carrés de 1,3,5,…,2n-1 avec n donné par l’utilisateur. Exercice_1 ▪ Ecrire une fonction qui convertit une durée exprimée en seconde en heures, minutes, secondes. ▪ Ecrire un algorithme qui fait appel à la fonction précédente Exercice_2
  • 44. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 45 Chapitre 9: Les fonctions en C Fonctions récursives • Chapitre 1: Algorithmique Récursivité ▪ Une fonction récursive est une fonction qui peut s’appeler elle-même. ▪ Pour définir une fonction récursive il faut : ✓un (ou plusieurs) cas de base, dans laquelle la fonction ne s’appelle pas elle-même. Sinon l’algorithme ne peut pas terminer. ✓si on ne se situe pas dans un cas de base la fonction fait appel à lui-même (appel récursif). ✓Chaque appel récursif doit en principe se «rapprocher» d’un cas de base, de façon à permettre la terminaison de l’algorithme. ▪C’est comme pour définir une suite récurrente en mathématique
  • 45. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 46 Chapitre 9: Les fonctions en C Exemple • Chapitre 1: Algorithmique Récursivité fonction factorielle(in n : entier) : ret entier Variables résultat : entier Début si n =0 alors résultat  1 ; Sinon résultat n*factorielle(n-1); Fsi retourner résultat Fin Exemple : factorielle
  • 46. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 47 Chapitre 9: Les fonctions en C Exemple • Chapitre 1: Algorithmique Récursivité • factorielle(5)=5 * factorielle(4) • factorielle(4)=4 * factorielle(3) • factorielle(3)=3 * factorielle(2) • factorielle(2)=2 * factorielle(1) • factorielle(1)=1 * factorielle(0) • factorielle(0)=1 (Fin de récursivité) Appels récursifs ………….............1*1=1 …... 1 …………..............2*1=2 ……………………………...3*2=6 ……….……………………………..4*6=24 ………..…….……….........................5*24=120 Renvois des résultats
  • 47. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 48 Chapitre 9: Les fonctions en C Exercice • Chapitre 1: Algorithmique Récursivité ▪ Ecrire une fonction récursive qui calcul le nombre binomial: 0 si k>n Binomial(k,n) = 1 si k=n ou k=0 Binomial(k-1,n-1)+ Binomial(k,n-1) sinon Exercice
  • 48. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 49 Introduction Chapitre 1: Algorithmique Tableaux ▪ Structure de données qui permet de rassembler un ensemble de valeurs de même type sous un même nom en les différenciant par un indice. ▪ Exemple : tnotes un tableau de 7 valeurs ▪ Déclaration variables tnotes [7] : tableau de réels; ▪ Chaque élément est repéré dans le tableau par un indice qui varie de 0 à taille -1 ▪ On accède à la case 2 par tNotes[2]. Attention, c’est la 3ème case ! 11 2 -32 12 2 25 0
  • 49. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 50 ▪ Nombre d’octets occupés : dépend du type des valeurs enregistrées 0 1 2 3 4 5 11 2 -32 12 25 0 nom du tableau Indice du tableau Contenu du tableau Introduction Chapitre 1: Algorithmique Tableaux tnotes
  • 50. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 51 Chapitre 9: Les fonctions en C Initialisation ▪ Lorsqu’on connaît les valeurs initiales à placer dans un tableau on peut le faire en une seule instruction : tableau  {liste de valeurs} ▪ Le nombre d’éléments dans la liste doit correspondre au nombre d’éléments du tableau. • Chapitre 1: Algorithmique Tableaux Exemple Algorithme Exemple Variables T[7]: tableau d’entiers Début T{2,3,6,4,7,12,3} // Initialisation du tableau Fin
  • 51. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 52 Chapitre 9: Les fonctions en C Lecture et écriture ▪ Pour initialiser un tableau avec des valeurs fournies par l’utilisateur, on est obligé de lire les valeurs une par une. ▪ Une boucle de lecture est donc nécessaire. ▪ L’affichage se fait aussi élément par élément. • Chapitre 1: Algorithmique Tableaux Exemple pour i de 0 à nbElem-1 faire // boucle de lecture... Lire(Tab[i]) fpour pour i de 0 à nbElem-1 faire // boucle d’écriture... écrire Tab[i] fpour
  • 52. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 53 Chapitre 9: Les fonctions en C Tableaux et fonctions ▪ On peut passer un tableau en paramètre d’une fonction. ▪ Il faut en général passer aussi la taille du tableau. • Chapitre 1: Algorithmique Tableaux Exemple fonction lirePrix(out tPrix : tableau de réels, in taille : entier) : vide Variables i : entier Début pour i de 0 à taille-1 faire lire(tPrix[i]) ; fpour Fin
  • 53. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 54 Chapitre 9: Les fonctions en C Tableaux à plusieurs dimensions ▪ Représentation de matrices, de tables, d’images, . . . ▪ Un tableau contient des éléments de même type : ▪ le type peut être quelconque, et donc aussi un tableau ▪ Un tableau à deux dimensions est donc un tableau de tableaux ! ▪ Exemple : table (tableau [4] de tableaux [7] d’entiers) définit table comme un tableau de 4 cases contenant chacune un tableau de 7 entiers. ▪ Représentation vectorielle de table : • Chapitre 1: Algorithmique Tableaux
  • 54. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 55 Chapitre 9: Les fonctions en C Tableaux à plusieurs dimensions ▪ Déclaration: variable T: tableau(4,7) d’entiers ▪ Accès à un élément : nomDuTableau[indice1,indice2], avec : ▪ indice1 entre 0 et dimension1-1 ▪ indice2 entre 0 et dimension2-1 ▪ Représentation matricielle de table : • Chapitre 1: Algorithmique Tableaux