Vous êtes sur la page 1sur 68

REPUBLIQUE DEMOCRATIQUE DU CONGO

ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

INSTITUT SUPERIEUR DE COMMERCE


ISC-GOMA
www.iscgoma.net

Cours d’Algorithmique et Méthodes


de Programmation

Par Ir Héritier Kangela M.

Année Académique 2019 – 2020

Par Ir Héritier Kangela Misenga


II
Les Objectifs
1. Global
Etre en mesure de Modéliser différents problèmes de la vie courante et y apporter les
solutions informatiques.
2. Spécifiques
- Être capable de concevoir des algorithmes selon problème à résoudre.
- Être capable d’implémenter des algorithmes de différentes sources dans n’importe quel
langage de programmation de son choix selon le besoin exprimé.
- Comprendre les notions de base en Algorithmique.
- Comprendre les notions de base en programmation en se basant sur l'algorithmique.
Différencier et comprendre les concepts de base de la programmation Orientée Objet.
- Appréhender les Notions de Base de la modélisation et de la conception des Bases des
Données.
Les langages de programmation que nous allons utiliser en pratique pour une meilleure
compréhension de ce cours sont :
• Le Java ;
• Le Langage C++

Par Ir Héritier Kangela Misenga


BIBLIOGRAPHIE :
Livres :
1. R. C BACKHOUSE, Construction et vérification de Programmes, Masson, 1986
2. G. CLAVEL, Introduction à la programmation, MASSON, paris, 1993
3. Barbara Doyle, Visual C#.net programming: from problem Analysis to Program Design,
THOMSON, Boston, 2004.
4. Claude Delannoy, Initiation à la programmation : Avec des exemples en C, C++, C#, Java
et PHP, Edition Eyrolles, paris, 2008.
5. Christophe Dabancourt, Apprendre à Programmer, Editions Eyrolles, Paris,2008

Par Ir Héritier Kangela Misenga


4

CHAP. I. INTRODUCTION GENERALE


1.0 NOTION
La matière « Algorithmique et programmation » repose essentiellement sur l'algorithmique
et la résolution de problèmes. La maîtrise de l'algorithmique requiert deux qualités :
- Avoir une certaine intuition, car il est impossible de savoir a priori quelles instructions
permettront d'obtenir le résultat voulu. C'est là, si l'on y tient, qu'intervient la forme «
d'intelligence » requise pour l'algorithmique. Cette qualité se développe avec l'expérience et la
multiplication des problèmes à résoudre. Le raisonnement, au départ laborieux, finira par devenir
« spontané ».
- Etre méthodique (qui procède avec logique et organisation) et rigoureux.
En effet, chaque fois qu'on résout un problème, il faut systématiquement se mettre
mentalement à la place de la machine qui va exécuter le programme de la solution.
1.1. QUELQUES APPROCHES
1.1.1 La programmation
L’activité de programmation consiste, au bout du compte, à réaliser un programme (ou une
partie de programme, par exemple une fonction) résolvant un problème donné ou satisfaisant3 à
un besoin donné. Compte tenu de la multiplicité des langages existants, il existe différentes façons
d’aborder cette activité.
Un Programme alors c'est une suite des instructions enregistrées dans la mémoire d'un
ordinateur lui permettant d'exécuter des tâches données.
Une première démarche consiste à étudier la syntaxe précise d’un langage donné puis à
utiliser ce langage pour écrire le programme voulu. Cela laisse supposer alors qu’il existe autant
de façon de résoudre le problème qu’il existe de langages différents. Une autre démarche consiste
à exploiter le fait que la plupart des langages se fondent sur des principes communs tels que ceux
que nous venons d’évoquer et que l’on peut alors utiliser pour résoudre le problème donné. Encore
faut-il disposer d’un moyen d’exprimer ces concepts.
Un pseudo-langage (certains parlent de langage algorithmique), lequel nous permettra
d’utiliser les concepts fondamentaux pour rédiger (sur papier) de véritables programmes qu’il vous
sera ensuite facile de transposer dans la plupart des langages actuels.
NB : un « bon programme » doit être :
- Bien spécifié ;
- Clair, donc bien structuré ;
- Facile à tester ;
- Aisément modifiable (Facile à la maintenance) ;
- Robuste (Résistant aux erreurs de l’utilisateur) ;
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
5

- Correct ;
- Efficace.
a. Les étapes d’élaboration d’un programme
Pour élaborer un programme informatique, il est conseillé de suivre les étapes suivantes :
1ière Etape : Délimitation du problème à résoudre
2ième étape : la rédaction de l’algorithme

Problème Algorithme

(Pseudo-Code)

3ème étapes : La traduction de l’algorithme dans un langage de programmation


Si l’algorithme est bien écrit sans faute logique, l’étape suivante ne doit poser aucun
problème conceptuel. Il n’y a qu’à effectuer une simple traduction dans un langage de
programmation donné.
Cette phase correspond à la transformation de votre analyse vers un langage de
programmation spécifique. C’est phase de programmation

Problème Algorithme Programme

(Pseudo-Code) (Langage)

4ième étape : Test du programme


Cette phase est La compilation qui va transformer le programme lisible par un humain vers
un langage compréhensible par une machine.

Problème Algorithme Programme Exécutable


(Langage de (Langage
(Pseudo-Code) programmation) machine)

5ième étape : Maintenance du programme


Désigne les modifications apportées au programme, après sa mise en œuvre, pour en corriger
les fautes, en améliorer son efficacité ou d’autres caractéristiques.
b. Les données du programme, les résultats
Supposez qu’un enseignant dispose d’un ordinateur et d’un programme de calcul de
moyennes de notes. Pour fonctionner, un tel programme nécessite qu’on lui fournisse les notes
dont on cherche la moyenne. Nous les appellerons informations données ou plus simplement
données. En retour, le programme va fournir la moyenne cherchée. Nous l’appellerons
information résultat ou plus simplement résultat. Si le programme a été prévu pour cela, il peut
fournir d’autres résultats tels que le nombre de notes supérieures à 10.
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
6

1.1.2. Langages de programmation


On appellera langage de programmation un ensemble de mots-clés (choisis par convention)
associé à un ensemble de règles très précises indiquant comment on peut assembler ces mots pour
former des « phrases » que l’interpréteur ou le compilateur puisse traduire en langage machine
(binaire). Un langage de programmation se distingue du langage mathématique par sa visée
opérationnelle (Il doit être exécutable par une machine), de sorte qu’un langage de programmation
est toujours un compromis entre sa puissance d’expression et sa possibilité d’exécution.
Un langage de programmation est un langage informatique, permettant à un humain d’écrire
un code source qui sera analysé par un ordinateur.
On appelle « langage informatique » un langage destiné à décrire l'ensemble d’actions
consécutives qu'un ordinateur doit exécuter. Un langage informatique est ainsi une façon pratique
pour nous (humains) de donner des instructions à un ordinateur. Par contre, le terme « langage
naturel » représente les possibilités d'expression partagé par un groupe d'individus (par exemple
l'anglais ou le français).
Le langage de programmation est l'intermédiaire entre l'humain et la machine, il permet d'écrire
un programme dans un langage proche de la machine mais intelligible par l'humain les opérations
que l'ordinateur doit effectuer.
NB : Il existe un nombre important des langages de programmation, la plupart d'entre eux étant
réservés à des domaines spécialisés dont Langage impératif(Assembleur), Langage fonctionnel
(scheme et caml), Langage modulaire(C), Langage interprété(PHP), Langage compilé (C++,
C#, Java, etc), etc.
1.1.3. Un algorithme
Un algorithme exprime la structure logique d’un programme informatique et de ce fait est
indépendant du langage de programmation utilisé. Par contre, la traduction de l’algorithme dans
un langage particulier dépend du langage choisi et sa mise en œuvre dépend également de la
plateforme d’exécution.
Un algorithme est une suite ordonnée d’instructions qui indique la démarche à suivre pour
résoudre une série de problèmes. Ainsi quand on définit un algorithme, celui-ci ne doit contenir
que des instructions compréhensibles par celui qui devra l’exécuter. Dans ce cours, nous devrons
donc apprendre à définir des algorithmes pour qu’ils soient compréhensibles et donc exécutables
par un ordinateur.
Un programme n’est rien d’autre qu’une suite d’instructions, encodées en respectant de
manière très stricte un ensemble de conventions fixées à l’avance par un langage informatique. La
machine décode alors ces instructions en associant à chaque « mot » du langage informatique une
action précise.
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
7

Le programme que nous écrivons dans le langage informatique à l’aide d’un éditeur (une
sorte de traitement de texte spécialisé) est appelé programme source (ou code source).
Le seul « langage » que l’ordinateur puisse véritablement « comprendre » est donc très
éloigné de ce que nous utilisons nous-mêmes. C’est une longue suite de 0 et de 1 (les « bits »,
binary digit) traités par groupes de 8 (les « octets », byte), 16, 32, ou même 64.

DU PROBLEME AU CODE SOURCE


Problème

Algorithmique

Algorithme

Programmation

Code source

• Les qualités d’un bon algorithme.


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, il ne doit donc pas faire appel à des notions techniques relatives à un programme
particulier ou bien à un système d'exploitation donné.
Précis : chaque élément de l'algorithme ne doit pas porter à confusion, il est donc Important de
lever toute ambiguïté.
Concis (Bref) : un algorithme ne doit pas très long. Si c'est 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.
1.1.3.1. La structure d’un Algorithme
Un algorithme est structuré en deux parties
1. Une partie indiquant le nom de l’algorithme
2. Une autre partie située entre les mots clés "Début" et "fin", contenant le bloc d’instructions (une
partie de traitement d’un algorithme constitué d’opérations élémentaires).
Syntaxe de la structure d’un algorithme est la suivante ;
Algorithme Nom_de_l’algorithme
Déclarations des variables
Début
Bloc d’instructions
Fin
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
8

1.1.4. L'algorithmique
L’algorithmique est la science des algorithmes.
L’algorithmique s’intéresse à l’art de construire des algorithmes ainsi qu’à caractériser leur
validité, leur robustesse, leur réutilisabilité, leur complexité ou leur efficacité.
• Validité d’un algorithme La validité d’un algorithme est son aptitude à réaliser exactement
la tâche pour laquelle il a été conçu.
• Robustesse d’un algorithme : La robustesse d’un algorithme est son aptitude à se protéger
de conditions anormales d’utilisation.
• Réutilisabilité d’un algorithme : La réutilisabilité d’un algorithme est son aptitude à être
réutilisé pour résoudre des tâches équivalentes à celles pour lesquelles il a été conçu.
• Complexité d’un algorithme : La complexité d’un algorithme est le nombre d’instructions
élémentaires à exécuter pour réaliser la tâche pour laquelle il a été conçu.
• Efficacité d’un algorithme : L’efficacité d’un algorithme est son aptitude à utiliser de
manière optimale les ressources du matériel qui l’exécute.
1.1.5. Notion sur Le compilateur, l’interpréteur et le code source
Votre ordinateur est une machine bizarre, c’est le moins que l’on puisse dire. On ne peut
s’adresser à lui qu’en lui envoyant des 0 et des 1. Ainsi, si je traduis "Fais le calcul 3 + 5" en
Langage informatique, ça pourrait donner quelque chose comme :
0010110110010011010011110.

Programme Programme en binaire compressible


Programme écrit dans un
de traduction par l’ordinateur (langage de Bas
langage de haut niveau
en binaire niveau)

Le code source : est tout simplement le code de votre programme écrit dans un langage évolué.
Le compilateur : est le programme qui se charge de traduire le programme de haut niveau en
langage compréhensible par l’ordinateur. Il existe un compilateur pour chaque langage de haut
niveau. Le compilateur, récupère les instructions écrites en langage de programmation et les
convertit en langage machine.
La Compilation Consiste à Traduire le Programme source (code source) en langage machine.
L’interpréteur : est le programme chargé de traduire les instructions au fur et à mesure qu’elles
se présentent. La façon d'écrire un programme est intimement liée au langage de programmation.
L’interprétation consiste à traduire chaque instruction du programme source, avant de l’exécuter,
à l’aide d’un programme nommé interpréteur.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


9

Que l'on a choisi, car il en existe énormément. De plus, le compilateur devra Correspondre au
langage choisi : à chaque langage de programmation son compilateur. Le compilateur fait ensuite
appel à un éditeur de liens (en anglais linker ou binder) qui permet d'intégrer dans le fichier final
tous les éléments annexes (fonctions ou Librairies) auquel le programme fait référence mais qui
ne sont pas stockés dans le Fichier source.
Puis il crée un fichier exécutable qui contient tout ce dont il a besoin pour fonctionner de
façon autonome, (sous les systèmes d'exploitation Microsoft Windows ou MS-DOS le fichier ainsi
créé possède l'extension .exe)

Fichier Source Fichier Objet Fichier Exécutable

Editeur de Liens
Compilateur

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


10

CHAP II. NOTIONS DE BASE EN PROGRAMMATION


2.1 La notion de variables, les types de données et l’instruction affectation
2.1.1 Notion sur les variables
a) Approche
Une variable désigne un emplacement mémoire qui permet de stocker une valeur. La
plupart des langages sont basés sur la même technique fondamentale, à savoir la Manipulation
des Valeurs contenues dans les variables.
En programmation, une variable est donc un nom qui sert à repérer un emplacement donné
de la mémoire centrale. Elle vous permet, en effet de manipuler de valeur sans avoir à vous
préoccuper de l’emplacement qu’elles occuperont effectivement en mémoire.

A
01010
Montant
01011

Côté ordinateur Côté Programmeur

Le programmeur ne se contente que des noms A et Montant, il ne se préoccupe pas des


adresses qui leurs seront attribués en mémoire.
La première chose à faire avant de pouvoir utiliser une variable est de créer la boîte et de lui
coller une étiquette. Ceci se fait tout au début de l’algorithme avant même les instructions
proprement dite. C’est ce qu’on appelle la déclaration des variables.
Le nom de variable (étiquette de la boîte) obéit à des impératifs changeant selon les
langages.
En pseudo-code, une déclaration de variable aura cette forme :
Variable <Nom_variable> en <Type_de_la_variable>
Ex : Variable g en numérique
Une variable est définie par :
• Un nom unique qui la désigne
• Un type de définition unique
• Une valeur attribuée et modifiée au cours du déroulement de l'algorithme.
b) Quelques limites dans la déclaration des variables
Une règle absolue est qu’un nom de variable peut comporter des lettres (a,....A, z,...Z) et des
chiffres(0,.....9) mais qu’il exclut la plupart des signes de ponctuation ($, #, @, etc.), en particulier
les espaces.
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
11

NB :
• Le nom d’une variable commence aussi impérativement par une lettre.
• Le nombre maximal de signes pour un nom de variable dépend du langage utilisé.
• Dans beaucoup de langage de programmation le caractère “_” est utilisé dans la déclaration
des variables, Même au début.
• La sensibilité à la casse Les langages demandent une syntaxe rigoureuse, on ne peut donc
pas écrire les Choses de la manière dont on le souhaite. Ainsi, certains langages sont case
sensitive (en français "sensibles à la casse"), Cela signifie qu'un nom ne comportant que
des minuscules ne sera pas considéré comme équivalent au même nom comprenant des
majuscules. Ainsi la variable nommée "Toto" sera une variable différente de la variable
"toto".
c) Les variables publiques et privées
Par défaut, une variable est déclarée au sein d’une procédure, d’une fonction, ou d’une
classe.
Si elle est créée avec cette procédure ou fonction ou classe et elle disparaît avec elle, elle ne
sera visible que dans la procédure ou fonction ou classe qui l’a fait naître et alors une telle variable
est dite par défaut Privées ou locales.
Mais à côté de cela, il est possible de créer des variables qui certes seront déclarées dans une
procédure ou fonction ou classe mais qui du moment où elles existent, seront communes à toutes
les procédures et fonctions de l’application. Alors de telles variables sont dites globales ou
publiques. Avec des telles variables, le problème de la transmission des valeurs d’une procédure
ou fonction à l’autre ne pose plus problème.
Exemples :
• Déclaration d’une variable privée x numérique

Variable x en numérique
• Déclaration d’une variable publique x numérique

Variable publique x en numérique

d) Les Variables Non définies

