STRUCTURE DE BASE D’UN ALGORITHME

 

1-Définitions

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) en un temps précis.

L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes.

Le Langage de Définition des Algorithmes (LDA) est une façon de décrire les algorithmes en langage presque naturel, sans référence a un langage de programmation particulier.

2-Caractéristiques d’un bon algorithme

Un algorithme doit avoir les propriétés suivantes :

-clarté : il doit être facile à comprendre et à interpréter

-précis : chaque élément de l’algorithme ne doit pas prêter à confusion, il est donc important de lever toute ambiguïté ;

-structuré : un algorithme doit être composé de différentes parties facilement identifiables.

-documenté : On doit insérer des commentaires qui étayent la compréhension du programme.

-efficacité : Les opérations doivent être suffisamment simples et s’exécuter le plus rapidement possible.

 

3-Importance de l’algorithme.

Un algorithme, traduit dans un langage compréhensible par l’ordinateur (ou langage de programmation), donne un programme informatique, qui peut ensuite être exécuté pour effectuer le traitement souhaité. Donc l’algorithme facilite l’écriture des programmes informatiques. Si un programme informatique était une dissertation, l’algorithme devait constituer le plan de cette dissertation.

L’écriture algorithmique est un travail de programmation à visée « universelle ». En effet, un algorithme ne dépend pas :

 -du langage dans lequel il est implanté,

-ni de la machine qui exécutera le programme correspondant.

4-Représentation des algorithmes

On utilise généralement une série de conventions appelées LDR (Langage de Définition des Algorithmes). On utilise également des algorigrammes (représentation graphique des algorithmes).

 

LES ELEMENTS DE BASE

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

Les constantes

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

 Les variables

Une variable est un objet dont le contenu peut être modifié par une action durant l’exécution d’un algorithme.

Une variable est caractérisée par son nom, sa valeur et son type :

 

Exemple : age_du_visiteur =17.

Nom : pour pouvoir reconnaitre la variable (age_du_visiteur).

Valeur : c'est l'information qu'elle contient, qui peut changer. (17).

Type : entier

 

Remarques :

1) Le nom d’une variable doit commencer obligatoirement par une lettre. Il doit être formé d’une ou de plusieurs lettres, les chiffres sont également autorisés. Aucun espace ne doit figurer dans le nom d’une variable. Il vaut mieux remplacer les espaces par la touche (underscore) «  _ » du clavier. De même, il est préférable que le nom donné à une variable soit évocateur de l’information qu’elle contient.

2) On peut modifier quand on veut la valeur d’une variable, faire des opérations dessus, etc.

 

TYPES DES DONNEES DE BASE

Les variables sont capables de stocker différents types d'informations. On parle de types de données. Voici les principaux types à connaître

Les types numériques :

Les types numériques les plus connus sont l’entier et le réel :

·         Le type entier (int) : ce sont les nombres du type 1, 2, 3, 4, etc. On compte aussi parmi eux les nombres relatifs : -1, -2, -3...

Exemple : 42

·         Le type réel :

Le type réel recouvre un ensemble de nombres réels qui ne correspond pas toujours aux réels en mathématiques. Il comprend les nombres décimaux (float) qui sont les nombres à virgule comme 14,738. Le traitement et l’affichage des données de ce type se font à virgule flottante, c’est à-dire qu’il est possible de les écrire en déplaçant le point à volonté et en utilisant une puissance appropriée dans la base choisie.

 

Exemple : 235.67= 0.23567.103=23467.10-2

On note aussi 0.23567E3

 

Le type booléen (bool) :

C'est   un type très important qui ne permet de stocker que deux valeurs, par exemple vrai ou faux (on écrit true pour vrai, et false pour faux) ; masculin ou féminin pour la variable sexe.

 

Le type caractère :

Il appartient à l’une des catégories suivantes :

-       Les chiffres de 0 à 9

-       Les lettres de l’alphabet (de A à Z) majuscules et minuscules.

-       Les caractères spéciaux +,-,*,/ ;, : etc.. qui correspondent aux touches du clavier, y compris les touches de fonction telles que la barre d’espacement et la touche entrée.

