0% ont trouvé ce document utile (0 vote)
8 vues8 pages

Introduction à l'algorithmique et programmation

Transféré par

zakariaouardighi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues8 pages

Introduction à l'algorithmique et programmation

Transféré par

zakariaouardighi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ALGORITHMIQUE & PROGRAMMATION

1 Notions de base
1.1 Qu’est-ce qu’un algorithme ?
Le mot « algorithme » provient du nom du mathématicien arabe AL KHAWARIZMI. Un
algorithme peut être définie comme étant « une suite finie d’actions élémentaires qui une fois
appliquée sur des données, dans un ordre donné, fournira des résultats déterminés ».

1.2 Qu’est-ce qu’un programme ?


un programme est un enchaînement d’instructions, écrit dans un langage de programmation,
exécutées par un ordinateur, permettant de traiter un problème et de renvoyer des résultats. Il
représente la traduction d’un algorithme à l’aide d’un langage de programmation.

Problème

Saisie
Algorithme Données
Analyse

Programme
Traduction

Résultats
Exécution

Figure 1 – Cycle de développement d’un programme informatique.

1.3 Les langages de programmation


Un langage de programmation est un ensemble de commandes et d’autres syntaxes utilisées
pour créer un programme. Les langages utilisés pour écrire du code sont appelés « langages de
haut niveau ». Ce code peut être compilé dans un « langage de bas niveau », qui est reconnu
directement par le matériel informatique.
Parmi les langages de programmation, on peut citer : Pascal, C, C++, Visual Basic, Java,
C#, J#, etc.

1.4 Structure générale d’un algorithme


Un algorithme est composé de trois parties principales :

1
L’en-tête : cette partie sert à donner un nom à l’algorithme. Elle est précédée par le mot
Algorithme ;
La partie déclarative : dans cette partie, on déclare les différents objets que l’algorithme
utilise (constantes, variables, etc.) ;
Le corps de l’algorithme : cette partie contient les instructions de l’algorithme. Elle est
délimitée par les mots Début et Fin.

Algorithme Programme Pascal


En-tête Algorithme NomAlgorithme ; Program NomProgramme ;
Partie Constante Nom = valeur ; Const Nom = valeur ;
déclarative Variable Nom : type ; Var Nom : type ;
Début Begin
Instruction 1 ; Instruction 1 ;
Corps de
Instruction 2 ; Instruction 2 ;
l’algorithme
··· ···
Instruction n ; Instruction n ;
Fin. End.

Tableau 1 – Structure d’un algorithme et sa transcription en langage Pascal

2 Variables et constantes
2.1 Notion de variable
Les données ainsi que les résultats des calculs intermédiaires ou finaux, sont rangés dans
des cases mémoires qui correspondent à des variables.
Ainsi, une variable est rangée dans un emplacement mémoire nommé, de taille fixe (ou non)
prenant au cours du déroulement de l’algorithme, un nombre indéfini de valeurs différentes.

2.1.1 Déclaration des variables


La partie déclaration consiste à énumérer toutes les variables dont on aura besoin au cours
de l’algorithme.
Chaque déclaration doit comporter le nom de la variable (identificateur 1 ) et son type.

Syntaxe
En algorithme En Pascal

Variable identificateur : type ; Var identificateur : type ;

1. Un identificateur est le nom donné à un variable, une fonction, etc. Ce nom doit obligatoirement commencer
par une lettre suivie d’une suite de lettres et/ou de chiffres et il ne doit pas contenir d’espace

2
Exemples
En algorithme En Pascal

Variable surface : réel ; Var surface : real ;


Variable a : entier ; Var a : integer ;
Variable a,b,c : entier ; Var a,b,c : integer ;
Variable Nom,Prenom : chaine ; Var Nom,Prenom : string ;
Variable absent : logique ; Var absent : boolean ;

2.1.2 Types de variables


Le type d’une variable est l’ensemble des valeurs qu’elle peut prendre. Par exemple, une
variable de type logique (booléen) peut prendre les valeurs « Vrai » ou « Faux ».
Les différents types utilisés en algorithmique :

Type En Pascal Description


Entier Integer Sert à manipuler les nombres entiers positifs ou négatifs. Par
exemple : 5, -15, etc.
Réel Real Sert à manipuler les nombres à virgule. Par exemple : 3.14, -15.5,
etc.
Caractère Char Sert à manipuler des chaines de caractères permettant de représen-
ter des mots ou des phrases. Par exemple : ’Monsieur’, ’Bonjour
tout le monde’, etc.
Chaine String Sert à manipuler des chaines de caractères permettant de représen-
ter des mots ou des phrases. Par exemple : ’Monsieur’, ’Bonjour
tout le monde’, etc.
Logique Boolean Utilise les expressions logiques. Il n’y a que deux valeurs boo-
léennes : Vrai ou Faux.

