Vous êtes sur la page 1sur 42

Informatique 2 : Initiation à l’algorithmique

0

Filière : MEER

2 : Initiation à l’algorithmique 0 Filière : MEER Le terme informatique est un néologisme proposé

Le terme informatique est un néologisme proposé en 1962 par le français

Philippe

Dreyfus.

C’est

un

terme

composé

de

deux

mots :

information

et

automatique. L’informatique c’est donc une automatisation de l’information,

plus exactement un traitement automatique de l’information.

L’information : Elle désigne ici tout ce que peut être traité par l’ordinateur

(programmes, textes, images, sons, vidéos, … etc).

 

L’ordinateur :

C’est

l’outil

utilisé

pour

traiter

l’information

de

manière

automatique. Ce nom a été proposé par Jacques Perret en 1954. Ce mot était

à l’origine un adjectif qui signifiait « qui met l’ordre » ou « qui arrange ».

L’anglais plus restrictif, utilise le terme « computer » qui peut se traduire par

« calculateur ou machine à calculer ».

L’informatique désigne donc un concept, une science, tandis que l’ordinateur est

un outil, une machine conçue pour réaliser des opérations informatiques.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

1

Filière : MEER

Chapitre I :

Notion d’algorithme et instructions de base

I- Introduction générale

L’être humain passe la majeure partie de son temps à résoudre des problèmes auxquels il se confronte en mettant en place des procédés appelés encore algorithmes.

Qu’est ce qu’un algorithme ? Qu’est ce que l’algorithmique ? Quelle démarche adopter pour écrire un algorithme ?

Dans ce cours, nous allons répondre à ces questions et donner des exemples illustratifs.

I.1 Notion d’algorithme

Le mot « Algorithme » est un terme d’origine arabe, hommage au mathématicien arabe AL KHAWARIZMI. Ce dernier formula une première définition du mot algorithme : « Un algorithme est une séquence d’opérations visant à la résolution d’un problème en un temps fini ».

Dans ce cours, nous pouvons adopter la définition suivante : Un algorithme est une suite d’actions ou d’instructions qui doivent être exécutées dans un ordre bien déterminé pour résoudre un problème (ou réaliser un travail).

Dans la vie courante, un algorithme peut prendre la forme :

d’un mode d’emploi d’une machine d’une recette de cuisine d’un chemin indiqué par un GPS etc.

Exemple : Mode d’emploi d’une machine (Télécopieur par exemple)

Ci-dessous un extrait d’un mode d’emploi d’un télécopieur (fax) concernant l’envoi d’un document :

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

2

Filière : MEER

Etape 1 : Insérez le document à envoyer dans le chargeur automatique.

Etape 2 : Composez le numéro de fax du destinataire.

Etape 3 : Enfoncez la touche ENVOI pour lancer l’émission.

Ce mode d’emploi précise comment envoyer un fax. Il est composé d’une suite ordonnée d’instructions (insérez…, composez…, enfoncez…) qui manipulent des données (document, chargeur automatique, numéro de fax, touche envoi) pour réaliser la tâche désirée (envoi d’un document). Le mode d’emploi d’un télécopieur est bien un algorithme.

I.2 Caractéristiques d’un bon algorithme

Un bon algorithme doit être :

Lisible :

l’algorithme

informaticien.

doit

Structuré :

un

algorithme

être

doit

facilement identifiables.

compréhensible

être

composé

même

par

un

non-

de

différentes

parties

Fini : un algorithme doit se terminer après un nombre fini d’opérations.

Précis : chaque élément de l'algorithme ne doit pas porter à confusion, il est donc important de lever toute ambiguïté.

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é.

I.3 Algorithmique et programmation

Tout problème à programmer doit être résolu d’abord sous forme d’algorithme, puis converti en programme dans le langage de votre choix. En effet, un algorithme est indépendant du langage de programmation utilisé. L’algorithmique permet ainsi de passer d’un problème à résoudre à un algorithme qui décrit la démarche de résolution du problème. La programmation a alors pour rôle de traduire cet algorithme dans un langage « compréhensible » par l’ordinateur afin qu’il puisse exécuter l’algorithme automatiquement (voir schéma ci-dessous) :

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

3

Filière : MEER

Analyse

Programmation

3 Filière : MEER A n a l y s e Programmation Exécution Problème Algorithme Programme

Exécution

Filière : MEER A n a l y s e Programmation Exécution Problème Algorithme Programme Résultats
Filière : MEER A n a l y s e Programmation Exécution Problème Algorithme Programme Résultats
Filière : MEER A n a l y s e Programmation Exécution Problème Algorithme Programme Résultats

Problème

Algorithme

Programme

Résultats

SchémaSchémaSchémaSchéma :::: dudududu problèmeproblèmeproblèmeproblème auauauau résultatrésultatrésultatrésultat

N.B :

Le langage de programmation est l’intermédiaire entre l’humain et la machine.

Parmi les langages de programmation (langage machine), on peut citer :

Pascal, C, C++, Fortran,….etc.

II- Structure générale d’un algorithme

Un algorithme peut être représenté à l’aide d’un pseudo-code ou d’un organigramme. Il doit être lisible et compréhensible par plusieurs personnes. Il doit donc suivre des règles précises. Un algorithme écrit en pseudo-code est composé de trois parties principales :

L’en-tête, la partie déclarative et le corps.

L’en-tête d’un algorithme

L’en-tête d’un algorithme est une partie constituée du mot Algorithme, suivi d’un nom identifiant l’algorithme.

La partie déclarative d’un algorithme

Dans cette partie, on déclare les différents objets (constantes et variables) utilisés et manipulés dans le corps de l’algorithme.

Le corps de l’algorithme

Cette partie contient les différentes instructions de l’algorithme. Elle est délimitée par les mots Début et Fin.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

4

Filière : MEER

;

_" #$ %# = '% (

;

 

)

*

_'% %+ -.

;

5é*6

 

7#$ (" # 1

;

7#$ (" # 2

;

;

… … … … … … . 7#$ (" # #

;

 

<