Une variable caractère occupe un octet en mémoire. A chaque caractère correspond un nombre qui est un entier compris entre 0 et 255, donné par le code ASCII.

 

Remarques :

-Un caractère est placé entre 2 guillemets.

Exemple : ‘’ a ‘’ ; ‘’ g’’ ; ‘’ 1 ‘’.

-Un caractère vide est représenté par deux paires de guillemets ‘’   ‘’

-Une variable de type caractère ne peut contenir qu’un et un seul caractère

-Tous les caractères sont ordonnés selon leur code ASCII variant de 0 à 255.

Type chaine de caractères

Une chaine de caractère est un regroupement de plusieurs caractères. La chaîne de caractères est le nom informatique qu'on donne au texte.  On peut stocker des textes courts comme de très longs textes au besoin.

 

Exemples:

·         "Je suis un texte". Une chaîne de caractères est habituellement écrite entre guillemets ou entre apostrophes (on parle de guillemets simples) : 'Je suis un texte'. Les deux fonctionnent mais il ne faut pas les mélanger.

·         « bonjour »

Attention : 234 peut désigner le nombre deux cent trente- quatre comme il peut désigner une suite de caractère 2, 3,4. Dans ce dernier cas, on écrit entre guillemets ‘’ 234 ‘’ pour faire la différence.

 

LES PARTIES D’UN ALGORITHME

 

L’entête

La première ligne d’un algorithme est le profil (entête). Elle donne essentiellement le nom de l’algorithme. Les débuts de mots sont en lettres majuscules.

 

Déclaration des variables et des constantes

Après le profil, suivent les déclarations des variables. Ces variables sont de divers ordres : les réels, les entiers, les chaines de caractère

Les délimiteurs de début et de fin

Comme leur nom indique, les délimiteurs représentent le début et la fin de l’algorithme. 

Le corps de l’algorithme

Le corps de l’algorithme représente la zone où les différentes instructions de l’algorithme se situent. En général, la structure d’un algorithme peut se résumer par les lignes suivantes.

 

Algorithme nom Algorithme                                                                          ← profil

 

                                    //Insérer ici les déclarations des variables.

Début                                                                                                     ← délimiteur de début

                                  //insérer ici les différentes instructions constituant le corps de l’algorithme

 

 

 

           Fin                                                                                                                     ← délimiteur de fin

EXERCICES

CONTROLE DES CONNAISSANCES

1-Définir : algorithme ; algorithmique ; variable, constante

2-Citer 03 types de données utilisées en algorithmique

3-Citer 02 caractéristiques d’un bon algorithme.

4-Citer 02 façons de représenter les algorithmes.

5-Citer 02 parties d’un algorithme.

 

EXERCICE I:

Votre maman prépare un repas. Elle utilise : 5kg de manioc, une marmite, de l’eau, du sel, du bois. Parmi les éléments cités ci-dessus,

a) lesquels peuvent être considérés comme constants au cours de la cuisson ?

b) Lesquels peuvent être considérés comme variables au cours de la cuisson ?

 

EXERCICE II: Donnez le type des données suivantes:

a)'Bienvenue au Cameroun' ;

b)-300 ;

c)81;

d)'81’ ;

e) 260, 58 ;

f)@ ;

i)Faux ;

j)‘Maroc’.

 

EXERCICE III:

N est une variable de type entier telle que : N 4

P et R sont des variables de types chaines de caractère tel que : P Maroc

 

Instruction

Valeur affichée

Ecrire(N)

 

Ecrire ('vive')

 

Ecrire(P)

 

Ecrire ('N')

 

Ecrire (N+6)

 

R  'vive le '+P

 

Ecrire(R)

 

 

EXERCICE IV :

A              8*5

B              4^ 2

N              A+B

P              N-20

 

R              B/3

X              B Mod 3

Y               Div(B,3)

C                ‘Lycée’

 

D     ’Lecler’

E     C+D

F     3<5

G     2>4

H     1<8

 

Questions :

A vaut………….                   E vaut………     F prend la valeur…………….

B vaut…………                  R vaut…………  G prend la valeur…………….

Y vaut……                          N vaut…………H prend la valeur………………..        

X vaut…………                  P vaut…………

 

EXERCICE  V:

Soit la séquence d’instructions suivantes :