Si une variable n’a pas encore de valeur elle est dite non définie. D’ailleurs au début de
l’exécution d’un programme, toutes les variables sont non définies.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


12

Algorithme VariableNonDefini
Lorsque l’on cherche à exécuter l’instruction Z
Variables X, Y, Z en numériques
X+Y, la variable Y est encore non définie. Le calcul
Début
de Z est donc Impossible.
X 3

Z X+Y

Fin

2.1.2 Notion sur les types des données


Le type de donnée conditionne le nombre d'octets sur lequel la donnée est codée, C’est-à-
dire l'occupation en mémoire de cette donnée ainsi que le format dans Lequel elle est représentée.
C'est la raison pour laquelle certains langages (C, Java) sont des langages typés, Cela
signifie qu'à une variable est associée non seulement un nom mais aussi un Type de donnée qu'il
faudra préciser lorsque l'on déclarera la variable.
Certains langages acceptent que l'on associe à un nom de variable n'importe quel Type de
donnée (c'est-à-dire aussi bien un nombre entier qu'un caractère). Ces
Langages sont dits peu ou pas typés, on n’a pas besoin de déclarer le type des variables.
La déclaration consiste à réserver un espace mémoire dans une adresse (avec taille variable
selon le type), l'assignation Consiste à mettre des données dans cet espace réservé.
Dans tous les langages, toutes les variables occupent en mémoire un nombre déterminé de
bits.
a) Les types numériques classiques (réel et entier)
Les variables de type numérique utilisées dans l’algorithme ont comme domaines usuels
ceux fournies par les mathématiques (Réel et entier). Celui d’une variable destinée à recevoir des
nombres. Tous les langages, quels qu’ils soient offrent un bouquet de types numériques, dont le
détail est susceptible de varier légèrement d’un langage à l’autre.
Ex : Algorithme Multipli_Type_Reel
Variables nombre1, Nombre2, Résultat en Réel
Début

Nombre1 1.2

Nombre2 10

Resultat Nombre1 * Nombre2

Fin
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
13

b) Autres types numériques


Certains langages de Programmation autorisent d’autres types numériques, notamment :
Le type monétaire.
Le type date (jour/mois/année)
c) Type alphanumérique
Dans une variable de ce type, on stocke des caractères ; qu’il s’agisse des lettres, signe de
ponctuation, d’espaces ou même des chiffres. Le nombre maximal des caractères pouvant être
stocké dans une variable du dépend du langage utilisé. Il s’agit du domaine constitué des caractères
alphabétiques, numérique et de ponctuation.
En pseudo code une chaîne de caractère est toujours mise entre guillemets.
Ex Algorithme ShowKangela

Variables R en Caractères

Début

R "Kangela"

Fin

d) Type booléen
Dans la variable de type booléenne on y stocke uniquement les valeurs logiques VRAI ou
FAUX. On peut représenter ces notions de Vrai ou faux par (True ou False), par (1 ou 0), etc.
Ex : Algorithme de typeBoolean

Variables Bool1, Bool2, Bool3 en Booléen

Début
Bool1 10 > 9 (* Dans Bool1 on aura True*)

Bool2 NON Bool1 (* Dans Bool2 on aura False*)


Fin

2.1.3 L’instruction d’affectation


L’affectation est le fait d’attribuer à une variable une valeur (L’affectation consiste
simplement à placer une valeur dans une variable). L’instruction d’affectation se note avec le
signe
Exemple : Y 12

Affecter à A la valeur 5
A 5

NB :

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


14

On peut attribuer à une variable la valeur d’une autre variable

Ex : Si x et y sont des variables de type numériques

X Y : signifie que la valeur se trouvant dans Y est placée maintenant dans X.

Plus généralement, on pourra demander de ranger dans une variable le résultat d’un calcul (Cela
n’a de sens que pour des variables numérique).

Affecter à A la valeur de B+4

A B+4

Détermine la valeur de B+4 sans modifier celle de B.

Dans cette instruction la valeur de A va changer.


Lorsque l’on détermine la valeur d’une expression, cela ne modifie pas la valeur des variables
qui apparaissent dans cette expression.
NB : Une instruction d’affectation ne modifie que ce qu’est situé à gauche de la flèche.
X Y+1 : si Y=7 alors la valeur de X est maintenant 8.

La valeur à placer dans une variable pourra également provenir d’une autre Affecter à A la
valeur B.
A B
2.2 La Syntaxe dans le langage de programmation
La syntaxe définit les règles d’écriture d’un langage de programmation informatique. Pour
spécifier quels sont les programmes syntaxiquement corrects, on utilise des grammaires qui
définissent les règles de formation de programmes. La vérification du fait qu’un programme est
syntaxiquement correct par Rapport à la grammaire partielle donnée plus haut peut être réalisée
par un programme appelé analyseur syntaxique.
2.3 Mots réservés
Dans la plupart des langages, il existe quelques mots que l'on ne peut pas attribuer aux noms
de variables, aux fonctions, Etc. on les appelle mots réservés. Exemple en C (int,void,char,….),
en C#(string,public,private,…..)
2.4 Les constantes
Les constantes sont des données dont la valeur ne peut être modifiée tout au long du
déroulement du programme. On les définit généralement en début de programme. La valeur que
la constante contient peut-être de tout type, suivant ce que le langage autorise.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


15

Syntaxe :
Constante Nom _Constante = valeur
Exemples
Constante Pi =3,14
Constante B = 6
Constante Mois =” Mars”
2.5 Les commentaires
Les commentaires servent à clarifier un programme en donnant des explications. Ils
serviront si jamais une autre personne essaie de comprendre le fonctionnement du programme en
lisant le fichier source, ou bien à la personne qui l'a créé si jamais n’il relit le fichier source
quelques années après l'avoir écrit, Etc.
Il est généralement bon de pouvoir ajouter dans un programme des lignes de texte qui ne
seront pas prises en compte par le compilateur ou l'interpréteur. Ces lignes de textes sont
généralement précédées (ou encadrées) par des caractères spéciaux selon le langage de
programmation.
Dans les algorithmes de ce cours nos commentaires seront encadrés par (* *) Ex : (* Votre

commentaire *) la programmation

2.6 Les instructions


L'instruction est l'élément clé du programme car c'est elle qui permet de spécifier au
processeur l'action à effectuer. Une instruction est un ordre qui permet de spécifier à l'ordinateur
l’action à effectuer.
Il existe des instructions Simples et les Instructions Composées
2.6.1 Instructions Simples
Sont des instructions d’affectation, de lecture et d’écriture

-a) L ’instruction d’affectation : S 1

-b) L’instruction de lecture : LIRE Q

- c) L’instruction d’écriture : ECRIRE G

2 .6 2 instructions Composés
Les instructions composées sont la séquence, l'alternative et l'itération.
a) La séquence
Ex : x a et y b

x x+y

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


16

b) L'alternative
Syntaxe de l'alternative : Si expression logique alors instruction1 Sinon instruction2
Fin si
c) Itération
Syntaxe de l'itération : Tant que condition faire instructions
Fin tant que
2.7 Les Opérateurs
L’opérateur est le symbole qui définit le type d'opération à réaliser l’opérateur est le symbole
d’une opération logique ou mathématique. Il existe des opérateurs :
2.7.1 Opérateurs Arithmétiques
Signes Signification

+ L’addition

- La soustraction

* La multiplication

/ La division

^ Puissance