/

@

ê

0

1é3

>

3 0A
?

>

=

4

Structure d’un algorithme

III- Les données d’un algorithme : les variables et les constantes

Les données d’un algorithme sont des informations nécessaires au

déroulement de l’algorithme. On distingue deux catégories : les variables et les

constantes.

III.1 Les variables

III.1.1 Déclaration des variables

Une variable est un objet dont le contenu peut être modifié par une action

durant l’exécution d’un algorithme.

Dans la partie déclarative, on déclare toutes les variables dont on aura besoin

au cours de l’algorithme. Chaque déclaration doit comporter le nom de la

variable et son type.

Syntaxe :

Variable Nom_Variable : type ;

Exemple :

Variable Surface : réel

Variable nombre_élèves : entier ;

Variable

Variable Nom_étudiant : chaîne ;

Variable absent : logique ;

Variable a, b : booléens ;

;

a, b, c, d : entiers

;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

5

Filière : MEER

Remarque :

Un nom de variable doit obligatoirement commencer par une lettre (majuscule ou minuscule) suivie d’une suite de lettres et de chiffres et il ne doit pas contenir d’espace.

N.B : « signification physique d’une variable »

Dans la mémoire vive (la RAM) de l’ordinateur, physiquement, une variable correspond à un emplacement de mémoire, repéré par une adresse binaire.

Case mémoire de taille 1 octet (8 bits)

Caractère « C »
Caractère « C »

Entier « X »

III.1.2 Les types de données d’un algorithme

Le type d’une variable est l’ensemble des valeurs qu’elle peut prendre.

Les différents types utilisés en algorithmique sont les suivants :

Type Entier : Il sert à manipuler les nombres entiers positifs ou négatifs.

Type Réel : Il sert à manipuler les nombres réels.

Type Caractère : Il permet de manipuler des caractères alphabétiques et numériques.

Type Chaîne : Il sert à manipuler des chaînes de caractères permettant de représenter des mots ou des phrases.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

6

Filière : MEER

Type logique (Booléen) : Il utilise les expressions logiques. Il n’y a que

deux valeurs booléennes : Vrai et Faux.

On peut résumer tous ces types de données dans le tableau suivant :

Type de

données

Numérique

Alphanumérique

Logique ou

Booléen

Entier

(sans la

virgule)

Logique ou Booléen Entier (sans la virgule) Réel (avec et sans la virgule) Caractère Chaîne de

Réel

(avec et sans la virgule)

Caractère

Chaîne de

caractères

Exemples

23

-17

1025

15,24

56,12

-143,4

-3

18

'A'

'b'

'34'

'?'

'+'

''Bonjour''

''Au revoir''

''MEER2''

Vrai

Faux

Remarque :

'34' est différent de 34 parce que 34 est trente quatre par contre '34'

représente la suite des chiffres 3 et 4.

Une variable de type numérique ne peut pas recevoir une variable de type

alphanumérique ou de type booléen.

III.1.3 Opérations sur les variables

A un type donné, correspond un ensemble d’opérations définies pour ce type :

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

7

Filière : MEER

Type

Opérations possibles

Symbole

   

Addition

+

Soustraction

-

Multiplication Division Division entière Modulo (le reste de la division entière)

*

/

Entier

Div

Mod

x

exposant y

x^y

comparaisons

< , = , > , <= , >= , ππππ

   

Addition

+

Soustraction

-

Réel

Multiplication

*

 

Division

/

x

exposant y

x^y

comparaisons

< , = , > , <= , >= , ππππ

Caractère

comparaisons

< , = , > , <= , >= , ππππ

 

Concaténation

&

Chaîne

Comparaison

< , = , > , <= , >= , ππππ

Booléen

 

Logiques

ET, OU, NON et Ou ex

Exemple :

5/2 = 2.5

5 Div 2 = 2

5 Mod 2 = 1

5^2 = 25

''Bonjour'' & '' '' & ''Monsieur'' donne ''Bonjour Monsieur''

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

8

Filière : MEER

N.B :

Les opérations définies pour le type booléen sont :

Le ET logique (and)

Le OU logique (Or)

Le NON logique (not)

Le OUex (Ou exclusif appelé aussi Xor)

Nous résumons dans une table de vérité les résultats obtenus suivant les valeurs des deux opérandes :

P

Q

Non P

Non Q

P et Q

P ou Q

P Ou ex Q

0

0

1

1

0

 

0 0

0

1

1

0

0

 

1 1

1

0

0

1

0

 

1 1

1

1

0

0

1

 

1 0

III.2 Les constantes

Une constante est une donnée fixe qui ne varie pas durant l’exécution de l’algorithme. Une constante est caractérisée par son nom et sa valeur (fixe).

Syntaxe :

Constante Nom_Constante = valeur ;

Exemple :

Constante PI=3.14 ;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

9

Filière : MEER

IV- Les instructions de base

IV.1 L’affectation

L’affectation est une opération qui consiste à affecter une valeur (ou une expression) à une variable. Elle est symbolisée en algorithmique par une flèche orientée à gauche « ».

Le signe « » précise le sens de l’affectation.

Syntaxe :

Variable valeur ou expression ;

Explication :

A B se lit « A reçoit B » : le résultat de cette action est de mettre le contenu de la variable B dans la variable A.

A 2

B A+1

Nom Mohamed

Remarques :

: la variable A reçoit la valeur 2

: la variable B reçoit le contenu de A plus 1

: la variable Nom reçoit la valeur Mohamed

La valeur de la partie droite doit obligatoirement être du type de la variable dont la valeur est affectée.

L’affectation ne vide pas la variable de la partie droite de sa valeur. Par contre, le contenu de la variable réceptrice (située à gauche de l’affectation) est écrasé.

Exemple 1 :

0 Algorithme

1 Variables A, B, C, D : entier ;

2 Début

Calcul ;

3 A

10

;

4 B

30

;

5 C

A+B ;

6 D C*A

7 Fin

;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

10

Filière : MEER