1. A             5

2. B             7

3. A             A + B

4. B             A – B

5. A            A – B

a-Déterminer les valeurs des variables A et B après l’exécution des instructions précédentes.

b- Qu’a fait cet algorithme

 

EXERCICE VI : Soit la séquence d’instructions suivantes :

X.        ←.       5

Y                 X/2

Z                 X mod 2

W                X+Y

T                  Y Div 3

1. Présenter le tableau de déclaration des objets utilisés dans cette séquence et justifier le choix du type.

2. Lors de l’écriture de ces instructions, une erreur a été commise, donnez l’instruction qui comporte cette erreur puis proposer une solution pour la corriger.

 

EXERCICE VII : A, B, C et D sont quatre variables logarithmiques. Complétez le tableau suivant :

INTRUCTION

Variables

A

B

C

D

B 2

 

 

 

 

C B+10

 

 

 

 

A 4

 

 

 

 

D A

 

 

 

 

B B*D

 

 

 

 

C B+5

 

 

 

 

A 10+4+C

 

 

 

 

CA+B+D

 

 

 

 

 

 

EXERCICE VIII: Soit l’algorithme suivant :

Algorithme Calcul

Variable A, B, S: réels;

Début

                                    A            50 ;

                                    B            20 ;

                                   S           A*B + 13 ;

                                    A            70;

Fin

1.-Identifier les parties de cet algorithme

2-Quels seront les contenus de A, B, S après exécution de cet algorithme.         

 

 

 

 

 

 

CORRIGES

CONTROLE DE CONNAISSANCES

1- 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) en un temps précis.

L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes.

Une variable est un objet dont le contenu peut être modifié par une action durant l’exécution d’un algorithme.

Une constante est une donnée fixe qui ne varie pas durant l’exécution d’un algorithme

 

2-Types de données : entiers, réels, caractère, chaine de caractère…

3-un bon algorithme doit être bien structure et claire.

4-utiliser le pseudo-code appelé LDA ou la représentation graphique (algorigramme)

5-partie déclarative et corps de l’algorithme

 

4-

EXERCICE I :

Éléments constants au cours de la cuisson : manioc ; marmite

Eléments variables au cours de la cuisson : eau, sel, bois

 

EXERCICE II :

Type chaine de caractère : ‘maroc’ ; ‘bienvenue au Cameroun’

Type caractère :’81’ ; @

Type entier : -300 ; 81

Type réel : 260,58

Type booléen : faux

 

 

EXERCICE III :

 

Instruction

Valeur affichée

Ecrire(N)

4

Ecrire ('vive')

Vive

Ecrire(P)

Maroc

Ecrire ('N')

N

Ecrire (N+6)

10

R  'vive le '+P

‘Vive le’Maroc

Ecrire(R)

Vive le Maroc

 

 

 

EXERCICE IV :

 

A=40

B=16

C=Lycée

D=Lecler

E=Lycée Lecler

 

N=56

P=36

R=5,33

X=1

Y=5

F=Vrai

G=Faux

H=Vrai

 

EXERCICE  V:

1. A     =7; B  =5       

2. permutation

.

EXERCICE  VI :

 

1. X : entier ; Y : réel ; Z : entier ; W : réel et T : réel.

2. l’instruction T← Y DIV 3 comporte l’erreur car T étant le quotient de la division entière de Y par 3, Y devrait être un entier or ce n’est pas le cas.

 Proposition : T← Arrondi(Y) DIV 3

Rappels :

Trunc(x) permet d’extraire la partie entière de x

Arrondi(x) permet d’arrondir une valeur réelle à un entier le plus proche.

 

EXERCICE VII : A=27 ; B=8 ; C=39 et D=4.    

 

EXERCICE VIII :

1. Profil ou en-tête: Algorithme Calcul

Déclaration des variables : variable A, B, S : réels ;

 

Corps de l’algorithme :

Délimiteur du début :        Début

A          50;

B          20;

 S          A*B + 13;

A            70;

Délimiteur du début :        Fin

2. A=70; B=20; S=1013

EXERCICE IV:

1-03 instructions

2-Cet algorithme demande à l'utilisateur de taper 5 notes et affiche leur moyenne.