% Modulo

2.7.2 Opérateur de comparaison


Signes Signification

= L’égalité

≠ Différent

< Strictement Inférieur

> Strictement Supérieur

>= Supérieur ou égal

<= Inférieur ou égal

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


17

2.7.3 Les opérateurs Logiques


Signes Signification

Et Et logique

Ou Ou logique

NON Inverse une condition

XOR Ou exclusif

2.7.4 Opérateur alphanumérique &


Cet opérateur permet de concaténer 2 chaînes de caractères.
Ex : Algorithme concaténation

Variables A, B, C, K en caractères

Début

A "Jean"
B "-"
C "Luc"
K A&B&C
Fin

La valeur de K à la fin de l’algorithme sera égale à Jean-Luc


Remarques : Lorsque plusieurs opérateurs apparaissent dans une même expression, il est
nécessaire de savoir dans quel ordre ils sont mis en jeu. Les règles sont naturelles et rejoignent
celles de l’algèbre traditionnelle.
Voici les opérateurs par ordre décroissant de priorité, les opérateurs de même priorité étant
regroupés sur une même ligne :

- Négation algébrique (priorité la plus élevée).


^ Puissance
*, /,% Multiplication, division et modulo
+ - Addition et soustraction Priorité décroissant des opérateurs
& Concaténation de chaînes
< ,<=, >, >=, =, <> Opérateurs de comparaison non Négation logique et Et logique
ou Ou logique (priorité la plus basse)

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


18

NB :

• En cas de priorités identiques les calculs s’effectuent de gauche à droite.

• Les parenthèses permettent d’outrepasser ces règles de priorité en forçant le calcul


préalable de l’expression qu’elles contiennent.

EXEMPLES :

Expression Expression similaire

A+B*C A+ (B*C)
A*B+C %D (A*B)+(C %D)
-A /-B+C ((-A) / (-B))+C
2.8 La lecture et l’écriture (Pour communiquer avec votre programme)
Les instructions permettant au programme de communiquer des valeurs à l’utilisateur en les
affichant à l’écran sont appelées Ecriture. De manière analogue, Les instructions permettant de
fournir des valeurs au programme sont appelées Lecture.
Dès que le programme rencontre une instruction de lecture, l’exécution s’interrompt
attendant la frappe d’une valeur au clavier.
La lecture et l’écriture doivent être comprises du point de vue de la machine qui sera chargée
de les exécuter.
En Pseudo-code:
La lecture est formalisée comme suit :
Exemples :
1. Pour la lecture
Lire A
Signifie Prendre la valeur sur le périphérique et la ranger dans A
Lire x, y
Signifie prendre deux valeurs et les ranger dans x et y. dans cet ordre
2. Pour l’écriture
a) Ecrire A
Signifie Ecrire la valeur d’A sur le périphérique
b). Ecrire x, y
Signifie d'afficher les valeurs de x et y dans cet ordre.
c). Ecrire x

NB : Les textes qui accompagnent nos résultats s’appellent des Libellés

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


19

Exemple :

ECRIRE " Le double de deux est : " , 4


ECRIRE " Deux en chiffre est : ", 2, " et trois en chiffre vaut :" ,3
Entré des données en mode conversationnel, il est vivement conseillé de faire précéder
toute instruction de l’écriture d’un libellé précisant à l’utilisateur ce qu’on attend de lui.
Ex : un programme calculant le carré d’un nombre
Variables nombre, Carré en numérique
Début
Ecrire "Entrer un nombre"
Lire nombre
Carré nombre*nombre
ECRIRE " Voici son carré : " , Carré
Fin
Intérêt de l’instruction de lecture
Observer ces deux programmes :
Soit le programme 1
Algorithme le Double
Variables Val, Double en numériques
Début
Val 5
Double val*2
ECRIRE " le double de : " , Val, " est : " , Double
Fin
Le Programme 1 fournit le double de 5, si nous souhaitons obtenir le double de 3, il va nous
falloir modifier le programme en remplaçant
L’instruction Val 5 par Val 3
L’instruction de lecture nous permet d’éviter ces modifications et de permettre à
l’utilisateur d’entrer la valeur qu’il veut et le programme calcule directement le double :
Soit le programme 2
Algorithme dudouble
Variables Val, Double en numériques
Début
ECRIRE " Entrer un nombre "
Lire Val
Double val*2
ECRIRE " le double de : " , Val, " est : " , Double
Fin
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
20

Dans le programme 2 on peut avoir chaque fois entre le nombre et obtenir le double sans
modifier le programme. Comme c’était le cas dans le programme 1.
Exercices d’applications

1. Que va afficher est le résultat de ces Algorithme

a) Algorithme AfficherJeanFabrice

Variables R,X en Caractères

Début

R "Jean"

X "Fabrice"

Ecrire R

Ecrire X

Fin

b) Algorithme AfficherKangela
Variables R, X en Caractères
Début
R "Kangela"

X R

Ecrire R

Ecrire X

Fin

2.Trouver les valeurs Booléennes prises au cours de l’Algorithme Suivant


Algorithme CalculBooleen
Variables a,b en entier
Variables b1, b2, b3, b4 en booléen Début
a 10

b 4

b1 (10>10) ET (5=5)

b2 (a=10) OU (b=5) OU (3=6) b3 (a>b) ET (5=5) OU (b<a)

b4 (FAUX) ET (VRAI) OU (a>b)

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


21

3. Quel est résultat produit par le programme suivant ?


Variables val, double numériques
Début
Val 23
Double Val * 2
Ecrire val
Ecrire Double
Fin
4. Ecrire un algorithme de la résolution d’une équation du premier de la forme ax+b=0.
5. Ecrire un algorithme d’un programme qui fait la conversion de dollar en franc et un autre qui
fait la conversion des francs en dollar.
6. Ecrire le pseudo-code d’un programme qui demande un à l’utilisateur un nombre, puis calcule
et affiche-le carrée de ce nombre.
7. Qu’obtiendra-t-on dans les variables A, B après exécution des instructions suivantes
Variables A, B en Numérique
Début

A 5

B A+4

A A+1

B A- 4

FIN

2.9 Les Structures de contrôle


Elles permettent de gérer le déroulement du code.
L’intérêt et la puissance d’un ordinateur proviennent de deux choses :
La Possibilité d’effectuer des choix dans le traitement réalisé et ;
La possibilité de répéter plusieurs fois les mêmes instructions.
Bien attendu, ces choix et répétitions sont réalisables dans tous les langages de
programmations.
2.9.1 Traitements conditionnels (Les tests)
On appelle traitement conditionnel un Bloc d’instructions dont l’exécution est soumise à la
vérification d’un test. C’est ce qui permet de faire réaliser des choix aux ordinateurs. a) Si….
Alors

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


22

Syntaxe

Si <Condition> alors
<Insrtuctions>
Finsi

Sous cette Forme conditionnelle, les instructions ne sont exécutées que si <Condition> est
Vérifiée.
Exemple ; Algorithme Affichagenulle
Variable A en entier
Début

Si A=0 alors

Ecrire ”La valeur de la variable A est Nulle ”

Finsi

Fin

Si au moment du Test, la valeur de A est Nulle, Alors l’instruction Ecrire ”La valeur de la
variable A est Nulle ” est exécuté Sinon elle est ignorée.
b) SI ... ALORS ...Sinon

La syntaxe de ce traitement conditionnel est la suivante :

Si < condition > alors


<Instructions>
Sinon
<Autres instructions>
Finsi

Si<Condition > est vérifié, les instructions sont exécutées. Dans le cas contraire, donc si
<condition> n’est pas vérifiée, alors ce sont les <autres instructions> qui sont exécutées.
Par exemple,
Algorithme : Valeurs DistinctesetEgales
Variables a, b en numériques
DEBUT
ECRIRE ”Saisissez deux valeurs numériques. »
LIRE a, b
Si (a = b) alors
ECRIRE ”Vous avez saisi deux fois la même valeur, à savoir ”, a, ” et ”, b, ”.”
Sinon

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


23

ECRIRE ”Vous avez saisi deux valeurs différentes, ”, a, ” et ”, b, ”.”


FinSI

Dans l’exemple ci-dessus, la condition (a = b) est évaluée. Si à ce moment-là les


variables a et b contiennent la même valeur, alors la condition a = b sera vérifié Dans ce cas,
l’instruction ECRIRE « Vous avez saisi deux fois la même valeur, à savoir «, a, «.» sera exécuté.
Si la condition a = b n’est pas vérifiée, donc si les variables a et b ne contiennent pas la même
valeur au moment de l’évaluation de la condition, c’est alors l’instruction ECRIRE « Vous avez
saisi deux valeurs différentes, «, a, « et «, b, "." qui sera exécuté. C) les Si imbriqués syntaxe :
Graphiquement, on peut très facilement représenter un SI comme un aiguillage de Chemin de fer.
Un SI ouvre donc deux voies, correspondant à deux traitements différents. Mais il y a des tas de
situations où deux voies ne suffisent pas. Par exemple, un programme devant donner l’état de l’eau
selon sa température doit pouvoir choisir entre trois réponses possibles (solide, liquide ou
gazeuse).
Exemple : Algorithme temperatureEau

Variable Temp en Entier


Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp =< 0 Alors
Ecrire "C’est de la glace"
Finsi
Si Temp > 0 Et Temp < =100 Alors
Ecrire "C’est du liquide"
Finsi
Si Temp > 100 Alors
Ecrire "C’est de la vapeur"
Finsi
Fin
Vous constaterez que c’est un peu laborieux. Les conditions se ressemblent plus ou moins, et
surtout on oblige la machine à examiner trois tests successifs alors que tous portent sur une même
chose, la température (la valeur de la variable Temp). Il serait ainsi bien plus rationnel
d’imbriquer les tests de cette manière :

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


24

Exemple Algorithme temperatureEau


Variable Temp en Entier
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp <= 0 Alors
Ecrire "C’est de la glace"
Sinon Si Temp < 100 Alors
Ecrire "C’est du liquide"
Sinon
Ecrire "C’est de la vapeur"
Finsi
Fin
Nous avons fait des économies au niveau de la frappe du programme : au lieu de devoir taper
trois conditions, dont une composée, nous n’avons plus que deux conditions simples. Mais aussi,
et surtout, nous avons fait des économies sur le temps d’exécution de l’ordinateur.
Si la température est inférieure à zéro, celui-ci écrit dorénavant " C’est de la glace " et passe
directement à la fin, sans être ralenti par l’examen d’autres possibilités (qui sont forcément
fausses).
Cette deuxième version n’est donc pas seulement plus simple à écrire et plus lisible, elle est
également plus performante à l’exécution.
Les structures de tests imbriqués sont donc un outil indispensable à la simplification et à
l’optimisation des algorithmes.
Ex : Algorithme TestNombreSuperieurInferieur
Variable nombre en numérique
Début
ECRIRE “Entrer le nombre”
Lire nombre
Si nombre >0 alors
Ecrire" le nombre est strictement Supérieur à 0 "
Sinon Si nombre <0 alors
Ecrire" le nombre est strictement inférieur à 0 "
Sinon
Ecrire" le nombre est égal à 0
Finsi
Fin
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
25

d) Suivant cas

Lorsque que l’on souhaite conditionner l’exécution de plusieurs ensembles d’instructions


par la valeur que prend une variable, plutôt que de faire des imbrications de si à, outrance, on
préféra la forme suivante :

Suivant < variable > faire cas < valeur1 > <
Selon la valeur que prend la variable
instructions1 > cas < valeur2 > < instructions2 > <variable>, le bloc d’instructions à exécuter

... est sélectionné Par exemple, si la valeur de