Dans le tableau ci-dessous, on va expliquer ce qui se passe quand on exécute notre algorithme (les lignes sont numérotées seulement pour faciliter l’explication):

Variable

N° de ligne

 
 

1 2

3

4

5

6

A

? ?

10

10

10

10

B

? ?

?

30

30

30

C

? ?

?

?

40

40

D

? ?

?

?

?

400

Exemple 2 :

0 Algorithme

1 Variables A, B, C : Booléen ;

2 Début

Logique ;

3 A

Vrai ;

4 B

Faux ;

5 C A et B ;

6 Fin

Dans le tableau ci-dessous, on va expliquer ce qui se passe quand on exécute notre algorithme :

Variable

 

N° de ligne

1

2

3

4

5

 

A ?

?

Vrai

Vrai

Vrai

 

B ?

?

?

Faux

Faux

 

C ?

?

?

?

Faux

IV.2 L’instruction Lire « instruction d’entrée »

L’instruction Lire (d’entrée ou de lecture) permet de demander à l’utilisateur de saisir une valeur au clavier. Cette valeur sera affectée à la variable désignée (attention au type !!!).

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

11

Filière : MEER

Syntaxe :

 

Lire (variable1) ;

Lire (variable2) ;

Lire (variable1, variable2,…) ;

Exemple :

 

Lire (A) ;

Lire (B) ;

Lire (A, B) ;

Remarque :

Lorsque le programme rencontre l’instruction Lire, l’exécution s’arrête et attend que l’utilisateur tape une valeur. Une fois la valeur entrée, l’exécution reprend son cours normalement.

IV.3 L’instruction Ecrire « instruction de sortie »

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

L’instruction de sortie (d’écriture) permet d’afficher des informations (contenu d’une variable et/ou un message) à l’écran.

Syntaxe :

Ecrire (variable) ;

Ecrire (''message'') ;

Ecrire (''message'', variable) ;

Exemple 1 :

Ecrire (A) ;

Signifie affiché à l’écran la valeur de la variable A.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

12

Filière : MEER

Exemple 2 :

Ecrire (''Donner la valeur de a :'') ;

Signifie affiché à l’écran le message suivant : Donner la valeur de a :

Exemple 3 :

A

2;

B

A+5 ;

Ecrire (''la valeur de B est = '', B) ;

La dernière instruction affiche à l’écran : la valeur de B est = 7

V- Les commentaires

Lorsqu’un algorithme devient long, il est conseillé d’ajouter des lignes de commentaires dans l’algorithme, c'est-à-dire des lignes qui ont pour but de donner des indications sur les instructions effectuées et d’expliquer le fonctionnement des différentes parties de l’algorithme (ou du programme) sans que le compilateur ne les prenne en compte.

Syntaxe :

∕∕ Commentaire sur une ligne

/* Commentaire sur plusieurs lignes *

Remarque :

Parfois on utilise les commentaires pour annuler l’action de quelques instructions dans un algorithme ou dans un programme au lieu de les effacer (voir l’exemple suivant) :

Variable

∕∕ Variable i : réel ;

i : entier ;

Début

 

i

5

;

* i

5

;

i

4*i

; *

Fin

Equivalents
Equivalents

Ecole Supérieure de Technologie de Guelmim

Variable

i : entier ;

Début

i 5

;

Fin

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

13

Filière : MEER

VI- Exercices d’application

Exercice 1 :

Ecrire un algorithme permettant de calculer la moyenne de deux entiers.

Exercice 2 :

Ecrire un algorithme qui demande la valeur du rayon pour calculer la surface d’un cercle.

Exercice 3 :

Ecrire un algorithme qui permute les valeurs de deux variables réels lues au clavier.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

14

Filière : MEER

«««« Annexe du chapitre1 »»»»

Traduction des instructions algorithmiques en langage C

I. Introduction :

Le

but

de

cette

annexe

est

de

traduire

les

différentes

instructions

algorithmiques vues dans le chapitre 1 en langage C.

II. Traduction des instructions :

II.1 Déclaration des variables

Pour pouvoir utiliser une variable, il faut la définir, c’est-à-dire lui donner un nom, mais surtout un type de donnée à stocker afin qu’un espace mémoire conforme au type de donnée qu’elle contient lui soit réservé. Une variable se déclare en C de la façon suivante :

type Nom_de_la_variable ;

Ou bien s'il y a plusieurs variables du même type :

type Nom_de_la_variable1, Nom_de_la_variable2,

;

InstructionInstructionInstructionInstruction algorithmiquealgorithmiquealgorithmiquealgorithmique

 

InstructionInstructionInstructionInstruction CCCC

 

Variable i, j : entier ;

 

int i, j ;

 

Variable a : réel ;

 

float a ;

ou

double a ;

Constante PI=3.14 ;

ou

# define PI 3.14 const float PI=3.14 ;

(sans ;)

Variable c1, c2 : caractère ;

 

char c1, c2 ;

 

Variable Prénom : chaîne*20 ;

 

char Prénom [20] ;

 

Variable a, b : booléen ;

 

n’existe pas. Il faut le définir

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

15

Filière : MEER

Remarques :

float : réel simple précision codé sur 4 octets (32 bits).

double : réel double précision codé sur 8 octets (64 bits).

Le langage C distingue les lettres minuscules des lettres majuscules. Les

identificateurs nom et Nom désignent donc deux variables différentes.

II.2 Instructions d’entrée et de sortie

InstructionInstructionInstructionInstruction algorithmiquealgorithmiquealgorithmiquealgorithmique

InstructionInstructionInstructionInstruction CCCC

Ecrire (''message'') ;

printf (''message'') ;

 

Si x est un entier :

printf (''la valeur de x est %d '', x) ;

scanf (''%d'', &x) ;

Si x est un réel (float ou double) :

Ecrire (''la valeur de x est '', x) ;

Lire (x)

printf (''la valeur de x est %f '', x) ;

scanf (''%f '', &x) ;

Si x est un caractère :

printf (''la valeur de x est %c '', x) ;

scanf (''%c'', &x) ;

Lire (a, b, c)

Si a est un entier, b est un réel et c est de type caractère :

scanf (''%d %f %c '', &a, &b, &c) ;

Remarques :

printf s’écrit avec un p minuscule et non avec un P majuscule.

scanf s’écrit avec un s minuscule et non avec un S majuscule.

printf (''Bonjour\n'') permet d’afficher Bonjour et \n ordonne le passage

à la ligne suivante.

II.3 L’affectation en C

L’affectation en C est symbolisée par le signe =. Sa syntaxe est la suivante :

Variable = expression (ou valeur) ;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

16

Filière : MEER

InstructionInstructionInstructionInstruction algorithmiquealgorithmiquealgorithmiquealgorithmique

InstructionInstructionInstructionInstruction CCCC

 

A 10

;

A = 10

;

B 4*a*c

;

B = 4*a*c

;

i i+1

;

i+ = 1

;

i i-1

;

i- = 1

;

II.4 les opérateurs arithmétiques, relationnels et logiques

InstructionInstructionInstructionInstruction

algorithmiquealgorithmiquealgorithmiquealgorithmique

+

/

>

<

<=

>=

+ − ∗ / > < <= >= InstructionInstructionInstructionInstruction CCCC + − ∗

InstructionInstructionInstructionInstruction CCCC

+

/

>

<

<=

>=

InstructionInstructionInstructionInstruction

algorithmiquealgorithmiquealgorithmiquealgorithmique

Mod (modulo)

div

x^n (x exposant n)

= (égal à)

<> (différent de)

^ n (x exposant n) = (égal à) <> (différent de) InstructionInstructionInstructionInstruction CCCC %

InstructionInstructionInstructionInstruction CCCC

%

(int)(x/y)

Pow(x, n)

== (égale à)

! = (différent de)

Ecole Supérieure de Technologie de Guelmim

ET logique

&&

OU logique

||

Non logique

!

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

16

Filière : MEER

Remarques :

L’opérateur / retourne un quotient entier si les deux opérandes sont des entiers (5/2 ⟹ 2). Il retourne un quotient réel si l’un au moins des opérandes est un réel (5/2.0 ⟹ 2.5).

L’opérateur % (reste de la division) ne s’applique qu’à des opérandes de type entier.

Pour calculer a b , on utilise la fonction . c(a, -) (d c : .( $$%#" ) de la librairie % ℎ. ℎ.

III. Les éléments de base d’un programme en C

Tout programme C doit contenir la fonction principale (principal). L’exécution d’un programme C entraine automatiquement l’appel de cette fonction.

Syntaxe :

% # ( )

Pour utiliser les fonctions qui permettent de lire et d’écrire dans les entrées/sorties, on utilise la directive # 3 61 < $ g . ℎ > (StanDard Input Output).

Pour utiliser les fonctions mathématiques standards, on utilise la directive # 3 61 < . >.

En C, toute instruction simple est terminée par point-virgule ;

Un bloc d’instructions est encadré par une paire d’accolades :{ bloc instructions }.

Un commentaire en C est compris entre // et la fin de la ligne ou bien entre /* et */.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