2.1.3 Quelques fonctions définies sur les types simples des données
À un type donné, correspond un ensemble d’opérations définies sur ce type :

Fonction En Pascal Type Description


Quotient(N1 , N2) N1 Div N2 Entier Retourne le quotient de la division eucli-
dienne entière de N1 par N2. Exemple :
Quotient(19 , 2) = 9
Reste(N1 , N2) N1 Mod N2 Entier Retourne le reste de la division euclidienne
de N1 par N2.
Exemple : Reste(17 , 3) = 2
Abs(x) Abs(x) Entier ou Réel Retourne la valeur absolue du nombre x.
Exemple : Abs(-5.5) = 5.5
Racine(x) sqrt(x) Entier ou Réel Retourne la racine carrée du nombre posi-
tif x.
Exemple : Racine(6.25) = 2.25

3
2.2 Les constantes
Comme une variable, à une constante correspond un emplacement mémoire réservé auquel
on accède par le nom qui a lui été attribué, mais dont la valeur stockée ne sera jamais modifiée
au cours du programme.

Syntaxe
En algorithme En Pascal

Constante identificateur = valeur ; Const identificateur = valeur ;

Exemples
En algorithme En Pascal

Constante Pi =3.14 ; Var Pi = 3.14 ;

3 Les instructions de base


Une instruction est une action élémentaire commandant à la machine un calcul, ou une
communication avec l’un de ses périphériques d’entrée ou de sorties. Les instructions de base
sont :

3.1 L’instruction d’affectation


L’affectation permet d’attribuer la valeur d’une expression (arithmétique ou logique) à une
variable. Elle est symbolisée en algorithme par « ← » et en Pascal par le signe « := ».

Syntaxe
En algorithme En Pascal

Variable ← expression ; Variable := expression ;

L’expression peut être soit :


— Un identificateur. Exemple : c ← a ;
— Une constante. Exemple : Pi ← 3.14 ;
— Une expression arithmétique. Exemple : perimetre ← 2*(long+larg) ;
— Une expression logique. Exemple : positif ← a>=0 ;

3.2 L’instruction de lecture


L’instruction de lecture ou d’entrée donne la main à l’utilisateur pour saisir une donnée au
clavier. La valeur saisie sera affectée à un variable.

4
Syntaxe
En algorithme En Pascal

Lire(identificateur) ; Read(identificateur) ;

Exemples
En algorithme En Pascal

Lire(A) ; Read(A) ;
Lire(A,B,C) ; Read(A,B,C) ;

L’instruction « Lire(A) ; » permet à l’utilisateur de saisir une valeur au clavier. La valeur


saisie sera affectée à la variable A.
Remarque

Lorsque le programme rencontre cette instruction, l’exécution s’interrompt et attend que


l’utilisateur tape une valeur. Cette valeur est rangée en mémoire dans la variable désignée.

3.3 L’instruction d’écriture


Avant de lire une variable, il est conseillé d’écrire des libellés à l’écran, afin de prévenir
l’utilisateur de ce qu’il doit frapper (sinon, l’utilisateur passe son temps à se demander ce que
l’ordinateur attend de lui).
L’instruction d’écriture (ou de sortie) permet d’afficher des informations à l’écran.

Syntaxe
En algorithme En Pascal

Écrire(argument) ; Write(argument) ;

Exemples
En algorithme En Pascal

Écrire(A) ; Write(A) ;

A ← 2; A := 2 ;
Écrire(’La valeur de A est ’,A) ; Write(’La valeur de A est ’,A) ;

L’instruction « Écrire(A) ; » permet d’afficher à l’écran la valeur de la variable A alors que


l’instruction « Écrire(’La valeur de A est ’,A) ; » affiche à l’écran : La valeur de A est 2.

5
3.4 Exemple d’un algorithme
3.4.1 Problème
Écrire un algorithme qui permet de saisir le prix hors taxes d’un article et de calculer son
prix toutes taxes comprises. TVA = 20%.

3.4.2 Solution

0 Algorithme Calcul_PTTC ;
1 Variable PHT, PTTC : réel ;
2 Constante TVA = 0.2 ;
3 Début
4 Écrire(’Entrez le prix hors taxes : ’) ;
5 Lire(PHT) ;
6 PTTC ← PHT + PHT*TVA ;
7 Écrire(’Le prix TTC est ’,PTTC) ;
8 Fin.

3.4.3 Explication de l’algorithme

