Académique Documents
Professionnel Documents
Culture Documents
Définition 4 : logiciel
Un logiciel est un programme ou ensemble de programme informatique conçu pour la résolution
d’un problème précis à partir d’un ordinateur.
Dans ce cours, nous ne nous intéresserons qu’aux aspects logiciels de l’informatique. Avant
l’écriture d’un programme, il faut avoir mis au point un algorithme de résolution du problème.
2. Algorithmique
Chacun de nous a déjà été confronté un jour à un mode d’emploi pour faire fonctionner un appareil
plus ou moins réticent et donc, consciemment ou non, a déjà exécuté un algorithme.
Définition 5 : algorithme
Un algorithme est une suite finie et ordonnée d’instructions décrivant de façon exhaustive le pro-
cessus de résolution d’un problème donnée dans un intervalle de temps donné. En d’autres termes,
PROPOSE PAR DIFFOUO TAZO EVARISTE 6
Algorithmique avancée : listes, tris et arbres
un algorithme est une suite finie d’opérations élémentaires constituant un schéma de calcul ou de
résolution d’un problème.
Définition 6 : algorithmique
L’algorithmique est la science qui a pour objectif la conception des algorithmes. En d’autres termes,
c’est l’ensemble des règles et techniques utilisées pour la définition et la conception 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é.
3. Programmation
Un algorithme exprime la structure logique d’un programme informatique et de ce fait est indépen-
dant 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 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. 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 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. Pour « parler » à un ordinateur, il nous faudra donc utiliser des
systèmes de traduction automatiques, capables de convertir en nombres binaires des suites de ca-
ractères formant des mots-clés qui seront plus significatifs pour nous. Le système de traduction
proprement dit s’appellera interpréteur ou bien compilateur, suivant la méthode utilisée pour effec-
tuer la traduction.
Définition 12 : compilateur
Un compilateur est un programme informatique qui traduit un langage, le langage source, en un
autre, appelé le langage cible.
Définition 13 : interpréteur
Un interpréteur est un outil informatique (logiciel ou matériel) ayant pour tâche d’analyser et d’exé-
cuter un programme écrit dans un langage source.
Définition 14 : langage de programmation
Un langage de programmation est un langage informatique, permettant à un humain d’écrire un code
source qui sera analysé par un ordinateur.
Définition 15 : programmation
La programmation est l’activité de rédaction du code source d’un programme.
Une variable est un objet informatique qui associe un nom à une valeur qui peut éventuellement
varier au cours du temps.
Chaque variable est typée et ce type indique l’ensemble dans lequel un objet prend ses valeurs. Il
indique aussi les opérations qui doivent être réalisées sur cet objet. On distingue plusieurs types :
Le type entier
C’est le type qui prend ses valeurs dans l’ensemble Z. Les opérations possibles ici sont : l’addition,
la soustraction, la multiplication et la division. Un entier occupe 4 octets en mémoire.
PROPOSE PAR DIFFOUO TAZO EVARISTE 10
Algorithmique avancée : listes, tris et arbres
Le type réel
C’est le type qui prend ses valeurs dans l’ensemble R. Les opérations possibles ici sont : l’addition,
la soustraction, la multiplication et la division. Un réel occupe 8 octets en mémoire.
Le type caractère
C’est l’ensemble constitué des lettres (’a’, ‘b’ … ’z’, ’A’, ’B’ … ‘Z’), des chiffres (‘0’, ‘1’ … ’9’)
et des caractères spéciaux (’#’, ’*’ … ‘+’). La seule opération possible ici est la concaténation +
(Exemple : ’a’+ ‘b’ = ‘ab’ et ’3’+ ‘4’ = ‘34’). Un caractère occupe 1 octet en mémoire.
Le type chaine de caractère
C’est une combinaison des caractères placés entre côtes ("abc" , "toto2" … "Bonjour","", "PAPA
"). La seule opération possible ici est la concaténation + (Exemple : "Bonjour"+" "+" PAPA"=
"Bonjour PAPA"). Une chaine de caractère occupe 256 octets en mémoire.
Le type booléen
C’est l’ensemble constitué des valeurs {Vrai, Faux} ou {1, 0}. Les opérations possibles ici sont :
ET, OU, NON. Un booléen occupe 1 octet en mémoire
Remarque : Une donnée qui ne change plus de valeur une fois initialisé dans un algorithme est
appelée une constante.
Structure SELON
5. Récursivité
Une fonction ou une procédure est dite récursive si elle s’appelle elle-même : on parle alors d’appel
récursif de la fonction.