17

Filière : MEER

Chapitre II :

Les structures alternatives et répétitives

I. Les structures alternatives

I.1 Introduction

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

I.2 La structure Si….Alors….Sinon….FinSi

Syntaxe :

Si condition Alors

Instruction(s)1 ;

Sinon

Instruction(s)2 ;

FinSi

Une condition est une expression de type logique évaluée à vrai ou faux.

La condition est évaluée. Si elle 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, la machine saute directement à la première ligne située après le Sinon et exécute l’ensemble d’instructions2.

Exercice d’application :

Ecrire un algorithme qui affiche si un nombre entier saisi au clavier est pair ou impair.

« On dit qu’un nombre entier n est pair si le reste r de la division entière de n par 2 est égal à 0. Sinon il est impair.»

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

18

Filière : MEER

Solution :

Algorithme

Variables n, r : entier ; Début

Parité ;

Ecrire (''Donner la valeur de n :'') ;

Lire (n) ;

r n Mod 2

;

Si

r = 0

Alors

Ecrire (n, ''est pair'') ;

Sinon

Ecrire (n, ''est impair'') ;

Fin

FinSi

Deux blocs équivalents :

Les deux blocs d’instruction 1 et 2 sont équivalents.

Bloc 1

 

Bloc 2

Si condition Alors

Si non condition Alors

Instruction(s)1 ;

Le bloc 1 est équivalent au bloc 2

Instruction(s)2 ;

Sinon

Sinon

Instruction(s)2 ;

 

Instruction(s)1 ;

FinSi

FinSi

Exemple :

Bloc 1

 

Bloc 2

Si moyenne>=12 Alors

Si moyenne<12 Alors

Ecrire (''validé'') ;

Le bloc 1 est équivalent au bloc 2

Ecrire (''non validé'');

Sinon

Sinon

Ecrire (''non validé'');

 

Ecrire (''validé'') ;

FinSi

FinSi

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

19

Filière : MEER

Conditions composées :

Les conditions (ou expressions conditionnelles) peuvent aussi être composées (encore appelés complexes), c'est-à-dire formées de plusieurs conditions simples ou variables booléennes reliées entre elles par les opérateurs logiques ET, OU et NON.

Par exemple : La condition ''x est inclus dans l’intervalle h10, 20i'' est composée de deux conditions simples qui sont : ''x est supérieur à 10'' et ''x est inférieur à 20'' reliées par l’opérateur logique ET.

Exemple :

Ecrire un algorithme qui teste si une note saisie au clavier est comprise entre 0 et 20.

Solution :

Algorithme

Variable note : réel ;

Début

Test_note ;

Ecrire (''Entrer la note :'') ;

Lire (note) ;

Si note>=0 Et note<= 20 Alors

Ecrire (''La note'', note, ''est comprise entre 0 et 20'') ;

Sinon

Ecrire ('' La note'', note, ''n’est pas comprise entre 0 et 20'') ;

Fin

FinSi

Exercice d’application :