No de la ligne Explication
0 Déclare un algorithme dont le nom est Calcul_PTTC.
1 Déclare les différentes variables utilisées par l’algorithme.
2 Déclare la constante TVA.
3 Marque le début des traitements effectués par l’algorithme.
4 Affiche à l’écran le message « Entrez le prix hors taxes : ».
5 Permet à l’utilisateur de saisir une valeur au clavier qui sera affectée à la
variable PHT.
6 Calcul le prix TTC et affecte le résultat à la variable PTTC.
7 Affiche le résultat à l’écran.
8 Marque la fin de l’algorithme.

3.4.4 Transcription de l’algorithme en langage Pascal


Program Calcul_PTTC ;
Var PHT,PTTC : real ;
Const TVA=0.2 ;
Begin
Write(’Entrez le prix hors tazes : ’) ;
Read(PHT) ;
PTTC := PHT + PHT*TVA ;
Write(’Le prix TTC est ’,PTTC :0 :2) ;
End.

6
4 Les instructions conditionnelles
Contrairement au traitement séquentiel, la structure alternative ou conditionnelle permet
d’exécuter ou non une série d’instructions selon la valeur d’une condition.

4.1 L’alternative simple


Cette structure est utilisée si on veut exécuter une instruction seulement si une condition
est vraie et ne rien faire si la condition est fausse.

Syntaxe
En algorithme En Pascal

Si condition alors If condition then


instruction(s) ; Instruction(s) ;
FinSi

Exemples
En algorithme En Pascal
If b<>0 then
Si b̸=0 alors
Begin
d←-a/b ;
d := a/b ;
Écrire(’La division est : ’,d) ;
Write(’La division est ’,d :0 :2) ;
FinSi
End ;
Si b̸=0 alors If b<>0 then
Écrire(’La division est ’,a/b) ; Write(’La division est ’,a/b :0 :2) ;
FinSi

4.2 L’alternative complète

Syntaxe
En algorithme En Pascal

Si condition alors If condition then


instruction(s) 1 Instruction(s) 1
Sinon Else
Instruction(s) 2 ; Instruction(s) 2 ;
FinSi

La condition est évaluée. Si la condition est vraie, la série d’instructions1 est exécutée et
l’ensemble d’instructions2 est ignoré, la machine sautera directement à la première instruction
située après le FinSi.
De même, au cas où la condition était fausse (avait comme valeur Faux), la machine saute
directement à la première ligne après le Sinon et exécute l’ensemble d’instructions2.

7
Exemple
En algorithme En Pascal
Si b̸=0 Alors If b<>0 then
Écrire(’La division est ’,a/b) Write(’La division est ’,a/b :0 :2)
Sinon Else
Écrire(’La division est impossible’) ; Write(’La division est impossible’) ;
FinSi

4.3 Choix multiple


Cette structure conditionnelle permet de choisir le traitement à effectuer en fonction de la
valeur ou l’intervalle des valeurs d’une variable ou d’une expression.

Syntaxe
En algorithme En Pascal

Cas expression vaut Case expression of


valeur 1 : action(s)1 ; Valeur 1 : action(s)1 ;
valeur 2 : action(s)2 ; Valeur 2 : action(s)2 ;
······ ······
valeur n : action(s)n ; Valeur n : action(s)n ;
Autres action(s) ; Else action(s)
FinCas End ;

Lorsque l’ordinateur rencontre cette instruction, il vérifie la valeur de l’expression et il la


compare aux différentes valeurs.
Les valeurs sont évalouées dans l’ordre, les unes après les autres, et dès qu’une de celles-ci
est vérifiée, l’action associée est exécutée. On peut utiliser une instruction Autres (facultative),
dont l’action sera exécutée si aucune des valeurs évaluées n’a été remplie.

Exemple
En algorithme En Pascal
Cas Num_Jour vaut Case Num_Jour of
1 : Écrire(’Lundi’) ; 1 : Write(’Lundi’) ;
2 : Écrire(’Mardi’) ; 2 : Write(’Mardi’) ;
3 : Écrire(’Mercredi’) ; 3 : Write(’Mercredi’) ;
4 : Écrire(’Jeudi’) ; 4 : Write(’Jeudi’) ;
5 : Écrire(’Vendredi’) ; 5 : Write(’Vendredi’) ;
6 : Écrire(’Samedi’) ; 6 : Write(’Samedi’) ;
7 : Écrire(’Dimanche’) ; 7 : Write(’Dimanche’) ;
Autres Écrire(’Numéro invalide !’) ; Else Write(’Numéro invalide !’) ;
FinCas End ;

Vous aimerez peut-être aussi