<variable> est <valeur 1>, alors le bloc
cas < valeurn >
<instructions 1> est exécuté. Le bloc <autres
Autres cas < instructions > finSelon cas> est exécuté si la valeur de <variable> ne
correspond à aucune des valeurs
énumérées.
Exemple
Ecrivons un algorithme demandant à l’utilisateur le jour de la semaine. Affichons ensuite le jour
correspondant au lendemain.
Algorithme Lendemain
Variable erreur en numérique
Variables jour, lendemain en caractères
DEBUT
Si erreur = 1 alors
ECRIRE ”Erreur de saisie”
Sinon
ECRIRE ”Le lendemain du ”, jour, ” est ”, lendemain, ”.”
FINSI
FIN

2.9.2 Boucles
Une boucle permet d’exécuter plusieurs fois de suite une même séquence d’instructions. Cet
ensemble d’instructions s’appelle le corps de la boucle. Chaque exécution du corps d’une boucle
s’appelle une itération, ou encore un passage dans la boucle.
Il existe trois types de boucle :
– Tant que

– Répéter ........ Jusqu’a`

– Pour

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


26

Chacune de ces boucles a ses avantages et ses inconvénients. Nous les passerons en revue
l’une après l’autre
a) Tant que
La syntaxe d’une boucle « Tant que » est la suivante.
tant que < condition >

< instructions >

Fintantque

La condition est évaluée avant chaque passage dans la boucle, à chaque fois qu’elle est
vérifié, on exécute les instructions de la boucle. Une fois que la condition n’est plus Vérifiée,
l’exécution se poursuit après le ‘fintantque ‘. Affichons par exemple tous les nombres de 1 à
5 dans l’ordre croissant.
Algorithme Affichage de Nombre 1 à 5 avec Tant que
Variable i en numérique
DEBUT
i ←1
tant que i≤ 5
ECRIRE i
i ←i + 1
fintantque
FIN

Cet algorithme initialise i à 1 et tant que la valeur de i n’excède pas 5, le contenu de cette
variable i est affichée. Puis incrémentée. Les instructions se trouvant dans le corps de la boucle
sont donc exécutées 5 fois de suite. La variable i s’appelle un compteur, on gère la boucle par
incrémentations successives de i et on sort de la boucle une fois que i a atteint une certaine valeur.
L’initialisation du compteur est très importante ! Si vous n’initialisez pas i explicitement, alors
cette variable contiendra n’importe quelle valeur et votre algorithme ne se comportera pas du tout
comme prévu.
NB :
Pour la boucle “Tant que”, avant d’entrer dans le corps de la boucle, il faut que la condition
soit vrai. Si dans l’exemple ci-dessus i était initialisé à 6 on n’allait pas entrer dans la boucle.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


27

b) Répéter... jusqu’`a
Syntaxe
Répéter

< Instructions >

Jusqu’à <condition >

Le fonctionnement est analogue à celui de la boucle « tant que » à quelques différences


près :
– La condition est évaluée après chaque passage dans la boucle.

– On exécute le corps de la boucle jusqu’à ce que la condition soit vérifiée, donc tant que la
condition est fausse. Reprenons l’exemple précédent avec une boucle Répéter ... Jusqu’à :