Ecrire un algorithme qui demande deux nombres entiers m et n à l’utilisateur et l’informe ensuite si le produit est négatif ou positif. On inclut dans l’algorithme le cas où le produit peut être nul.

Solution :

Algorithme Signe_Produit ; Variables m, n : entiers ; Début

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

20

Filière : MEER

Ecrire (''Entrer deux nombres entiers m et n :'') ;

Lire (m, n) ;

Si m = 0 ou n = 0 Alors

Ecrire (''Le produit est nul'') ;

Sinon

Si (m<0 Et n<0) Ou (m>0 Et n>0) Alors

Ecrire (''Le produit est positif'') ;

Sinon

Ecrire (''Le produit est négatif'') ;

Fin

FinSi

FinSi

Remarque :

Dans une condition composée employant à la fois des opérateurs Et et des opérateurs Ou, la présence de parenthèses possède une influence sur le résultat, tout comme dans le cas d’une expression numérique comportant des opérateurs numériques (×, +, −).

Important :

Dans le cas de tests imbriqués, le Sinon et le Si peuvent être fusionnés en un SinonSi. On considère alors qu’il s’agit d’un seul bloc de test, conclu par un seul FinSi. Il est donc plus commode d’écrire l’algorithme précédent sous la forme suivante :

Algorithme Signe_Produit ; Variables m, n : entiers ; Début

Ecrire (''Entrer deux nombres entiers m et n :'') ;

Lire (m, n) ;

Si m = 0 ou n = 0 Alors

Ecrire (''Le produit est nul'') ;

Sinon Si (m<0 Et n<0) Ou (m>0 Et n>0) Alors

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

21

Filière : MEER

Ecrire (''Le produit est positif'') ; Sinon

Ecrire (''Le produit est négatif'') ;

Fin

FinSi

I.3 La structure Si….Alors….FinSi (structures conditionnelle au sens strict)

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 :

Si condition Alors

Instruction(s) ;

FinSi

I.4 La structure Si….Alors….Sinon Si…Sinon…FinSi

Syntaxe :

Si condition1 Alors

Instruction 1 ;

Sinon Si condition2 Alors

Instruction 2 ;

Sinon Si condition3 Alors

Instruction 3 ;

Sinon

Instruction n ;

FinSi

Explication :

Ceci se traduit comme suit :

Exécuter l’instruction 1 si est seulement si la condition 1 est vraie. Exécuter l’instruction 2 si et seulement si la condition 1 est fausse et la condition 2 est vraie.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

22

Filière : MEER

Exécuter l’instruction 3 si et seulement si les conditions 1 et 2 sont fausses et la condition 3 est vraie.

….

Exécuter l’instruction n si et seulement si les conditions de 1 à n-1 sont fausses et la condition n est vraie.

Si aucune des conditions de la structure n’est vraie, exécuter l’instruction qui suit le Sinon.

Exercice d’application :

Sachant qu’un étudiant est admis lorsqu’il a 10 de moyenne, qu’il a la mention passable si sa note est inférieure à 12, la mention assez bien si sa note est inferieure à 14, la mention bien si note est inférieure à 16, la mention très bien si sa note est inferieure à 18 et la mention excellent à partir de 18. Ecrire l’algorithme qui affiche si l’étudiant est admis, ainsi que sa mention éventuelle.

Solution :

Algorithme résultat ; Variable note : réel ; Début

Ecrire (''Donner la note obtenue'') ; Lire (note) ;

Si

Ecrire (''non admis'') ; Sinon Si note < 12 Alors Ecrire (''admis avec la mention : passable'') ; Sinon Si note < 14 Alors Ecrire (''admis avec la mention : Assez Bien'') ; Sinon Si note < 16 Alors Ecrire (''admis avec la mention : Bien'') ; Sinon Si note < 18 Alors Ecrire (''admis avec la mention : Très bien'') ; Sinon Ecrire (''admis avec la mention : Excellent'') ; FinSi

note < 10 Alors

Fin

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

23

Filière : MEER

I.5 Structure à choix multiples

Cette structure conditionnelle est appelée aussi à choix multiples ou sélective car elle sélectionne entre plusieurs choix à la fois, et non entre deux choix alternatifs (le cas de la structure Si).

Syntaxe :

Selon sélecteur faire

Cas valeur 1 : action(s) 1 ;

Cas Valeur 2 : action(s) 2 ;

Cas valeur 3 : action(s) 3 ;

………………………

Cas valeur n : action(s) n ;

Sinon

Action(s) ;

FinSelon

Le sélecteur peut être une variable de type scalaire ou une expression arithmétique ou logique. La structure Selon évalue le sélecteur, passe à comparer sa valeur respectivement avec les valeurs dans les listes. En cas d'égalité avec une valeur, les actions correspondantes, qui sont devant cette valeur seront exécutées. Devant "Cas", il peut y avoir une seule valeur, une suite de valeurs séparées par des virgules et/ou un intervalle de valeurs. Après avoir traité la suite d'actions correspondante, l'exécution se poursuit après le FinSelon. On peut utiliser une instruction Sinon (facultative), dont l’action sera exécutée si aucune des valeurs évaluées n’a été remplie.

Exemple :

Ecrire un algorithme permettant d’afficher le mois en toute lettre selon son numéro saisi au clavier.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

24

Filière : MEER

Solution :

Algorithme mois ; Variable N : entier ; Début

Ecrire (''Donner le numéro du mois'') ; Lire (N) ; Selon N faire Cas 1 : Ecrire (''Janvier'') ; Cas 2 : Ecrire (''Février'') ; Cas 3 : Ecrire (''Mars'') ; Cas 4 : Ecrire (''Avril'') ; Cas 5 : Ecrire (''Mai'') ; Cas 6 : Ecrire (''Juin'') ; Cas 7 : Ecrire (''Juillet'') ; Cas 8 : Ecrire (''Août'') ; Cas 9 : Ecrire (''Septembre'') ; Cas 10 : Ecrire (''Octobre'') ; Cas 11 : Ecrire (''Novembre'') ; Cas 12 : Ecrire (''Décembre'') ; Sinon Ecrire (''numéro saisi incorrect'') ; FinSelon

