Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 20

CFPT/SENEGAL-JAPON

IIR1
ANNEE 2020-2021

CHAPITRE1 : LES NOTIONS DE BASE DE L’ALGORITHMIQUE

INTRODUCTION
Le mot algorithme est issu de la transcription phonétique de al-Kwharizmi.Al-Kwharizmi, (783-
850) est un grand mathématicien et astronome perse.
Son apport en mathématiques fut tel qu'il est également surnommé « le père de l'algèbre »

I. DEFINITION
Selon le LAROUSSE, la définition d'algorithme est « un ensemble de règles opératoires dont
l'enchaînement permet de résoudre un problème au moyen d'un nombre fini d'opérations. »
Quelques points importants :
 Un algorithme décrit un traitement sur un ensemble fini de données de nature simple (nombres
ou caractères), ou plus complexes (données structurées)
 Un algorithme est constitué d'un ensemble fini d'actions composées d'opérations ou actions
élémentaires. Ces actions élémentaires doivent être effectives (réalisable par la machine), non
ambiguës.
 Un algorithme doit toujours se terminer après un nombre fini d'opérations.
 L'expression d'un algorithme nécessite un langage
clair (compréhension) structuré (enchaînements d'opérations) non
ambiguë, universel (indépendants du langage de programmation choisi)
Syntaxe
STRUCTURE D'UN ALGORITHME
Un algorithme est constitué
 d'un entête composé du MOT Réservé ALGORITHME et d'un nom de l'algorithme à réaliser
 d'une zone de déclaration des identificateurs (variables) utilisés dans l'algorithme
 et d'un corps délimité par deux mots réservés DEBUT et FIN. C'est ici qu'on écrit les actions de
l'algorithme

ALGORITHME <NOM>
<Déclaration des variables>
DEBUT
<Actions>

FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
II. NOTIONS D'OBJETS
Un algorithme ou une action manipule des données pour obtenir un résultat.
Pour cela on manipule des objets simples ou structurés.
Un objet va être caractérisé par :
 un identificateur (son nom) : pour le désigner cet identificateur doit être parlant : q=quotient;
Moy=Moyenne; ADR=Adresse...
 Un type (nature de l'objet : entier, caractère...) simple ou structuré. Un type détermine en
particulier les valeurs possibles de l'objet et les opérations primitives applicables à l'objet.
Exemple q: ENTIER ; Moy :REEL;
CAR : CARACTERE ; Adresse: CHAINE (‘suite de caractères')
 Une valeur (contenu de l'objet) unique. Cette valeur peut varier au cours de l'algorithme ou d'une
exécution à l'autre : ces objets sont des variables.
Dans les cas contraires (valeur fixe) ce sont des constantes.
Tous les objets manipulés par un algorithme doivent être clairement définis :
Mots clefs
VAR a, b : ENTIER
x, y : CARACTERE
a, b, x, y sont des identificateurs

1 Constantes et variables
On sépare les objets en deux classes : les constantes et les variables.
Une constante est un objet dont l'état reste inchangé durant toute l'exécution d'un programme. On ne
peut jamais modifier sa valeur et celle-ci doit donc être précisée lors de la définition de l'objet.
CONST PI=3.14
NOM="PASCAL"
Une variable est un objet dont le contenu peut être modifié par une action.
Les types les plus utilisées sont:
ENTIER: Pour représenter les nombres entiers
Les opérations utilisables sur les entiers sont :
 les opérateurs arithmétiques classiques : + (addition), - (soustraction), * (produit)
 la division entière, notée ÷ ou DIV : n DIV p donne la partie entière du quotient de la division
entière de n par p
 le modulo, (MOD) : n MOD p donne le reste de la division entière de n par p
 les opérateurs de comparaison classiques : <, >, =, ...
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
REEL : Pour représenter les nombres réels.
Les opérations utilisables sur les réels sont :
 les opérations arithmétiques classiques : + (addition), - (soustraction), * (produit), / (division)
 les opérateurs de comparaison classiques : <, >, =, ...
Exemples
VAR Classement : ENTIER
Moyenne : REEL
2. TYPE LOGIQUE
Une variable de type logique (booléen) peut prendre deux valeurs VRAIE ou FAUSSE.
Exemple :
VAR EXISTE : BOOLEEN
EXISTE VRAIE
Les opérations principales les plus utilisées sont :

• Les opérateurs logiques: NON, ET, OU

A B A ET B A OU B NON A
FAUX FAUX FAUX FAUX VRAI
FAUX VRAI FAUX VRAI VRAI
VRAI FAUX FAUX VRAI FAUX
VRAI VRAI VRAI VRAI FAUX
3. Type CARACTERE
Il s'agit du domaine constitué des caractères alphabétiques et numériques. Une variable de ce type ne peut
contenir qu'un seul et unique caractère. Les opérations élémentaires réalisables sont les comparaisons : <,
>, =, ...
Exemple :
Var C : CARACTERE
C ‘A'
Ensemble de définition : la table ASCII
COMPLEMENT:
NB: il existe d'autre Opérations sur les caractères :
SUCC(c) : caractère suivant dans la table ASCII ;
PRED(c) : caractère précédent dans la table ASCII.

4. Type CHAINE DE CARACTERE


Une chaine de caractère est un objet qui peut contenir plusieurs caractères de manière ordonnée.
Exemple :
VAR NOM : CHAINE[30] → Chaine de 30 caractères maximum
ADRESSE : CHAINE → Chaine de 128 caractères maximum
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
5. Type énumérés
Un type énuméré est un type permettant de représenter des objets pouvant prendre leur valeur
dans une liste finie et ordonnée de noms.
Exemple :
TYPE SEMAINE=(lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche)
TYPE COULEUR=(rouge, vert, bleu)

6. Type intervalles
Un type intervalle est un type dont les objets prennent leur valeur dans une portion de l'intervalle des
valeurs d'un autre type (entier, énuméré ou caractère).
Exemple : NBRE=0..99
OUVRABLE=lundi..vendredi

7. Type structurés
Une structure est un objet contenant un ensemble d'objets de types différents, appelés champs. Un
type doit donc décrire l'ensemble des champs contenus dans ses objets.
Syntaxe :

STRUCTURE <NOM> Exemple :


{ champ1 : type STRUCTURE ETUDIANT
champ2 : type { NOM : CHAINE
.... NOTE : REEL
} Classement :ENTIER
}

La principale opération définie sur ce type STRUCTURE est l'accès aux champs qui le compose.

VAR ETUD : ETUDIANT


DEBUT Pour accéder au champ NOM de l'étudiant:
ETUD.NOM "MOUJTAHID"
ETUD.NOTE 19.5 ETUD.NOM on utilise l’opérateur POINT( ) .
ETUD.Classement 1
FIN

8. Type pointeur

Un pointeur est une adresse mémoire: il permet de désigner directement une zone de la mémoire et
donc l'objet dont la valeur est rangée à cet endroit.
Un pointeur est souvent typé de manière à préciser quel type d'objet il désigne dans la mémoire.
Un type pointeur est défini par le symbole ^ suivi par le nom du type de l'objet pointé:
VAR P1: ^ENTIER ! ! ! ! ! !
ET1: ^ETUDIANT
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

 $0100= (0100)16 dans la base 16


 P1 est l'adresse ($0100) ;
son contenu est la valeur $1020

 A sa création un pointeur contient une valeur qui ne représente rien (NUL).


 Pour désigner l'objet pointé par un pointeur, il suffit d'utiliser l'opérateur ^ après le nom de
l'objet pointeur.
 On utilise l'opérateur @ pour obtenir l'adresse d'une variable déjà existante.
Exemple:
ALGORITHME ESSAI
VAR P :^ENTIER
E : ENTIER
DEBUT
E 1 (* E=1*)
P @E (* On met dans P l'adresse de E → E est l'objet pointé par P *)
P^ 2 (* On met dans l'objet pointé par P la valeur 2 →E=2 *)
FIN

III. ACTIONS ÉLÉMENTAIRES


Les actions élémentaires sont des opérations simples, directement utilisables.
L'affectation permet de donner une valeur à une variable. L’affectation est notée par :

Variable valeur

A 28 « reçoit » Si A avait une valeur auparavant, cette valeur disparaît : elle est écrasé par 28
Format général :
<id_variable> <expression>
A 28+13
A « l'exécution » : l'expression est évaluée (calculée) et sa valeur est rangée dans la variable.
Donc les types <id_variable> et <expression> doivent être compatibles.
Exemple
Attention : A B+3
B doit avoir une valeur. Or au début d'une action, les variables ont une valeur indéterminée . B doit
avoir été initialisé.
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Remarque :
La notion de littéral : A 28
28 est un objet caractérisé par son type (entier [numérique]), son nom (sa valeur), et sa valeur (28)
Le littéral est l'objet « constante », le nom est sa valeur
On note les littéraux de type caractère entre quotte ‘A'.
On note les littéraux de type chaîne de caractères entre double quotte : ‘'bonjour''

2. Les opérations entrées / sorties

Définition
Elles permettent de récupérer une valeur venant de l'extérieur (lecture) ou de transmettre une valeur à
l'extérieur (écriture).
Exemple :
Lecture : saisie (entrée) par clavier fonction LIRE(VARIABLES) ou SAISIR(VARIABLES)
Ecriture : Affichage sur écran (Moniteur) fonction ECRIRE ou AFFICHER
Exemple
VAR A, B, C : ENTIER VAR A, B : ENTIER
DEBUT DEBUT
SAISIR (A, B) OU
LIRE (A, B)
C A+B (Variable C en moins ! !)→ AFFICHER(A+B)
ECRIRE(C) FIN
FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

CHAPITRE 2 : LES STRUCTURES DE CONTROLE

Introduction
Une action décrit un enchaînement d'actions élémentaires. L'enchaînement est décrit par les
structures de contrôle.
Il existe trois types (3) de structures de contrôle :
 Les structures séquentielles
 Les structures alternatives conditionnelles
 Les structures répétitives ou itératives
A. Les structures séquentielles
Dans cette structure les instructions sont exécutées les une à la suite des autres
VAR A, B, C : ENTIER
DEBUT
LIRE (A)
LIRE (B)
C 2*A + B
ECRIRE(C)
FIN

La plupart des autres structures de contrôle utilise la notion de condition (expression booléenne) :
Une condition a une valeur qui est, soit vraie, soit fausse.
Pour déterminer la réalité de cette valeur on utilise :
 les opérateurs de comparaisons =, ≤, ≥, ≠(<>)
 les opérateurs booléens (logique) : ET, OU, NON
B. Les structures alternatives ou conditionnelles
Définition
Elle permet d'effectuer tel ou tel traitement en fonction de la valeur d'une condition.

Organigramme : Alternative SI_ALORS

Alternative SI_ALORS :
Syntaxe :
SI <condition>
ALORS < action _alors>
FINSI
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Altérnative SI_ALORS_SINON:
Syntaxe :
SI <condition>
ALORS < action _alors>
SINON < action _SINON>
FINSI

Organigramme : Alternative SI_ALORS_SINON

Exemple :

ALGORITHME resultat
VAR note :REEL
DEBUT
LIRE (note)
SI note ≥ 10 ALORS
ECRIRE(‘'Admis'' )
SINON
ECRIRE(‘'Ajourné'')
FINSI
FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Méthode
Principe de fonctionnement :
1 : la condition est évaluée
2 : Si la condition a la valeur vraie on exécute <action_alors>
Si la condition a la valeur fausse on exécute <action_sinon>
Remarque :
Les <action_alors> ou <action_sinon> peuvent être soit :
 des actions élémentaires
 des composées (bloc)
Dans ce cas on utilise les structures imbriquées.
Exemple de structure imbriquée:
SI (A ≥ 10) ALORS
 SI ( A ≥ 12) ALORS
ECRIRE (‘'Admis mention'')
SINON ECRIRE (‘'Admis passable'')
FINSI
SINON ECRIRE (‘'Ajourné'')
FINSI
2. Structure à choix multiples SELON-QUE
La structure SELONQUE permet d'effectuer tel ou tel traitement en fonction de la valeur des
conditions 1ou 2 ou..n.
Syntaxe :
SELONQUE
<condition 1> : <action 1>
<condition 2> : <action 2>

<condition n> : <action n>


SINON : <action_sinon>
FINSELONQUE

Méthode de Fonctionnement :
1 : la condition 1 est évaluée :
• Si la condition 1 est vraie, alors on exécute l'action correspondante et on quitte la structure selon-que
• Si la condition 1 est fausse, on évalue la condition 2...et ainsi de suite.
2. Si aucune n'est vraie on effectue l'action sinon (au cas où l'action sinon n'existe pas alors aucune action
n'est exécutée !).
SELONQUE
Note ≥ 16 : ECRIRE (‘'TB'')
Note ≥ 14 : ECRIRE (‘'B'')
Note ≥ 12 : ECRIRE (‘'AB'')
Note ≥ 10 : ECRIRE (‘'Passable'')
SINON : ECRIRE (‘'ajourné'')
FINSELONQUE
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Exercices
Q1 : Ecrire un algorithme qui permet de saisir deux réels a et b puis calcule la somme a+b si a est
supérieur ou égal à b et b-a dans le cas contraire.
Q2 : Ecrire un algorithme qui permet de saisir trois réels puis affiche-le plus grand de ces trois réels
Q3 : Soit l'algorithme suivant
ALGORITHME essai
VAR X, Y : REEL
DEBUT
LIRE(X)
SI X ≥ 0 ALORS
Y X
SINON
Y -X
ECRIRE(Y)
FINSI
FIN
Que fait cet algorithme ?
Q4 : Ecrire un programme qui permet de résoudre une équation ax2 + bx + c = 0 dans R.

C. Les structures répétitives ou itératives


La structure itérative permet de répéter un ensemble d'opérations pour un nombre fini d’opération ou
d’individus. Il existe trois structures répétitives :

i. Structure TANTQUE
Elle permet de répéter un traitement tant qu’une condition est vérifiée

Syntaxe :
TANTQUE <condition>
FAIRE
<actions>
FINTANTQUE
Ces actions peuvent être simples ou composées ! !
ALGORITHME calcul
VAR i : entier
DEBUT
i 1
TANTQUE ( i≤5)
FAIRE
ECRIRE (i*i)
i i+1
FINTANTQUE
FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Remarque :
Le contenu de la structure TANTQUE peut ne jamais être exécuté. Donc cette structure permet en
réalité de répéter un traitement 0, 1 ou plusieurs fois.
La condition étant évaluée au début, les variables utilisées dans la condition doivent avoir été
initialisées.
On doit s'assurer de la terminaison (sinon le programme ne se termine jamais)
Pour cela, il faut nécessairement que dans le corps de la structure, la condition soit modifiée
quelque part.

ii. Structure REPETER

Syntaxe :
REPETER
<actions simples>
JUSQU'A <condition>
Fonctionnement :
1. on exécute le corps
2. si on évalue la condition , puis
 si la condition est vraie : on quitte le
REPETER
 si la condition est fausse on recommence

Remarques :
Il y a toujours au moins une exécution du corps. La structure REPETER permet de répéter un
traitement 1 ou plusieurs fois.
Pour choisir entre REPETER et tant que il faut se poser la question : faut-il éventuellement ne jamais
faire le traitement ? Si oui : il faut utiliser tant que, sinon utiliser la structure REPETER qui exécute
au moins une fois l'action.
NB: Attention, en C/C++ JAVA :
La structure est do...while : c'est à dire Faire...TANTQUE . Alors que la structure algorithmique est
répéter...jusqu'à.
C'est à dire qu'en C/C++ JAVA on exécute l'action tant qu'une condition est vraie alors qu'en
algorithme on exécute une action tant que la condition est fausse, c'est à dire jusqu'à ce que la condition
inverse soit vraie.
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Boucle TANTQUE Boucle REPETER

iii. Structure POUR

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. Le mécanisme permettant cela est la boucle
POUR.
Cette boucle permet de parcourir un intervalle en répétant un traitement pour chacune des valeurs de
cet intervalle

Syntaxe :
POUR <id_variable> DE <val_inférieure> A <val_supérieure>
[ PAR PAS de <val_pas>] →facultatif
FAIRE <actions>
FINPOUR
Les actions peuvent être simples ou composées.

Fonctionnement :
1 : Automatiquement, on a id_variable ≤ val_inférieure
Donc, on n'a pas besoin d'initialiser, la structure se charge de la faire
2 : id_variable > val_supérieure ? :
Si oui alors STOP, on quitte la structure
Sinon :
 on exécute le programme
 automatiquement, l'incrémentation se fait (+1 ou + pas si l'on a définit un pas particulier, par
défaut, le Pas est 1)
 on remonte au début du 2 pour tester la condition id_variable > val_supérieure ?
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

Remarques :
 Il est possible que l'action ne soit jamais exécutée.
 Il est possible aussi d'avoir un intervalle inversé à condition d'avoir un pas négatif.
IMPORTANT : Il est absolument interdit de modifier <id_variable>, <val_inférieure>,
<val_supérieure>, <val_pas> dans le corps de boucle.
En programmation on le traduit par l’instruction for

Boucle pour
Utilisation du POUR :
On s'en sert dès que l'on connaît au début de la boucle le nombre de répétitions à effectuer.
Dans les cas contraire, on utilisera des TANTQUE ou des REPETER
Exercices

Commentez les deux boucles suivantes !

VAR val : entier VAR val : entier


DEBUT DEBUT
val 1 val 1
TANTQUE(val≤0) FAIRE REPETER
ECRIRE(‘’ENTREZ UN NOMBRE POSITIF !!!:’’) ECRIRE(‘’ENTREZ UN NOMBRE POSITIF !!!:’’)
LIRE(val) LIRE(val)
FINTANTQUE JUSQU’A(val≥0)
ECRIRE (‘’LE NOMBRE POSITIF EST ‘’) ECRIRE (‘’LE NOMBRE POSITIF EST ‘’)
ECRIRE(val) ECRIRE(val)
FIN FIN

Ecrire l'algorithme permettant d'afficher la table de multiplication par 9.


CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

CHAPITRE3 : PROCEDURES ET FONCTIONS

Introduction
Lorsque l'on développe un programme et que le problème à résoudre est complexe, le nombre
d'instruction devient vite important. Il est nécessaire de l'organiser. Il suffit de regrouper sous un même
nom les instructions agissant dans le même but.
On distingue :
 les Procédures qui réalisent un traitement (lecture d'un complexe, tri du fichier étudiant)
 les Fonctions qui effectuent un calcul et retournent un résultat
Les fonctions et les procédures peuvent être appelées plusieurs fois à partir du programme principal
ou à partir d'autres fonctions en recevant à chaque fois des paramètres ayant des valeurs différentes.
Les Fonctions et les Procédures sont donc des moyens de réutilisation de portions de code.
Les Fonctions et les procédures sont parfois appelées des sous-programmes

I. Syntaxe d'une fonction/Procédure

SYNTAXE D’UNE FONCTION


FONCTION <nom_fonction> ( <liste des paramètres> ) : <type de résultat>
< déclaration des objets locaux à la fonction>
DEBUT
{ corps de la fonction}
RETOURNER(résultat)
FIN

Exemple:
FONCTION perimetre_rectangle (largeur, longueur : ENTIER) : ENTIER
DEBUT
RETOURNER (2*(largeur+longueur))
FIN

SYNTAXE D’UNE PROCEDURE


PROCEDURE <nom_procedure>( <liste des paramètres> )
< déclaration des objets locaux de la procedure>
DEBUT
{corps de la procedure}
FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
Exemple:
PROCEDURE Echanger(valeur1 ,valeur2 :ENTIER)
VAR TEMP :ENTIER
DEBUT
TEMP valeur1
valeur1 valeur2
valeur2 TEMP
FIN
PASSAGE PAR REFERENCE
PROCEDURE Echanger(VAR A,B :ENTIER)
VAR AUX :ENTIER
DEBUT
AUX A
A B
B AUX
FIN

II. Fonction et de procédure qui fait appel à une fonction


Soit la fonction Max_3 qui permet de déterminer le plus grand nombre entre trois entier x,y et z

FONCTION Max_3(X,Y,Z:ENTIER) :ENTIER


VAR MAX
DEBUT
SI(X>Y) ALORS
MAX X
SINON
MAX Y
FINSI
SI(MAX<Z)ALORS
MAX Z
RETOURNER MAX
FIN
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
Maintenant, on peut créer la procédure qui détermine le maximum et le minimum de trois entiers,
en faisant appel à la fonction Max_3 :
PROCEDURE MINETMAX(A,B,C :ENTIER)
VAR min,max :ENTIER
DEBUT
max Max_3(A ,B,C)
min -Max_3(-A,-B,-C)
ECRIRE(‘’La valeur minimale est :’’min)
ECRIRE(‘’La valeur maxmale est :’’max)
FIN
Remarques :
X, Y, Z sont les paramètres formels de la fonction Max_3(X,Y,Z). Ce sont des paramètres d'entrées :
lors de l'appel de la fonction Max_3. Les valeurs des arguments d'appel (ici : A, B, C) ou (-A, -B, -
C)) sont transmises aux paramètres X, Y, Z en fonction de leur ordre.
Les arguments sont des expressions (par exemple : max Max_3 (2*A+B, C-B, A*C)) qui sont
évaluées à l'appel. Leur valeur est transmise aux paramètres.
Naturellement, le type des expressions doit être compatible avec le type des paramètres.

III. Modes de transmission des paramètres


Il existe deux modes de transmission des paramètres:
 Par valeur: le paramètre transmis n'est jamais affecté par les modifications dans la procédure
ou la fonction (on ne récupère pas les résultats !)
 Par adresse (référence) : le paramètre transmis dans ce cas peut être modifié et on récupère
les résultats.
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

IV. Récursivité
La récursivité consiste à remplacer une boucle par un appel à la fonction elle-même.
Exemple :
Considérons la suite factorielle, elle est définie par :
0!=1
n!=n(n-1)!
La fonction peut s'écrire simplement:
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

CHAPITRE4 : STRUCTURES DE DONNÉES : LES TABLEAUX

INTRODUCTION
Un tableau est un ensemble de même type indicé par un ensemble non vide d'indices, permettant un
accès direct à chacun des objets.
La contrepartie de cette possibilité d'accès direct est que le tableau doit être contigu en mémoire:
L'adresse d'un objet peut alors facilement être calculée à partir de l'adresse de départ du tableau, de
l'indice de l'objet et de la taille de chaque objet.
I. DECLARATION D’UN TABLEAU A UNE DIMENSSION

Syntaxe:
nom_tableau : TABLEAU[min_indice..max_indice] DE <type_predefini>;
• ce qui signifie que les éléments ont pour type le type_predefini
• les indices des éléments vont de min_indice à max_indice,
• avec min_indice < max_indice,
NB: on peut déclarer un tableau de N valeurs comme ceci:
nom_tableau: TABLEAU[ N ] DE <type_predefini>

Exemple de tableau de 5 entiers :

T :TABLEAU [5] d' ENTIER

 T signifie que c'est un objet de type TABLEAU.


 Les numéros en indices 1, 2, 3, 4, 5 correspondent aux valeurs colonnes.
 Le contenu de T : les 5 entiers (dans un certain ordre)
 La première valeur est T[1] où 1 correspond donc à l'indice de la première colonne.

TABLEAU A DEUX DIMENSSIONS


On peut aussi avoir un tableau de dimension NxM (N lignes, M colonnes)
à Compléter ! ! !
Exemple :
Tableau à deux dimensions ( 2x M)
Déclaration :
T:TABLEAU[1..2,1..M] D'ENTIER

II. CREATION D’UN NOUVEAU TYPE


TYPE <Nom> = <description>
Exemple : déclaration d'un nouveau type Mot, tableau de 10 caractères
TYPE MOT = TABLEAU [10 ] DE CARACTERE
VAR nom, verbe : MOT
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021
III. Fonctions les plus utilisées dans un tableau
 Parmi les traitements opérant sur des tableaux on peut:
 créer des tableaux
 ranger (Saisir) des valeurs dans un tableau
 récupérer, consulter des valeurs rangées dans un tableau
 rechercher si une valeur est dans un tableau
 mettre à jour des valeurs dans un tableau
 modifier la façon dont les valeurs sont rangées dans un tableau (par exemple : les trier de
différentes manières)
 effectuer des opérations entre tableaux : comparaison de tableaux, addition multiplication,...
Dans la suite du cours on déclare un type de tableau TABL de cette manière:
TYPE TABL= TABLEAU [TAILLE] D' ENTIER
TAILLE est la constante qui indique le nombre de case du tableau.
Voila quelques fonctions qui seront fréquemment utilisées
PROCEDURE SAISIE_Tab(VAR T: TABL; N:ENTIER)
VAR i: ENTIER
DEBUT
POUR i DE 1 A N FAIRE
LIRE(T[i])
FINPOUR
FIN
Cette PROCEDURE permet de rentrer (saisir) les valeurs dans un tableau.
NB: on désigne le tableau par T et N par le nombre de colonnes, ainsi, même si l'on a déclaré
auparavant un tableau à 50 colonnes et que l'on n'utilise en fait que 30 colonnes, N=30 permet de
définir à l'ordinateur le nombre de colonnes réellement utilisées et limiter la durée du traitement. N
est donc indépendant de TAILLE ( mais N≤ TAILLE).
PROCEDURE AFFICH_Tab(T: TABL; N:ENTIER)
VAR i: ENTIER
DEBUT
POUR i DE 1 A N
FAIRE ECRIRE(T [i])
FINPOUR
FIN
FONCTION Mintableau (T :TABL,N: ENTIER) : ENTIER
VAR i:ENTIER
Min :ENTIER
DEBUT
Min T[1]
POUR i DE 2 A N
FAIRE
SI T[i] < Min ALORS
Min T[i]
FINSI
FINPOUR
RETOURNER(Min)
CFPT/SENEGAL-JAPON
IIR1
ANNEE 2020-2021

TD ALGORITHME

Vous aimerez peut-être aussi