Algorithme : 1 à 5 avec la boucle Répéter . . . jusqu’`a

Variables i en numérique DEBUT


i←1
répéter
ECRIRE i
i←i+1
Jusqu’à i> 5
FIN
De la même façon que pour la boucle « Tant que », le compteur est initialisé avant le
premier passage dans la boucle.
Par contre, la condition de sortie de la boucle n’est pas la même, on ne sort de la boucle
qu’une fois que la valeur 5 a été affichée Or, i est incrémenté après l’affichage, par conséquent i
aura la valeur 6 à la fin de l’itération pendant laquelle la valeur 5 aura été affichée.
C’est pour cela qu’on ne sort de la boucle qu’une fois que i a dépassé strictement la valeur
5. Un des usages les plus courant de la boucle « Répéter ... Jusqu’ à » est le contrôle de saisie
Répéter
Ecrire "Saisir un nombre strictement positif" Lire i si i<=0 Alors
Ecrire "Saisir un nombre strictement positif " Fin Si jusqu’à i > 0
c) Pour
La Syntaxe de la Boucle Pour est la suivante :

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


28

Pour < variable > allant de < premierevaleur > à < dernierevaleur > [par pas de
< pas >]
< instructions >
< Variable > Suivant

La boucle Pour fait varier la valeur du compteur <variable> entre <première valeur > et
<dernière Valeur>. Le <pas> est optionnel et permet de préciser la variation du compteur entre
chaque itération, le pas par défaut est 1 et correspond donc à une incrémentation. Toute boucle «
pour » peut être réécrite avec une boucle tant que. On réécrit de la façon suivante :
< Variable > ←< premierevaleur >
Tant que < variable > <> < dernierevaleur > + < pas >
< Instructions >
< Variable > < variable > + < pas >
Fintantque
La boucle pour initialise le compteur <variable> à la <première valeur>, et tant que la
dernière valeur n’a pas été atteinte, les <instructions> sont exécutées et le compteur incrémenté
de <pas> si le pas est positif, de -<pas> si le pas est négatif.
Algorithme : 1 à 5 avec pour variables i en numérique
Pour i allant de 1 à 5
ECRIRE i
i Suivant
FIN
Observez les similitudes entre cet algorithme et la version utilisant la boucle tant que. Notez
bien que l’on utilise une boucle pour quand on sait en rentrant dans la boucle combien d’itérations
devront être faites. Par exemple, n’utilisez pas une boucle pour contrôler une saisie !
Remarques
Les conditions de choix sont de deux sortes :
- Les conditions simples
Les conditions simples consistent en la comparaison de deux expressions de même type
L’expression est une combinaison des lettres, de chiffres et d’opérateurs
Exemple d’expression
1. A > B
2. Opérateur = "+ "
3. D>0
- Les conditions complexes
Les conditions formées de plusieurs conditions simples reliées entre elles par les opérateurs
logiques. «ET » et/ou « OU »
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
29

1. a<0 et b<0

2. a<0 ou b<0

L’usage des parenthèses permet de régler d’éventuels problèmes de priorité (a<0 et b>1)
ou (a>0 et b>3) est vrai si au moins l’une de condition est vrai.
Les Boucles Imbriqués (Une Boucle contient d’autres boucles)
Il n’y a qu’un bloc d’instructions à répéter lors d’une boucle. Mais le bloc peut être lui-même
composé d’une ou plusieurs boucles. On parle alors des boucles imbriques Syntaxe pour deux
boucles POUR imbriqués

Pour i allant de <val_initiale1> à <Val_final1>

<Instructions1>

Pour j allant de <val_initiale2> à <Val_final2>

<Instructions2> j suivant i suivant

Exemples : Algorithme la table de Multiplication de 1 à 3


Variables I, J en entier
Début
Pour I allant de 1 à 3
Pour J allant de 1 à 10
Ecrire I*J
J suivant
I suivant
Fin
NB :
• Pour toute itération de i (variable compteur de la boucle externe) est associé toutes
les itérations de j (variable compteur la boucle interne).
• La boucle «Pour »peut contenir la boucle « tant que » ; La boucle «tant que
»peut contenir la boucle « Pour », La boucle «Répéter»peut contenir la boucle «
tant que » ; Etc. Tout cela dépend du problème à résoudre.
Exemple 1 : On souhaite obtenir les tables de multiplication des nombres de 1 à 9.
Chaque table doit être présentée comme cette table des 5 :
1 x 5=5
2 x 5=10
3 x 5=15

…….
10 X 5=50
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
30

Résolution
Variables i, j en Entier Pour i allant de 1 à 9
Pour j allant de 1 à 10
Ecrire i, «X », j,"= «, i*j j suivant i suivant
Fin

NB : C’est le problème posé qui doit guider le programmeur à l’utilisation des boucles
imbriquées.
2.10 Les sous-programmes (Les Fonctions et Procédures)
Les fonctions et procédures permettent de découper un programme complexe en une série
de sous-programmes plus simples, lesquels peuvent être décomposés en fragments plus petits,
ainsi de suite.
Il est souvent nécessaire, pour éviter d'écrire plusieurs fois le même code, de préparer des
blocs de code prêts à l'emploi. Pour que les fonctions et procédures soient facilement réutilisables
on utilise des paramètres. Les valeurs de ces paramètres sont spécifiées au moment de l’appel.

NB :
Pour que le code soit facilement réutilisable, les valeurs qui sont manipulées par les
procédures et fonctions peuvent être passées en paramètres au moment de l’appel de la
procédure ou de la fonction.

Lors de la déclaration de la procédure ou de la fonction, vous devez spécifier la liste des


paramètres qui seront attendues. Cette liste est située entre les parenthèses de la
déclaration de la procédure ou de la fonction. Vous devez indiquer pour chaque
paramètre son nom et son Type.
Si plusieurs paramètres sont attendus, il convient de les séparer par des virgules.
2.10.1 Les Procédures
Une procédure est une suite ordonnée d’instructions qui ne retourne pas de valeur (bloc
d’instructions nommé et paramétré).
Une procédure est un bloc d’instructions nommé et paramétré, réalisant une certaine tâche.
Chaque procédure a un nom, On se sert de ce nom pour exécuter les instructions contenues dans
la procédure. Les parenthèses après le nom sont utilisées pour spécifier les caractéristiques des
paramètres qui seront passées lors de l’appel. Les parenthèses sont obligatoires dans la déclaration
de variable même si aucun paramètre n’est requis pour la procédure.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


31

a) Syntaxe d’une Procédure


Syntaxe1 : Procedure sans parametres
Procédure Nom_procedure()
<Déclarations des variables>
<Corps de la procédure >
Fin procédure
Exemple : Créer l’algorithme d’un programme affichant « Bonjour » en utilisant une procédure.
Procédure AfficherBonjour ()
Ecrire "Bonjour"
Fin Procédure
Syntaxe2 : Procédure avec paramètres
Procédure Nom_procedure(<Parametres>)
<Déclarations des variables>
<Corps de la procédure >
Fin procédure

Ex1 : Créer l’algorithme d’un programme affichant un message passé en paramètre en utilisant
une procédure.
Procédure AfficherBonjour ( msg en caractère)
Ecrire msg
Fin Procédure
Ex2 : Algorithme d’affichage des valeurs passées en paramètres en utilisant une Procédure
Procédure Afficher_les_valeurs (nbr1 en entier, nbr2 en entier)
Ecrire "Parametre1=", nbr1, "et Parametre2=",nbr2
Fin Procédure
b) L’appel de la procédure
On appelle une procédure que par son nom
Par exemple : l’appel de la procédure de l’exemple1
Début
AfficherBonjour (“Jean”)
Fin
Résultat : Jean

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


32

c) Passages de paramètres
Les variables du programme appelant ne sont pas lisibles depuis un sous-programme. Mais
si une procédure, pour s'exécuter, a besoin de la valeur d'une variable définie dans le programme
appelant, on utilise pour la lui communiquer un mécanisme dit "passage de paramètres"
Procédure affiche_Variable(monentier1 en Numerique , monentier1 en numerique)
Ecrire "Les valeurs des entiers passés en paramètre sont :", monEntier1, monEntier2
Fin procédure
Ex : écrire l’algorithme d’une Procédure qui va calculer le produit deux nombres et l’affiché en
messages, lors de son appel. Les deux nombres seront passés en paramètres de la Procédure.
Procédure AfficherProduit (Nbr1 en numérique, Nbr2 en numérique)

Ecrire "Le Produit est ; " Nbr1*Nbr2


Fin Procédure
A l’appel de la Procédure
Début
AfficherProduit (2,3)
Fin
A l’exécution on aura ceci :
Le Produit est ; 6

2.10.2 Les fonctions


Une fonction est une suite ordonnée d’instructions qui retourne une valeur (bloc
d’instructions nommé et paramétré). Une fonction est un sous-programme quelque peu particulier,
dans le sens mathématique du terme, il sert à calculer une valeur.
Une fonction se déclare suivant le même principe qu’une procédure. Cependant, la fonction
devant renvoyer une valeur appelée un résultat. Vous devez indiquer le type de retour que doit
renvoyer la fonction.
a) Syntaxe des Fonctions
• Syntaxe1 : Fonction Avec Paramètres
Fonction <Nom_fonction> (<Arguments ou Paramètres>) en <Type de retour> Renvoyer
<Valeur de retour>
Fin fonction
• Syntaxe2 : Fonction sans paramètres

Fonction <Nom_fonction> ( ) en <Type de retour>


Renvoyer <Valeur de retour>
Fin fonction

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


33

b) Exemples :
Ex1 : Fonction avec Paramètres
Fonction successeur (Variable x en Numérique) en Numérique
Renvoyer (x + 1)
Fin fonction
Cette fonction "fabrique" le x + 1. On dit que cette fonction renvoie (ou retourne) x + 1.
Une fois la fonction appelée, on remplace successeur(x) par le résultat retourné par la
fonction.
Ex2 : Fonction Sans Paramètres
Fonction Somme () en Numérique
Variables Nbr1, Nbr2 en numérique
Ecrire "Entrer le Premier nombre"
Lire Nbr1
Ecrire "Entrer le second nombre"
Lire Nbr2
Renvoyer (Nbr2 +Nbr1)
Fin fonction
c) Appel de la fonction
Comme Pour la procédure, l’appel de la fonction s’effectue par son nom
Exemple : Appelons La fonction successeur dans la Principale
Variable nombre en numérique
Début
Ecrire ” Entrer le nombre dont vous cherchez le successeur :”
LIRE nombre
Ecrire " Le successeur de :", nombre, " est" , successeur(nombre)
Fin

NB : Certains traitements ne peuvent être effectué par un algorithme, aussi savant soit-il. D’autres
ne peuvent l’être qu’au prix de souffrance. Dans ce cas il faut utiliser les fonctions prédéfinies
Fournies par le langage de programmation.
En C(sin,cos,sqrt,acos,asin,tan,pow,…..) en Vba(len,right,left,mid, mod,etc) Ex ;
• Sqrt(2) la racine carré de 2 en C sachant que Sqrt se trouve dans math.h
• Mid(chaine ,1,2) : dans la variable chaîne à partir de la 1ierePosition prendre 2 caractères.
Mid est une fonction prédéfini dans VBA.
• SUBSTRING(sexe,1,1)
• Etc
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
34

NB :

• Une fonction peut Prendre en paramètre un Type donné et retourné un autre type
différent de celui entré en paramètre.
• Il existe des fonctions prédéfinies par langages de programmation qui font des taches
bien spécifiques
2.11 La Structures des données
2.11.1 Les tableaux
Un ensemble des valeurs portant le même nom de variable, ayant le même type et repérer
par un nombre (indice) est appelé Tableau. Un tableau est un ensemble fini d’éléments de même
type, stockés en mémoire à des adresses contiguës.
Attention :
Les Indices des tableaux commencent généralement par 0 et non par 1 dans la plupart de
langage de programmation.
Supposons que nous avons besoin dans un programme pour conserver les notes de 20 élèves
; Nous pouvions Toujours utiliser une variable qui prend successivement la valeur de notes.
Si donc, Il est nécessaire de disposer simultanément de ces valeurs, nous pouvons toujours
utiliser 20 variables différentes nommées par exemple :
NoteA NoteB NoteC NoteD NoteC Etc.

Cela présente des inconvénients :


 Il faut trouver un nom de variable par note. Passe encore 20 valeurs. Mais cela risque
de devenir fastidieux avec 100 ,1000 valeurs ou plus
 Il n’existe aucun lien entre ces différentes valeurs. Or, dans certains cas on est amené
à appliquer un traitement à l’ensemble ou à une partie de ces valeurs. Imaginez
seulement comment calculer la somme de Notes.
Tous les langages présentent en fait une solution à ce problème, elle réside dans la notion de «
Tableau » qui consiste.
2.11.1.1 Les tableaux à une dimension (Les Vecteurs)
Le tableau à une dimension (on dit aussi « à un indice »). Il s’agit alors d’une liste ordonnée
de valeurs de même type, désignée par un nom unique, chaque valeur de la liste étant repérée
par un numéro d’ordre qu’on nomme indice ; le tableau à une dimension s’apparente, en fait, à la
notion mathématique de vecteur ;
Dans tous les langages, le traducteur (Compilateur ou interpréteur) doit nécessairement
connaître le nombre d’éléments d’un tableau (on dit encore sa taille).

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


35

Cette information lui permet de réserver l’espace mémoire correspondant. D’autres part, il
faut préciser quel est le type du tableau, Autrement dit le type de tous ses éléments.
a) La déclaration d’un tableau à une dimension

Syntaxe

Tableau <Nom_tableau> (taille) en <Type_de_valeur_du_vecteur>

Ex1 : tableau note (10) en numérique

Ex2 : tableau res (10), x (20) en numérique

Ex3 : tableau ch(10) en caractère

Note (10) on déclare un vecteur de 10 éléments numérique

Note (1) Note (2) …….. Note (10)

Note (1) Note (2) …….. Note (10) désignent les éléments du tableau s’appellent
souvent des variables indicés.

Note(i*2),Note(i*j) sont aussi des variables indicés.

1, 2,3…,10 se nomment les indices.

b) l’affectation des valeurs dans un tableau

Algorithme Affectation Sans boucle dans un tableau

Tableau Tab (5) en numérique

Début
Tab(1) 1
Tab(2) 2

Tab(3) 3

Tab(4) 4
Tab(5) 5
Fin

Son exécution place les éléments dans les 5 éléments du tableau tab les valeurs
1 2 3 4 5

Cette affectation peut se simplifier en utilisant une boucle ;

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


36

Algorithme affectation en utilisant Boucle


Variable compteur en entier
Tableau tab(5) en numérique
Début
Pour i allant de 1 à 5
Tab(i) i
I suivant fin
c) Lecture des éléments du tableau
Algorithme Lecture des éléments d’un tableau par une boucle
Variable compteur en entier
Tableau tab(5) en numérique
Début
Pour compteur allant de 1 à 5 Lire Tab(compteur)
compteur suivant
Fin

d) Affichages des éléments du tableau


Ex : Affectation des variables dans notre tableau (Vecteur) tab et les affichées
Algorithme d’affichage_des_éléments_tableau
Variable compteur en entier
Tableau tab (5) en numérique
Début
Pour compteur allant de 1 à 5 Lire Tab(compteur)
compteur suivant
Pour compteur allant de 1 à 5
Ecrire Tab(compteur)
compteur suivant Fin
Exercices
Que Fournira l’exécution de ces deux programmes
1.

Variable i entier
Tableau tab (5) en numérique
Début
Tab(1) 1
Tab(2) 2
Pour i allant de 3 à 8
Tab(i) Tab(i-1)+Tab(i-2)
i suivant
Pour i allant de 1 à 8
Ecrire Tab(i) i suivant
Fin

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


37

2.
Variable i entier
Tableau nombre (5) en numérique
Début
Nombre (1) 1
Pour i allant de 2 à 6
Nombre (i) Tab (i-1) +2
i suivant
Pour i allant de 1 à 6
Ecrire Nombre (i) i suivant
Fin
2.11.1.2. Les tableaux à deux dimensions

Le tableau à deux dimensions (à « deux indices ») : il est plus proche que le précédent de
l’idée usuelle que l’on se fait du mot « tableau », à savoir un ensemble de lignes et de colonnes ;
cette fois, chaque valeur du tableau est repérée par deux indices.

Note Math Français Ecm

Etudiant

Jean 12 13 12 Note(0,2)

René 13 23 5

Patient 9 3 12 Note(0,0)

René 13 14 12

Dans la plus part des langages, il est possible de placer ces différentes valeurs dans un
tableau à deux dimensions.
Note (1,1), Note (0,1) sont des variables indicées. Dans certains langages de programmation
les parenthèses sont remplacées par des crochets (Comme le C, C#, etc).
Chaque note est alors repérée par deux indices qui représente sa position. La 1iere indice
sert à repérer la ligne et le second indice repère la colonne.
a) Déclaration d’un tableau à deux dimensions

Un Tableau doit être déclaré en précisant le nombre et le type de valeurs qu’il contiendra
(La déclaration des tableaux varie d’un langage à un autre).
Syntaxe

Tableau Nom_Tab(indice_ligne,indice_colonne) en Type_Tableau

Ex : Tableau Note (20,10) en numérique

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


38

b) Affectation des valeurs dans un tableau


Ex1
Tableau Note (2,2) en numérique
Début
Note(0,0) 1
Note(0,1) 18

Note(0,2) 8

Note(1,0) 19

Note(1,1) 10

Note(1,2) 10

Note(2,0) 19

Note(2,1) 10
Note(2,2) 10
Fin
Ex2 : Affectation avec Boucle
Soit le programme suivant’
Tableau Note(2,3) en numérique
Début
Note(1,1) 10
Note(1,2) 10
Note(1,3) 10
Note(2 ,1) 10
Note(2,2) 10
Note(2,3) 10
Fin
Ce programme peut se transformer de cette façon en utilisant la Boucle "pour"
Tableau Note(2,3) en numérique

Variable i ,j en entier
Début
Pour i allant 1 à 2
Pour j allant 1 à 3 Note(i,j) 10 j suivant i suivant
Fin

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


39

c) Lecture Avec Tableau

Ex1 Lecture simple

Algorithme

Tableau Note(10,10) en numérique


Début
Lire Note(1,1)
Lire Note(1,2)
Lire Note(1,3)
Lire Note(2 ,1)
Lire Note(2,2)
Lire Note(2,3)
Fin
Ex2 : Lecture avec Boucle
Tableau Note (2,3) en numérique
Variable i ,j en entier
Début
Pour i allant 1 à 2 Pour i allant 1 à 3 lire Note(i,j)
j suivant i suivant
Fin

d) Affichage avec Boucle


Algorithme Affectation Avec Boucle tableau à Deux dimensions
Tableau Note (2,3) en numérique
Variable i, j en entier
Début
Pour i allant 1 à 2
Pour j allant 1 à 3
Ecrire Note (i, j)
j suivant
i suivant

Fin

NB :

Dans la plupart des langages de programmation l’indice du tableau commence toujours


par la valeur 0 (C, C++, C#, java, etc).

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


40

2.11.2 Les Pointeurs


a) Définition
Un pointeur est une variable qui contient l'adresse d'une autre variable.
Jusqu’à présent une variable simple ou indicée était de type entier, réel, Booléen, caractère
ou chaîne de caractères. Il faut maintenant utiliser les variables qui prennent pour valeur des
adresses. On dira qu’il s’agit des variables de type pointeur ou simplement Pointeur.
b) Notion
La mémoire centrale utilisée par les programmes, est découpée en octets. Chacun de ces
octets est identifié par un numéro séquentiel appelé adresse. Par convention, Une adresse est notée
en hexadécimal et précédée par 0x.
0x3fffd10

0x3fffd11

0x3fffd12

0x3fffd13

0x3fffd14

0x3fffd15

Déclarer une variable, c'est attribuer un nom (l'identificateur) à une zone de la Mémoire
centrale. Cette zone est définie par :
- Sa position c'est-à-dire l’adresse de son premier octet
- Sa taille c'est-à-dire le nombre d’octets
Int toto=18;

0x3fffd12

0x3fffd13

0x3fffd14
18

&toto vaut 0x3fffd14 (adresse du premier octet de toto)


Pour accéder à la valeur contenue dans une variable, on utilise tout simplement son Nom.
Mais il peut arriver qu'on veuille accéder à l'adresse d'une variable. Dans ce cas, on Utilise
l'opérateur d'adresse & (notation C) suivi du nom de la variable.
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
41

L'adresse contenue dans un pointeur est celle d'une variable qu'on appelle variable pointée.
On dit que le pointeur pointe sur la variable dont il contient l'adresse.
Un pointeur est associé à un type de variable sur lequel il peut pointer. Par exemple,
un pointeur sur entier ne peut pointer que sur des variables entières.
NB. :
- Un pointeur est lui-même une variable et à ce titre il possède une adresse.
- Il convient de ne pas confondre l'adresse de la variable pointeur et l'adresse Contenue dans
le pointeur (adresse de la variable pointée).
Toute variable manipulée dans un programme est stockée quelque part en mémoire
Centrale. Cette mémoire est constituée d’octets qui sont identifiés de Manière univoque par un
numéro qu’on appelle adresse.

P
P^
A

P : est une variable de type pointeur qui contient l’adresse de l’information A.


NB : Déréférencer un pointeur consiste à extraire la valeur de la variable sur laquelle
il Pointe.
a) Déclaration d’un pointeur
Variable <Nom_pointeur> en pointeur sur <Type_Pointé>

Ex : Variable P en Pointeur Sur Entier


b) Notations

• P^ : désigne l’objet dont l’adresse est rangée dans le Pointeur P.


Permet d’accéder à l’information de la variable Pointée.
P^.info

P^.Suivant
Permet d’accéder à l’élément suivant dans une Liste.

• Il est souvent nécessaire de distinguer si un pointeur désigne une variable ou n’en indique
aucun. Nous nous conviendrons de particulariser une valeur de type pointeur, nous appellerons
nil (Valeur d’adresse Nil).
• Si P1 et P2 sont des pointeurs
Si P1 pointe sur une Variable v de type T et on veut que p2 pointe sur la même variable v
de type T. on peut utiliser cette Notation.
P2 P1

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


42

Si P est un pointeur, et nous écrivons on indique que P ne désigne aucune variable.

P nil
Si P ne contient pas de valeur nil on écrit
P ≠ nil
• désallouer P : Cette instruction n’efface pas le pointeur mais la variable pointée.

NB :
Si le Pointeur est de type T, il ne pointera que sur les variables de type T.
2.12 Les enregistrements
a) Définition et Notion
Un enregistrement est une collection d’informations, structurée en unités d’accès appelés
Articles (Ou enregistrements).
Un enregistrement est un type de données défini par l'utilisateur et qui permet de grouper un
nombre fini d'éléments (ou champs) de types éventuellement différents.
Les objets que nous avons déjà décrits jusqu’ici n’ont qu’une durée brève : Leur existence
se limite à la période d’exécution du programme. Pourtant il y a de très nombreuse application
pour lesquelles les informations traitées doivent être conservés bien au-delà de la durée
d’exécution du programme de traitement.
La notion de fichier est conçue pour répondre aux impératifs :
• Stockage permanent de l’information ;
• Rassemblement d’un volume d’informations pouvant être fractionnées pour le traitement.
Un fichier est toujours enregistré sur un support externe à la mémoire centrale et tout
programme de traitement échangera des informations avec le fichier, l’unité d’accès étant l’article
: on lira le fichier article par article. On l’écrira article par article.
1. Déclaration
Dans un programme, un fichier est désigné par une variable, qu'on déclare dans la section
des variable (C'est une variable particulière qui ne représente pas un espace de la mémoire mais
qui représente un espace dans un périphérique de stockage).
Pour déclarer un fichier séquentiel structuré, il faut indiquer le type des articles
(enregistrements) qui composent ce fichier. Le plus souvent les articles sont de type
enregistrement, déclaré au préalable.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


43

Déclaration d’une structure ENREGISTREMENT


En algorithmique
Enregistrement Nom_Enregistrement
champ 1 : Type 1
----
champ n : Type n
Fin Enregistrement
Exemple
Algorithme TestEnregistrement
Enregistrement part
var modelnumber en entier
var partnumber en entier
var cost en numerique;
finEnregistrement
Debut
part part1
part1.modelnumber 6244
part1.partnumber 373
part1.cost 217.55;
Ecrire “ Model ”part1.modelnumber
Ecrire “piece no ”part1.partnumber
Ecrire “ prix $ ”part1.cost;
}
Etapes de l’utilisation d’un enregistrement
a. Spécification de l’enregistrement
Le spécificateur de l’enregistrement montre comment la structure est organisée : il spécifie
les membres de l’enregistrement.
Enregistrement part
var modelnumber en entier
var partnumber en entier
var cost en num
finEnregistrement
Cette construction est connue sous le nom de déclaration d’un enregistrement.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


44

b. Définir la variable de l’enregistrement


La première instruction du corps de l’algorithme est part part1 ; cette instruction définie une
variable part1, de type part.
Cette définition crée l’espace mémoire pour la variable part1.
L'espace réservé dans la mémoire est assez grand pour contenir une variable de type part il
doit par conséquent être à mesure de contenir deux intègres, modelnumber et partnumber, et un
float, cost.
c. Accès aux membres de l’enregistrement
Une fois que la variable de la structure est définie, ses membres peuvent maintenant être
accédés en utilisant un opérateur appelé dot operator, comme le montre l’instruction suivante :
part1.modelnumber 6244 ;
Cette instruction peut être décrite comme ayant trois parties : la première c’est la variable
part1, la deuxième est un point, est un opérateur, et la troisième le nom d’un membre de
l’enregistrement.
2.13 Les types de données énumérés (enumerated data types)
Les structures peuvent être considérées comme un moyen de créer son propre type de
données.
Une autre façon consiste à utiliser les enumerated data type. Démontrons ceci au moyen d’un
Algorithme. Tout d’abord sachons que nous n’utilisons ce genre de construction si nous
connaissons en avance le nombre précis des valeurs que le type de données pourra prendre. Voici
un Algorithme qui utilise un type de données qui a pour valeurs les jours de la semaine.
//démontre les types enumerees
Algorithme EnumererType
enumerer jour_de_la_semaine{Dim,Lun,Mar,Mer,Jeu,Ven,Sam}
var diff en nmerique
Debut
jour_de_la_semaine jour1, jour_de_la_semaine jour2
jour1 Lun
jour2 Mar
diff jour2-jour1
Ecrire ‘‘Les jours se trouvant au milieu sont’’diff
Si(jour1<jour2) alors
Ecrire ‘‘Le jour1 précède le jour2’’
}

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


45

Enumerated signifie que toutes les valeurs sont énumérées (c’est-à-dire comptées une à une).

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


46

CHAP III. INTRODUCTION A LA PROGRAMMATION


ORIENTEE OBJET
Notion
La programmation classique telle qu’étudiée au travers des langages C, C++, Java… définie
un programme Comme étant un ensemble de données sur lesquelles agissent des procédures et des
fonctions. Les données constituent la partie passive du programme. Les procédures et les fonctions
constituent la partie active.
Programmer dans ce cas revenait à :
- Définir un certain nombre de variables (structures, tableaux…)
- Écrire des procédures pour les manipuler sans associer explicitement les unes aux autres.
Exécuter un programme se réduit alors à appeler ces procédures dans un ordre décrit par le
séquençage des instructions et en leur fournissant les données nécessaires à l’accomplissement
de leurs tâches.

Dans cette approche données et procédures sont traitées indépendamment les unes
des autres sans tenir Compte des relations étroites qui les unissent. Les fonctions,
procédures et autres suites d’instructions accèdent à une zone où sont stockées les données.
Il y a donc une dissociation entre les données et les fonctions ce qui pose des difficultés
lorsque l’on désire changer les structures de données. Dans les langages procéduraux, les
procédures s’appellent entre elles et peuvent donc agir sur les mêmes données provoquant
ainsi des effets de bord.
De ces problèmes sont issus une autre manière de programmer : la programmation
par objet.
En approche objet, l’évolution des besoins aura le plus souvent tendance à se
présenter comme un changement de l’interaction des objets. S’il faut apporter une
modification aux données, seul l’objet Incriminé (encapsulant cette donnée) sera modifié.
Toutes les fonctions à modifier sont bien identifiées : elles se trouvent dans ce même objet
: ce sont ses méthodes.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


47

Dans une approche structurée, l’évolution des besoins entraîne souvent une
dégénérescence, ou une profonde remise en question, car la décomposition des unités de
traitements (du programme principal aux sous fonctions) est directement dictée par ces
besoins.
D’autre part, une modification des données entraîne généralement une modification
d’un nombre important de fonctions éparpillées et difficiles à identifier dans la hiérarchie
de cette décomposition.

3. 1. Les Classes
a) Notion
Une classe définit la structure des données particulières ainsi que les données
permettant de la manipuler.
Une classe peut être considérée comme un moule à partir duquel on peut créer des
objets. Une classe décrit la structure interne d'un objet : les données qu'il regroupe, les
actions qu'il est capable d'assurer sur ses données. A partir d’une classe, sont Engendrés
les objets réels qui s’appellent des instances de la classe considérée.
Une classe est un ensemble d’objets qui ont en commun :
- Les mêmes méthodes
- Les mêmes types d’attributs
Contenue de la Classe
b.1 Une classe contient :
• Des attributs (ou champs, ou variables d’instances).
L'attribut est definit comme etant la variable interne à la classe.
Les attributs de la classe décrivent la structure de ses instances (les objets).
• Des méthodes (ou opérations de la classe).
Une méthode est définie comme une fonction ou une procédure associée à une
classe.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


48

Les méthodes décrivent les opérations qui sont applicables aux instances de la classe.
Les attributs et les méthodes d'une classe sont des membres de la classe.
NB:
Un attribut ou une méthode sont dits privés si leur utilisation est interdite en dehors
de la classe. Le signe caractérisant le caractère privé d'un attribut est le signe
moins"-" dans le Diagramme de classe.
Un attribut ou une méthode sont dits publics si leur utilisation est autorisée en
dehors de la classe. Le signe caractérisant le caractère privé d'un attribut est le
signe plus"+" dans le Diagramme de classe.
En POO, programmer revient donc à décrire des classes d’objets, à caractériser leur
structure et leur comportement, puis à instancier ces classes pour créer des objets réels.
Un objet réel est matérialisé dans l’ordinateur par une zone de mémoire que les données
et son code occupent.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


49

c) Structure de création d'une classe

NB: Il sera possible d'écrire les instructions à l'extérieur de la déclaration de la classe, en précisant
évidement le nom de la classe.
d) Visibilité de la Classe
• Public : La classe pourra être utilisée dans tout votre projet.
• private : La classe ne peut être utilisée que dans le module dans lequel elle est
définie
• protected : La classe ne peut être utilisé dans la sous-classe de celle de laquelle
elle est définie.
NB : Les termes Classe et Objet sont souvent confondus mais il s’agit, en fait d’éléments
distincts. Une classe représente la structure d’un élément alors que l’objet est un
exemplaire créé sur le modèle de cette structure.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


50

3.2 Les objets


Un objet représente une entité du monde réel, ou de monde virtuel dans le cas
d’objets immatériels, qui se caractérisent par une identité, des états significatifs et par un
comportement.
Un objet est caractérisé par plusieurs notions :
L’identité – L’objet possède une identité, qui permet de le distinguer des autres
objets. On construit généralement cette identité grâce à un identifiant découlant
naturellement du problème (par exemple un produit pourra être repéré par un code, une
voiture par un numéro de série, etc.)
Les attributs – Il s’agit des données caractérisant l’objet. Ce sont des variables
stockant des informations, sur l’état de l’objet. Une propriété est soit un attribut (une
donnée caractérisant l’état de l’objet, entité élémentaire comportementale de l’objet).
Les méthodes – Les méthodes d’un objet caractérisent son comportement, c’est-à-
dire l’ensemble des actions (appelées opérations) que l’objet est à même de réaliser.
Ces opérations permettent de faire réagir l’objet aux sollicitations extérieures (ou
d’agir sur les autres objets). De plus, les opérations sont étroitement liées aux attributs, car
leurs actions peuvent dépendre des valeurs des attributs, ou bien les modifier.
Il est possible que plusieurs variables référencent une même Instance

Algorithme Deux-Variables-Pour-Une-date
Variables : d1,d2: Date
début
d1 new date(23,4,2003) d2
d1
Fin

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


51

3.3 Les constructeurs


Le constructeur est appelé pour construire une instance de la classe. L'objectif d'un
constructeur est d'initialiser tous les attributs. Une Classe peut posséder plusieurs
constructeurs (Portant le même nom) mais ayant des paramètres différents. Un
constructeur ne retourne jamais de valeur, même Vide.
Les constructeurs sont des méthodes particulières d’une classe par différents aspects.
Le constructeur est une méthode portant toujours le même nom que la classe elle-même.
Il n’est jamais appelé explicitement dans le code mais de manière implicite à la
création de l’instance de la classe.
Le Rôle du constructeur est principalement d’initialiser des champs d’une instance
des classes.
NB :
Comme toute méthode classique, un constructeur peut attendre des paramètres.
Le constructeur qui n’attend pas de paramètre est désigné comme le
constructeur par défaut.
Le Deuxième constructeur Possède 3 entiers en paramètres respectivement le
jour, le mois et l'année
L'Opérateur New crée un objet
Si la classe est déjà créée et l'identificateur de l'instance est connu pour l'algorithme.
Il est alors nécessaire de créer effectivement cet objet, de lui allouer de la place mémoire.

Variable new nomDelaClasse()

Variable new nomDelaClasse(Paramètres)

3.4 l’héritage
La notion d’héritage est une relation entre différentes classes permettant de définir
une nouvelle classe en se basant sur les classes existantes. On parle d’héritage simple
lorsqu’une classe fille ne possède qu’une classe mère. On parle d’héritage multiple
lorsqu’une classe fille possède plusieurs classes filles.
L’héritage est un mécanisme de transmission des propriétés d’une classe (ses
attributs et méthodes) vers une sous-classe.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


52

NB:
L'Héritage, ou la Notion de Généralisation, précise pour deux classes que l'une est
spécialisé de l’autre : elle possède l'ensemble des attributs et des méthodes de la
première plus les siens propres.
Classe mère ou super Classe ou Classe parent ou classe de Base
Une Classe mère appelé aussi super classe est la classe qui léguera l'ensemble de
ses propretés par héritage
Classe Fille Ou sous classe ou Classe dérivée
Les méthodes et les attributs privés des classes de base sont aussi hérités par les
classes dérivées mais inaccessibles.
Une classe fille appelé aussi sous-classe est une nouvelle classe ayant acquis par définition
de l'héritage tous les attributs et toutes les méthodes de la classe mère. Les classes filles
"Spécialisent" la classe mère.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


53

L'Opérateur super
L'opérateur super permet d'accéder depuis la classe fille aux attributs et aux
méthodes(non Privés) de la classe mère.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


54

Le Protégé
Une nouvelle visibilité apparait avec l'héritage. L’Attribut et la méthode protégés
sont publics pour les classes filles (qui pourra donc les utiliser directement), et privés pour
les autres classes et algorithmes.
Les méthodes et les attributs protégés seront précédés par le symbole #
Une Classe abstraite
Une classe abstraite ne peut pas être instancié. Elle est conçue dans le but de
construire un ou des héritages.
Structure de Création de la classe Abstraite :
classe abstraite Nom_Classe

Début

..... // attributs et méthodes

Fin
Exemples : Soit la Classe Etudiant ayant comme champ (coteMath) héritant de la classe
personne ayant comme champs(nom,prenom,age)
NB :
• Il est recommandé au programmeur d'une classe de cacher le nom et la nature des
attributs de celle-ci. Néanmoins, il est fréquent de devoir fournir aux utilisateurs
des méthodes simples pour accéder à ces attributs (Enlecture ou en modification) .
Les accesseurs sont les méthodes les plus simples permettant d'accéder aux attributs
de l'extérieur de la classe. Les accesseurs, S'ils sont disponibles pour une classe
constituent un moyen de récupérer la valeur d'un attribut ou de la changer.
• Un Accesseur En lecture est une méthode permettant de connaitre la valeur d'un
attribut
• Un Accesseur En Ecriture est une méthode permettant de modifier la valeur d'un
attribut en lui passant la nouvelle valeur en paramètre.
En programmation Orientée Objet, Les méthodes getNom,getPrenom et getAge sont
dites des « Accesseurs en lecture» et les méthodes setNom, setPrenom et setAge sont
dites des « Accesseurs en Ecriture».

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


55

3.5 Le Polymorphisme
Le polymorphisme Permet, Grace à l’héritage d’utiliser une instance de classe sous
deux aspects : celui de sa classe associée et celui de sa classe mère.
Exemple :
Un étudiant est une personne, avec des spécificités mais avant tout c’est une
personne. Une instance de la classe Etudiant peut être utilisée comme simple personne
(c’est le polymorphisme).

Algorithme Utilisation_polymorphisme

Variables: P1,P2 : Personne

Variables: E1,E2 : Etudiant

Début

P1 new personne()

E1 new Etudiant ()

P1 E1
Fin
Autres Notion associée au de polymorphisme (Surcharge et redéfinition des
méthodes)
• Surcharge des Méthodes
La surcharge est la capacité des objets d’une même hiérarchie de classes à répondre
différemment à une méthode de même nom, mais avec des paramètres différents.
En fonction du type et de nombre de paramètres lors de l’appel, la méthode correspondante
sera choisie.
Le mécanisme de surcharge permet de réutiliser le nom d’une méthode déjà définie, pour une
autre méthode qui en différera par ses paramètres.
La méthode surchargée doit conserver la même “intention sémantique”
La surcharge peut se faire sur une méthode définie localement ou héritée.
La classe addition est une méthode surchargée, après l’appel de la méthode Addition,
l’exécution se fera selon qu’on lui a assignée ou non des paramètres
• La Redéfinition des Méthodes
Le polymorphisme est un mécanisme qui permet à une sous classe de redéfinir une méthode
dont elle a hérité tout en gardant la même signature () de la méthode.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


56

La substitution permet de redéfinir des méthodes ou des propriétés héritées d'une classe de
base. Les méthodes substituées peuvent accepter le nombre de paramètre et le type de paramètre
que la méthode ou propriété de la classe.
Exemple

Exemple:
classe Personne
Debut
Ecrire Nom
Ecrire Age
Ecrire Prenom Fin
classe Etudiant Speciale classe Personne
Debut super.Afficher() Fin ou alors
classe Etudiant Speciale classe Personne
Debut
Afficher() Debut super.Afficher() Fin

Fin
3.6 L’encapsulation
L'encapsulation est la capacité permettant de créer et de contrôler l'accès à un groupe
d'éléments. Les classes fournissent les moyens les plus fiable d'assurer l'encapsulation.
L'encapsulation permet de regrouper des informations et les codes les manipulant dans une classe.
L’encapsulation consiste à masquer les détails d’implémentation d’un objet, en définissant
une interface. L’interface est la vue externe d’un objet, elle définit les services accessibles (offerts)
aux utilisateurs de l’objet. L’encapsulation facilite l’évolution d’une application car elle stabilise
l’utilisation des objets : on peut modifier l’implémentation des attributs d’un objet sans modifier
son interface, et donc la façon dont l’objet est utilisé. L’encapsulation garantit l’intégrité des
données, car elle permet d’interdire, ou de restreindre, l’accès direct aux attributs des objets.
Les avantages de l’encapsulation sont :
- Simplification de l’utilisation des objets,
- Meilleure robustesse du programme,
- Simplification de la maintenance globale de l’application.
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
57

NB : Une règle fondamentale de l'encapsulation stipule que les données d'une classe ne doivent
être manipulées que par des méthodes ou les procédures de propriétés. Cette technique est souvent
appelée dissimulation des données. Elle assure la sécurité de fonctionnement de votre code en
masquant les détails internes de la classe et évitant ainsi qu'ils ne soient utilisés de manière
inappropriée.
3.7 Autres Concepts en Programmation Orienté objets
Signature
La signature d’une méthode représente la précision de son nom, du type de ses arguments et
du type de donnée retournée.
• Message
Un message est une demande d’activation d’une méthode envoyé à un objet.
• Méthodes
Une méthode est une fonction ou procédure liée à un objet qui est déclenchée à la réception
d’un message particulier : la méthode déclenchée correspond strictement au message reçu. La liste
des méthodes définies au sein d’un objet constitue l’interface de l’objet pour l’utilisateur : ce sont
les messages que l’objet peut comprendre si on les lui envoie et dont la réception déclenche les
méthodes correspondantes.
Le destructeur
Les destructeurs sont d’autres méthodes particulières d’une classe. Comme les constructeurs,
ils sont appelés implicitement mais uniquement lors de la destruction d’une instance de classe. La
signature du destructeur est imposée.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


58

EXERCICES
1. En procédant comme ci-dessus, dites quelles seront les valeurs des variables a, b et c, après
l’exécution de chacune des instructions :
a 5
b 3
c a+b
d a
e 2c b-a

2. Qu’obtiendra-t-on dans les variables a et b, après exécution des instructions suivantes (dans
cet ordre) ? a ← 5 b ← a + 4 a ← a + 1 b ← a - 4
3.
a) Qu’obtiendra-t-on dans les variables n1 et n2 après exécution des instructions ?
n1← 5 n2 ← 7 n1 ← n2 n2 ← n1
b) Même question avec les instructions : n1 ← 5 n2 ← 7 n2 ← n1 n1 ← n2
4. Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Algorithme Affectation1
Variables A, B en Entier
Début
A ←1
B ←A+3
A ← 3 Fin
5. Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes
?
Algorithme Affectation1
Variables A, B, C en Entier
Début
A ←5
B ←3
C ←A+B
A←2
C ← B – A Fin
6. Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Algorithme Affectation3
Variables A, B en Entier
Début
A ←5
B ←A+4
A ←A+1

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


59

B ←A–4
Fin
7. Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes
?
Algorithme Affectation4
Variables A, B, C en Entier
Début
A ←3
B ← 10
C ←A+B
B←A+B
A ← C Fin
8. Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Algorithme Affectation4
Variables A, B en Entier
Début
A ←5
B ←2
A ←B
B ←A
Fin

9. Écrire un algorithme permettant d’échanger les valeurs de deux variables A et B réels.


10. Une variante du précédent : on dispose de trois variables A, B et C. Ecrivez un algorithme
transférant à B la valeur de A, à C la valeur de B et à A la valeur de C (toujours quels que
soient les contenus préalables de ces variables).
11. Que produit l’algorithme suivant ?
Algorithme Affectation 15
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C ← A & B Fin

12. Quel résultat produit le programme suivant ?


Algorithme Double
Variables val, double en numériques
Début
Val ← 231
Double ← Val * 2
Ecrire Val
Ecrire Double Fin
13. Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le
carré de ce nombre.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


60

14. Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA,
et qui fournit le prix total, le Tva sera inclus dans le total à payer. Faire en sorte que des
libellés apparaissent clairement.
15. 14.Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce
nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro).
16. Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur
produit est négatif ou positif (on laisse de côté le cas où le produit est nul). Attention
toutefois : on ne doit pas calculer le produit des deux nombres.
17. Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce
nombre est positif ou négatif (on inclut cette fois le traitement du cas où le nombre vaut
zéro).

18. Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de
sa catégorie :
• "Poussin" de 6 à 7 ans
• "Pupille" de 8 à 9 ans
• "Minime" de 10 à 11 ans
• "Cadet" supérieur à 12 ans
Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ?

19. Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la
réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : «
Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.
20. Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de
multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7)
: Table de 7 :
7x1=7
7 x 2 = 14
7 x 3 = 21

7 x 10 = 70

21. Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers
jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


61

22. Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui lui dit
ensuite quel était le plus grand parmi ces 20 nombres :
Entrez le nombre numéro 1 : 12 Entrez le nombre numéro 2 : 14 etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14

23. Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en les
mettant toutes à zéro.
24. Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs
par l’utilisateur.
25. Que produit l’algorithme suivant ?
Algorithme Tableau1
Tableau Nb(5) en Entier
Variable i en Entier
Début
Pour i ← 1 à 5
Nb(i) ← i * i
i suivant
Pour i ← 1 à 5
Ecrire Nb(i)
i suivant Fin
26. Que produit l’algorithme suivant ?
Algorithme Tableau2
Tableau N(6) en Entier Variables i, k en Entier
Début
N(1) ← 1
Pour k ← 1 à 6
N(k) ← N(k-1) + 2
k Suivant Pour i ← 1 à 6
Ecrire N(i)
i suivant
Fin
Peut-on simplifier cet algorithme avec le même résultat ?
27. Que produit l’algorithme suivant ?
Algorithme Tableau3
Tableau Suite(7) en Entier
Variable i en Entier
Début
Suite(1) ← 1
Suite(1) ← 1
Pour i ← 2 à 7
Suite(i) ← Suite(i-1) + Suite(i-2)
i suivant Pour i ←1 à 7
Ecrire Suite(i) i suivant Fin

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


62

28. Ecrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs,


qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le
nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la
saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de
valeurs positives.
29. Ecrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur
préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de
départ.

30. Ecrivez un algorithme qui permette la saisie d’un nombre quelconque de valeurs, qui
devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le
nombre de valeurs qu’il compte saisir. Toutes les valeurs doivent être ensuite augmentées
de 1, et le nouveau tableau sera affiché à l’écran.
31. Ecrivez un algorithme permettant, toujours sur le même principe, à l’utilisateur de saisir
un nombre déterminé de valeurs. Le programme, une fois la saisie terminée, renvoie la plus
grande valeur en précisant quelle position elle occupe dans le tableau. On prendra soin
d’effectuer la saisie dans un premier temps, et la recherche de la plus grande valeur du
tableau dans un second temps.
32. Quel résultat produira cet algorithme ?
Algorithme Tableau6
Tableau X(2, 3) en Entier
Variables i, j, val en Entier
Début
Val ← 1
Pour i ← 1 à 2
Pour j ← 1 à 3
X(i, j) ← Val
Val ← Val + 1 j Suivant i Suivant
Pour i ← 1 à 2
Pour j ← 1 à 3
Ecrire X(i, j)
j Suivant i Suivant Fin

33. Quel résultat produira cet algorithme ?


Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
63

Algorithme Tableau7
Tableau X(2, 3) en Entier
Variables i, j, val en Entier
Début
Val ← 1
Pour i ← 1 à 2
Pour j ← 1 à 3
X(i, j) ← Val
Val ← Val + 1 j Suivant i Suivant Pour j ← 1 à 3
Pour i ← 1à 2 Ecrire X(i, j) i Suivant j Suivant
Fin
34. Quel résultat produira cet algorithme ?
Algorithme Tableau9
Tableau T(4, 2) en Entier
Variables k, m, en Entier
Début
Pour k ← 1 à 4
Pour m ← 1 à 2
T(k, m) ← k + m m Suivant k Suivant
Pour k ← 1 à 4
Pour m ← 1 à 2
Ecrire T(k, m) m Suivant k Suivant
Fin
35. Quel résultat peut fournir chacun de ces algorithmes?
a) Algorithme pour
Variable X, Y en entiers
Début
Pour X allant de 1 à 3
Pour Y allant de 1 à 3
Ecrire X+1*Y
Y suivant
X suivant
Fin
b) Algorithme répéter Variable X en entier
Début
X 90
Répéter
Ecrire X
X X+1
Jusqu’à(X>10)
Fin

c) Algorithme tant que


Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
64

Variable X en entier
Début
X 2
Tant que (X<=10)
Si (X %2=1) alors
Ecrire X
Fin SI
X X+1
Fin tant que
Fin

d) Algorithme multiplication

Variable X, Y en entiers
Début
Pour X allant de 1 à 3
Pour Y allant de 1 à 4
Ecrire X-Y
Y suivant
X suivant
Fin

36. Créer l’algorithme d’un programme Calculant et affichant la somme S, de deux matrices A
et B.
Sachant qu’A et B sont des matrices à 3 Lignes et à 3 colonnes, et les éléments des matrices
A et B sont préalablement saisis par l’utilisateur.

Exemple : A

NB : l’algorithme ne va qu’afficher
37. Écrire l’algorithme d’une fonction qui calcule et retourne le volume d’une sphère.
Sachant que le rayon R sera entré en paramètre. Étant donné que le volume d’une sphère
est donné par V = 4 R
38. Créer L’algorithme d’un programme affichant la somme de nombres entiers pairs se
trouvent dans l’intervalle
39. Créer L’algorithme d’un programme affichant la somme de nombres entiers impairs se
trouvent dans l’intervalle
40. Pour un Capital C, placé au taux périodique T, Pendant n périodes, l’intérêt I s’écrit :
I= C * T * N
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
65

Si la durée N est exprimée en trimestre : T= (taux annuel)/4


Si la durée N est exprimée en mois : T= (taux annuel)/12
Si la durée N est exprimée en jours : T = (taux annuel)/ 360
Créer l’algorithme qui permet de calculer et afficher l’intérêt selon que la durée N est
exprimée en trimestre, en moins ou en jours
Sachant que l’utilisateur va taper au clavier le Capital(C ), le taux d’intérêt(I) et la
durée(N)
NB : Pour cette question, vous pouvez utiliser les SUIVANT CAS ou les si imbriqués
41. Soit la Procédure suivante :
Procédure faitCalculs (x en entier, y en entier)
écrire « somme : », x+y
écrire «produit : », x*y
Fin procédure
---------------------------------
Que fourniront ces instructions ?
Algorithme Calcule
variables n,p,q en entier
début
n ← 4,
p← 5
q ← 8 faitCalculs (n, p+2)
faitCalculs (2*n, q)
Fin

42. Écrire une fonction nommée est Voyelle examinant si un caractère fourni en paramètre est
une voyelle et fournissant un résultat de type booléen. Écrire un petit programme l’utilisant.
43.
a Déclarez une variable enregistrement pour représenter la fiche d'un étudiant sachant
qu'elle contient les informations suivantes : Nom, Prénom, sexe (F ou G), date de
naissance et la moyenne au baccalauréat.
b Affectez respectivement les valeurs suivantes à cette variable : "Kéfi", "Nour", "F",
"27/11/1983" et 13.25
c Ecrivez les instructions permettant de saisir à partir du clavier les champs de la variable
enregistrement Etudiant.
44. Soit la structure Personne constituée par :
– Un nom
– Un numéro fiscal (entier)
Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
66

– Un numéro de téléphone (caractères)


– Un numéro de carte bancaire (entier).
Ecrivez les analyses, les algorithmes des différents modules d'un programme nommé Fiche, qui
permet la saisie et l'affichage de l'enregistrement d'une personne.
45. Un compte en banque concerne une personne spécifiée par son nom, un numéro de compte
(un entier), et un montant (un réel).
Question : Déclarez un enregistrement pour cette structure.

46. Soit la structure Info constituée par le nom, le numéro de téléphone, le numéro de carte
bancaire. Ecrivez un programme qui saisit puis affiche les enregistrements pour 3
personnes.
47. Le chef de département informatique veut automatiser la cotation de 6 cours dans son
institution supérieure, sachant que les points maximums de ces cours sont :
1. L’algorithme /100 pts
2. La programmation orientée objet /120 pts
3. La Méthodologie d’Analyse Informatique / 80 pts
4. La pédagogie comparée /80 pts
5. Le système d’exploitation /120 pts
6. Le langage java /100 pts
Un étudiant qui a au moins 55 % a réussi avec la Mention :

- "satisfaction" si le pourcentage est >=55 et <69 :


- "Distinction" si le pourcentage est >=70 et <80 :
- "Grande Distinction" si le pourcentage est >=80 et <90 :
- "Très Grande Distinction" si le pourcentage est >=90 et <=100 :
NB : On ne s'intéresse pas au nombre d'échec profond ou léger.
Question
Créer un algorithme permet de résoudre ce problème

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation


67

Table des matières


Les Objectifs .................................................................................................................................................II

1. Global ....................................................................................................................................II

2. Spécifiques ............................................................................................................................II

BIBLIOGRAPHIE : .....................................................................................................................................III

CHAP. I. INTRODUCTION GENERALE...................................................................................................4

1.0 NOTION .........................................................................................................................................4

1.1. QUELQUES APPROCHES...........................................................................................................4

1.1.1 La programmation ....................................................................................................................4

1.1.2. Langages de programmation ...................................................................................................6

1.1.3. Un algorithme..........................................................................................................................6

1.1.4. L'algorithmique .......................................................................................................................8

1.1.5. Notion sur Le compilateur, l’interpréteur et le code source ....................................................8

CHAP II. NOTIONS DE BASE EN PROGRAMMATION ..................................................................... 10

2.1 La notion de variables, les types de données et l’instruction affectation ..................................... 10

2.1.1 Notion sur les variables ......................................................................................................... 10

2.1.2 Notion sur les types des données........................................................................................... 12

2.1.3 L’instruction d’affectation..................................................................................................... 13

2.2 La Syntaxe dans le langage de programmation ............................................................................ 14

2.3 Mots réservés ............................................................................................................................... 14

2.4 Les constantes .............................................................................................................................. 14

2.5 Les commentaires......................................................................................................................... 15

2.6 Les instructions ............................................................................................................................ 15

2.6.1 Instructions Simples .................................................................................................................. 15

2 .6 2 instructions Composés ............................................................................................................. 15

2.7 Les Opérateurs ............................................................................................................................. 16

2.7.1 Opérateurs Arithmétiques ..................................................................................................... 16

2.7.2 Opérateur de comparaison..................................................................................................... 16

2.7.3 Les opérateurs Logiques........................................................................................................ 17


Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation
68

2.7.4 Opérateur alphanumérique & ................................................................................................ 17

2.8 La lecture et l’écriture (Pour communiquer avec votre programme) ........................................... 18

2.9 Les Structures de contrôle ............................................................................................................ 21

2.9.1 Traitements conditionnels (Les tests) .................................................................................... 21

2.9.2 Boucles .................................................................................................................................. 25

2.10 Les sous-programmes (Les Fonctions et Procédures) ................................................................ 30

2.10.1 Les Procédures .................................................................................................................... 30

2.10.2 Les fonctions ....................................................................................................................... 32

2.11 La Structures des données .......................................................................................................... 34

2.11.1 Les tableaux ........................................................................................................................ 34

2.11.2 Les Pointeurs ....................................................................................................................... 40

2.12 Les enregistrements .................................................................................................................... 42

Etapes de l’utilisation d’un enregistrement .................................................................................... 43

2.13 Les types de données énumérés (enumerated data types) .......................................................... 44

CHAP III. INTRODUCTION A LA PROGRAMMATION ORIENTEE OBJET .................................... 46

3. 1. Les Classes ................................................................................................................................ 47

3.2 Les objets ..................................................................................................................................... 50

3.3 Les constructeurs.......................................................................................................................... 51

3.4 l’héritage ...................................................................................................................................... 51

3.5 Le Polymorphisme ....................................................................................................................... 55

3.6 L’encapsulation ............................................................................................................................ 56

3.7 Autres Concepts en Programmation Orienté objets ..................................................................... 57

EXERCICES .................................................................................................................................................. 58

Par Ir. Héritier Kangela G2 INFO Algorithme et Méthode de programmation

Vous aimerez peut-être aussi