Fin

II. Les structures répétitives ou boucles

II.1 Introduction

Les structures répétitives appelées aussi boucles, permettent de répéter une instruction ou une liste d’instructions autant de fois qu’il est nécessaire : soit un nombre déterminé de fois, soit tant qu’une condition est vraie. Il existe trois grands types principaux de structures répétitives :

La structure Tant que…Faire, qui permet d’effectuer une instruction tant qu’une condition est satisfaite.

La structure Pour…jusqu’à…Faire qui permet de répéter une instruction un certain nombre de fois.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

25

Filière : MEER

La structure Répéter…jusqu’à, qui comme son nom l’indique, permet de répéter une instruction jusqu’à ce qu’une condition soit satisfaite.

II.2 La boucle Tant que….Faire

La boucle Tant que…Faire permet de répéter un traitement tant que la condition est vraie.

Syntaxe :

Tant que condition faire

Instruction(s) ;

FinTantque

Explication :

L’exécution de la boucle dépend de la valeur de la condition. Si elle est vraie, le programme exécute les instructions qui suivent, jusqu’à ce qu’il rencontre la ligne FinTantque. Il retourne ensuite sur la ligne du Tant que, procède au même examen, et ainsi de suite.

La boucle ne s’arrête que lorsque la condition prend la valeur fausse, et dans ce cas le programme poursuit son exécution après FinTantque.

Remarque :

Si on a une structure Tant que…Faire dans laquelle la condition ne devient jamais fausse, le programme tourne dans une boucle infinie et n’en sort plus.

Exemple : Boucle infinie :

Algorithme Bonjour ; Variable I : entier ; Début

I

Tant que 7 <= 10 faire

1 ;

Ecrire (''Bonjour'') ;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

26

Filière : MEER

FinTantque

Fin

II.3 La boucle Pour….jusqu’à…Faire

La boucle Pour…jusqu’à…Faire permet de répéter une liste d’instructions un nombre connu de fois.

Syntaxe 1:

Pour compteur valeur_initale jusqu’à valeur_finale [pas de valeur_pas] faire

Instruction(s) ;

FinPour

Syntaxe 2:

Pour compteur allant de valeur_initale jusqu’à valeur_finale [pas de valeur_pas] faire

Instruction(s) ;

FinPour

Exemple :

Pour i 2 jusqu’à 10 [pas de 2] faire

Ecrire (i) ;

FinPour

Cet algorithme permet d’afficher tous les nombres pairs qui existent entre 1 et 10.

Remarques :

La boucle Pour…faire est utilisée lorsqu’on connait le nombre de répétition d’avance.

La variable compteur est de type entier. Elle est initialisée à la valeur initiale.

La valeur du pas peut être positive ou négative.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

27

Filière : MEER

Si on ne déclare pas le pas, le compteur augmente sa valeur automatiquement de un (1) à chaque tour de boucle jusqu’à la valeur finale.

Exemple :

Algorithme Bonjour ; Variable k : entier ; Début

Pour k 0 jusqu’à 10 faire

Ecrire (''7*'',k, ''='',7*k) ;

Fin

Ecrire (''\'') ;

FinPour

Affichent à l’écran la table de multiplication de 7.

7

∗ 0

=

0

7 ∗ 4

= 28

7 ∗ 8

= 56

7

∗ 1

=

7

7 ∗ 5 = 35

7 ∗ 9 = 63

7

∗ 2

=

14

7 ∗ 6

=

42

7 ∗ 10 = 70

7

∗ 3 = 21

7 ∗ 7 = 49

II.4 La boucle Répéter….Jusqu’à

Cette boucle sert à répéter une instruction jusqu’à ce qu’une condition soit vraie

Syntaxe :

Répéter

Instruction(s) ;

Jusqu’à condition

La liste d’instructions est exécutée, puis la condition est évaluée. Si elle est fausse, le corps de la boucle est exécuté à nouveau puis la condition est réévaluée et si elle a la valeur ''vrai'', le programme sort de la boucle et exécute l’instruction qui suit Jusqu’à.

Ecole Supérieure de Technologie de Guelmim

………

Fin

du chapitre 2……

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

28

Filière : MEER

«««« Annexe du chapitre2 »»»»

Traduction des instructions algorithmiques en langage C

I. Introduction :

Le

but

de

cette

annexe

est

de

traduire

les

différentes

instructions

algorithmiques vues dans le chapitre 2 en langage C.

II. Traduction des instructions :

Instruction algorithmique

Instruction C

if (condition)

{

Instruction(s) ;

}

N.B :

La condition doit être entre des parenthèses.

Pas de then après la condition.

Pour une seule instruction, les

pas

ne

accolades

obligatoires.

sont

Si condition Alors

Instruction(s) ; FinSi

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

29

Filière : MEER

Instruction algorithmique

Instruction C

 

if (condition)

{

Si condition Alors

Instruction(s) 1 ;

Instruction(s) 1 ;

}

Sinon

else

Instruction(s) 2 ; FinSi

{

Instruction(s) 2 ;

}

 

if (condition1)

{

Instruction 1 ;

Si condition1 Alors

}

Instruction 1 ;

else if (condition2)

Sinon Si condition2 Alors

{

Instruction 2 ;

Instruction 2 ;

Sinon Si condition3 Alors

}

Instruction 3 ;

else if (condition3)

Sinon

{

Instruction 4 ;

Instruction 3 ;

FinSi

}

else

{

Instruction 4 ;

}

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

30

Filière : MEER

Instruction algorithmique

Instruction C

 

Switch (variable)

{

Case 1 :

action(s) 1 ;

break ;

Selon sélecteur faire

Case 2 :

Cas valeur 1 : action(s) 1 ;

action(s) 2 ;

Cas Valeur 2 : action(s) 2 ;

break ;

Cas valeur 3 : action(s) 3 ;

Case 3 :

Cas valeur n : action(s) n ;

action(s) 3 ;

Sinon

break ;

Action(s) ;

Case n :

FinSelon

action(s) n ;

break ;

default :

action(s) ;

break ;

}

Instruction algorithmique

Instruction C

Tant que condition faire

Instruction(s) ;

FinTantque

while (condition)

{

Instruction (s) ;

}

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

31

Filière : MEER

Instruction algorithmique

 

Instruction C

 
 

for (

=

0 ;

<= 10 ;

+ +)

Pour 0 jusqu’à 10 faire

 

{

Instruction(s) ;

 

Instruction (s) ;

 

FinPour

 

}

 

for (

=

0 ;

<= 10 ;

= + 2)

Pour 0 jusqu’à 10 pas de 2 faire

 

{

Instruction(s) ;

 

Instruction (s) ;

 

FinPour

 

}

Instruction algorithmique

 

Instruction C

 
 

do

 

Répéter

 

Instruction(s) ;

{

Jusqu’à condition

 

Instruction (s) ;

 

}

while (condition) ;

………

Ecole Supérieure de Technologie de Guelmim

Fin

de l’annexe du chapitre 2……

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

32

Filière : MEER

Chapitre III :

Les Tableaux

I. Introduction

Imaginons que dans un programme, nous avons besoin d’un grand nombre de variables, il devient difficile de donner un nom à chaque variable. Prenons par exemple le cas où l’on veut écrire un algorithme permettant de calculer la moyenne de dix notes. Evidemment, la seule solution dont nous disposons à l’heure actuelle consiste à déclarer dix variables réelles, appelées par exemple N1, N2, N3, … , N10 et la variable réelle moyenne :

Algorithme moyenne ;

Variables

Début

N1, N2, N3, N3, N4, N5, N6, N7, N8, N9, N10, moyenne : réel ;

Ecrire (''Entrer la valeur de la 1 ère note'') ; Lire (N1) ; Ecrire (''Entrer la valeur de la 2 ème note'') ; Lire (N2) ;

Ecrire (''Entrer la valeur de la 10 ème note'') ; Lire (N10) ;

moyenne ← (N1 + N2 + N3 + ⋯ + N10)/10 ; Ecrire (''La moyenne est :'', moyenne) ;

Fin

Remarquons que la même instruction se répète dix fois. Imaginons que l’on voudrait réaliser cet algorithme avec 100 notes, cela allonge considérablement l’algorithme et le rend très répétitif.

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

33

Filière : MEER

Pour résoudre ce problème, on fait appel à un type de données, appelé tableaux, qui permet de définir plusieurs variables de même type et de les rassembler en une seule.

II. Définition

Un tableau est un ensemble de variables de même type, désignées par un même nom, et distinguées les unes des autres par leur numéro (appelé aussi indice). Nous pouvons représenter schématiquement un tableau nommé Note composé de dix cases, dans la mémoire comme suit :

Note

Note[1]

Note[2]

Note[3]

Note[4]

Note[5]

Note[6]

Note[7]

Note[8]

Note[9]

Note[10]

12

5

14

16

2,5

11

18

6

8

18

Nous disposons alors de dix variables. Pour les nommer, on indique le nom du tableau suivi de son indice entre crochets : La première s’appelle Note[1], la deuxième Note[2],…, la dixième Note[10]. Note[4] représente le 4 ème élément du tableau Note et vaut 16. Il ne faut pas confondre l’indice d’un élément d’un tableau avec son contenu.

III. Tableau à une dimension

III.1 Déclaration

Comme les variables d’un tableau doivent être de même type, il convient de préciser ce type au moment de la déclaration du tableau. De même, on précise lors de la déclaration du tableau le nombre de variables qu’il contient. La syntaxe est :

Syntaxe :

Ou bien :

Variable identificateur : tableau[indice_min

indice_max]

de type_éléments

Variable identificateur : tableau[taille] de type_éléments

Exemple :

Variable note : tableau[1…10] de réels

Variable T : tableau[15] d’entiers

Variable nom_clients : tableau[1…20] de chaînes

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

34

Filière : MEER

Explication :

L’instruction suivante déclare un tableau de 10 éléments de type réel :

Variable note : tableau[1…10] de réels

o

note : c’est le nom du tableau (identificateur)

o

1 : c’est l’indice du premier élément du tableau

o

10 : c’est l’indice du dernier élément du tableau

Remarques :

Lorsqu’on déclare un tableau, on déclare aussi de façon implicite toutes les variables indicées qui le constituent.

La valeur d’un indice doit être un nombre entier.

la valeur de l’indice doit être comprise entre les valeurs minimales et

maximales déterminées à la déclaration du tableau. Par exemple, avec le

il est impossible d’écrire Note[0] et Note[11]. Ces

tableau Note[1

10],

expressions font référence à des éléments qui n'existent pas.

En règle générale, l’indice minimum vaut 1. Mais on peut aussi utiliser un autre indice minimum comme 0. Dans ce cas, l’indice maximum sera égal au nombre d’éléments -1.

Lorsque l’indice minimum est 1, la taille du tableau (nombre de ses éléments) est égale à la valeur de l’indice maximum.

III.2 Utilisation

Les éléments d’un tableau sont des variables indicées qui s’utilisent exactement comme n’importe quelles autres variables classiques. Elles peuvent faire l’objet d’une affectation, elles peuvent figurer dans une expression arithmétique, dans une comparaison, elles peuvent être affichées et saisies…etc.

L’utilisation d’un élément se fait via le nom du tableau et un indice. L’indice d’un élément peut être :

o

une valeur

(Exemple : Note[4])

o

une variable

(Exemple : Note[i])

o

une expression

(Exemple : Note[i+1])

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

35

Filière : MEER

Exemple 1 :

Pour affecter à une variable X la valeur du deuxième élément du tableau Note, on utilise l’instruction suivante :

X ← Notei2h

Exemple 2 :

Pour afficher le contenu du quatrième élément du tableau Note, on utilise l’instruction suivante :

Ecrire (Notei4h)

Exemple 3 :

Pour affecter une valeur introduite par l’utilisateur à l’élément trois du tableau Note, on utilise l’instruction suivante :

Lire (Notei3h)

Parcours complet d’un tableau :

Le fait que les éléments d’un tableau soient indicés permet de parcourir tous ces éléments avec une boucle, en utilisant une variable qui sert d’indice et s’incrémente à chaque tour de boucle.

Exercice d’application :

Ecrire un algorithme permettant de saisir 30 notes et de les afficher après avoir multiplié toutes ces notes par un coefficient entier fourni par l’utilisateur.

Solution :

Algorithme note ;

Variable Note : tableau[1…30] de réels ;

Début

Coef, i : entier

;

Ecrire (''Donner le coefficient'') ; Lire (Coef) ; Pour i 1 jusqu’à 30 Faire Ecrire (''Entrer la valeur de la note'', i) ; Lire (Note[i]) ;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

36

Filière : MEER

FinPour Pour i 1 jusqu’à 30 Faire Ecrire (Note[i]*Coef) ; FinPour

Fin

IV. Tableau à deux dimensions

Reprenons l’exemple des notes en considérant cette fois qu’un étudiant a plusieurs notes (une note pour chaque matière). Pour quatre étudiants, nous aurions le tableau de relevés des notes suivant :

Etudiant 1

Etudiant 2

Etudiant 3

Etudiant 4

Matière 1

12

13

9

10

Matière 2

12,5

6

12

11

Matière 3

11,5

12

10

15

Un tableau à deux dimensions se représente comme une matrice ayant un certain nombre de lignes (première dimension) et un certain nombre de colonnes (seconde dimension).

Nous pouvons représenter schématiquement un tableau de 3 lignes et de 4 colonnes comme suit :

Indices du tableau

1 2 3 4 1 12 13 9 10 2 12,5 6 12 11 3
1
2
3
4
1
12
13
9
10
2
12,5
6
12
11
3
11,5
12
10
15

Ecole Supérieure de Technologie de Guelmim

Contenu du tableau

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

37

Filière : MEER

IV.1 Déclaration

Syntaxe :

Variable identificateur : tableau[1

Ou bien :

nbre_lignes,

1…nbre_colonnes] de type_éléments

Variable identificateur : tableau[nbre_lignes, nbre_colonnes] de type_éléments

Exemple :

L’instruction suivante déclare un tableau Note de type réel à deux dimensions composé de 3 lignes et de 4 colonnes :

Variable Note : tableau[3,4] de réels

IV.2 Utilisation

Pour accéder à un élément d’une matrice (tableau à deux dimensions), il suffit de préciser, entre crochets, les indices de la case contenant cet élément. Les éléments d’une matrice peuvent être utilisés comme n’importe quelle variable.

Exemple :

Soit l’instruction suivante : X ⟵ Notei2,3h

Cette instruction affecte à la variable X la valeur de l’élément Notei2,3h

Parcours complet d’un tableau à deux dimensions :

Pour parcourir une matrice, nous avons besoin de deux boucles, l’une au sein de l’autre, c’est ce qu’on appelle les boucles imbriquées. La première boucle par exemple est conçue pour parcourir les lignes tandis que la deuxième est utilisée pour parcourir les colonnes.

Exercice d’application :

Ecrire un algorithme permettant la saisie des notes de votre classe MEER2, composé de 39 étudiants, en 8 matières.

Solution :

Algorithme notes ;

Variable Note : tableau[39,8] de réels ;

Début

i, j : entier

;

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

38

Filière : MEER

Pour i 1 jusqu’à 39 Faire Pour j 1 jusqu’à 8 Faire Ecrire (''Entrer la valeur de l’étudiant'', i,''dans la matière'', j) ; Lire (Note[i,j]) ; FinPour FinPour

Fin

Ecole Supérieure de Technologie de Guelmim

………

Fin

du chapitre 3……

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

39

Filière : MEER

«««« Annexe du chapitre3 »»»»

Traduction des instructions algorithmiques en langage C

I. Introduction :

Le

but

de

cette

annexe

est

de

traduire

les

différentes

instructions

algorithmiques vues dans le chapitre 3 en langage C.

II. Traduction des instructions :

Instruction algorithmique

Instruction C

Variable Note : tableau [1…5] de réels ;

Ou

Variable Note : tableau [5] de réels ;

float Note[5] ;

Note :

L’indice du premier élément est 0 et non pas 1.

Variable Note : tableau [1…39,1…8] de réels ;

Ou

float Note[39][8] ;

Variable Note : tableau [39,8] de réels ;

………

Fin

de l’annexe du chapitre 3……

Ecole Supérieure de Technologie de Guelmim

MOHAMMED ER-RAKI

Informatique 2 : Initiation à l’algorithmique

40

Filière : MEER

LeLeLeLe motmotmotmot cléclécléclé breakbreakbreakbreak indiqueindiqueindiqueindique lalalala sortiesortiesortiesortie dededede lalalala structurestructurestructurestructure conditionnelle.conditionnelle.conditionnelle.conditionnelle. LLLLeeee motmotmotmot cléclécléclé defaultdefaultdefaultdefault précèdeprécèdeprécèdeprécède lalalala listelistelisteliste d'instructionsd'instructionsd'instructionsd'instructions quiquiquiqui seraseraserasera exécutéeexécutéeexécutéeexécutée ssssiiii l'expressionl'expressionl'expressionl'expression n'estn'estn'estn'est jamaisjamaisjamaisjamais égaleégaleégaleégale àààà uneuneuneune desdesdesdes valeurs.valeurs.valeurs.valeurs.

C'estC'estC'estC'est ainsiainsiainsiainsi

que fonctionne un « switch ». Si l'on désire exécuter juste

queque fonctionnefonctionne unun «« switchswitch ».». SiSi l'onl'on désiredésire exécutexécuterer justejuste

que fonctionne un « switch ». Si l'on désire exécuter juste

l'instruction associée à un « case », il faut ajouter l'instruction break

l'instructionl'instruction associéeassociée àà unun «« casecase »,», ilil fautfaut ajou