LES ACTIONS ALGORITHMIQUES SIMPLES
Objectif : Comprendre les actions algorithmiques simples et connaître leurs syntaxes
Éléments de contenu :
Concepts de base
La saisie de données
L’affichage
L’affectation
L’évaluation d’une expression arithmétique
Concepts de base
Dans tout ce qui suit, pour présenter les syntaxes, on suit les règles suivantes :
Ce qui est entre les crochets est optionnel.
La suite des points de suspensions « … » veut dire que ce qui précède peut se répéter plusieurs fois.
Le symbole » | » veut dire : » ou bien « .
Les mots en majuscule sont des mots réservés.
Ce qui est entre accolades est un commentaire, pour la lisibilité des algorithmes.
L’affichage : ECRIRE
Cette action permet de communiquer un résultat ou un message sur écran ou sur imprimante pour l’utilisateur.
Syntaxe
ECRIRE(paramètre1 [[,paramètre2]…])
Paramètre = variable | expression | constante
Constante = nombre | message
1-e) Exemples
ECRIRE( » La valeur de 3*2 est égale à « , 3*2)
message expression
ECRIRE( » La moyenne est = « , MOY)
Variable
La saisie des données : LIRE
L’ordre LIRE permet à l’ordinateur d’acquérir des données à partir de l’utilisateur, dans des cases mémoire bien définies (qui sont les variables déclarées).
Rappel
Les variables sont des cases mémoire, supposées contenir un type de données, nommées par le nom de variable.
Syntaxe
LIRE(variable1 [[, variable2] …])
Remarques :
1. La saisie se fait uniquement dans des variables. Ce sont les cases (cellules) qui pourront accueillir les données correspondantes.
2. La donnée à introduire doit être de même type que la variable réceptrice.
Les expressions arithmétiques
Parmi les opérateurs, on distingue les fonctions et les opérateurs.
Les fonctions
La fonction DIV permet de donner le résultat de la division entière d’un nombre par un autre. 7 DIV 2 3
La fonction MOD (se lit Modulo), permet de donner le reste de la division entière d’un entier par un autre. 7 MOD 2 1
La fonction ** ou ^ permet d’élever un nombre à la puissance d’un autre. 2**3 8
Les opérateurs Sont le « + », « -« , « / », « * » et le « – » un aire.
Ordre de priorité
Les opérateurs suivants sont ordonnés du plus prioritaire au moins prioritaire dans l’évaluation d’une expression arithmétique.
1- Les parenthèses
2- « – » un aire
3- Les fonctions
4- Les opérateurs de multiplication » * » et de division » / »
5- Les opérateurs d’addition » + » et de soustraction » – »
Remarque
Si l’ordre entre les opérateurs dans une expression est le même, on évalue l’expression de gauche à droite.
Exemples
3**2+4 = 9+4=13
3**(2+4)=3**6 car les parenthèses sont plus prioritaires 17 MOD 10 DIV 3 (17MOD10)DIV3=7DIV3=2
L’affectation
C’est l’action de charger une valeur dans une variable. Cette valeur peut elle- même être une variable, le résultat d’une expression arithmétique ou logique ou une constante.
Syntaxe
Variable1 variable2 | expression | constante
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. Si B était une expression, elle aurait été évaluée, ensuite sa valeur est transférée dans la variable réceptrice (à notre gauche).
Remarque
L’affectation ne vide pas la variable émettrice (à notre droite) de sa valeur. Par contre, le contenu de la variable réceptrice est écrasé et remplacé par la nouvelle valeur.
Illustration de l’affectation
Supposons qu’on ait deux récipients A et B où A contient un liquide coloré en jaune et B contient un liquide rouge.
Peut-on échanger les contenus de A et de B (c.-à-d. mettre le liquide rouge dans A et le liquide jaune dans B).
Résultat
Cette opération n’est possible que si on utilise un troisième récipient qu’on appelle récipient auxiliaire.
Avec des variables réelles, cette opération d’échange de contenu se fait entre cases mémoires qui représentent les conteneurs (récipients).
Problème : Echanger les valeurs de 2 variables numériques.
Principe : pour éviter de perdre l’une des 2 valeurs initiales (A et B), on utilise une 3ième variable pour préserver la valeur initiale de la première variable modifiée.
Remarques Importantes
Toute variable utilisée dans un algorithme doit être déclarée au début de l’algorithme, une fois et une seule.
L’affectation de valeur à une variable peut être effectuée autant de fois que l’on veut au cours d’un algorithme. La valeur de la variable sera alors modifiée à chaque affectation.
Lorsqu’une variable apparaît en partie droite d’une action d’affectation, c’est que l’on suppose qu’elle contient obligatoirement une valeur. Cette valeur devra lui avoir été affectée auparavant (par initialisation ou saisie), sinon l’on dira que la valeur est indéfinie, et le résultat de l’affectation ne sera pas défini.
La variable réceptrice d’une affectation doit être de même type que de la valeur à affecter ou de type compatible. Le type est dit compatible s’il est inclus dans le type de la variable réceptrice. Exemple : REEL ENTIER est possible mais pas l’inverse.
Exemple
Ecrire l’algorithme qui permet de calculer le discriminant (delta) d’une équation du second degré.
TD ALGORITHMIQUE I
Les actions simples
Exercice 1
Soit l’algorithme suivant :
ALGORITHME EQUATION2D
VAR a,b,c : REEL
delta : REEL
DEBUT
Ecrire(« Donnez la valeur du premier paramètre »)
Lire(a)
Ecrire(« Donnez la valeur du second paramètre »)
Lire(b)
Ecrire(« Donnez la valeur du troisième paramètre »)
Lire(c)
delta b2 b * b – 4a * c
Ecrire( » le discriminant est = « )
Fin
1 – Décrire cet algorithme en détail (ligne par ligne), en donnant les éventuelles erreurs.
2 – Quelles sont les valeurs de delta dans les cas suivants :
a=2 b=-3 c=1
a=1 b=2 c=2
Exercice 2
Ecrire l’algorithme permettant de saisir l’abscisse d’un point A et de calculer son ordonné f(x)= 2 x3 – 3×2 + 4
Evaluer le résultat en expliquant les ordres de priorité pour x=-2.
Exercice 3
Ecrire l’algorithme qui permet de permuter les valeurs de A et B sans utiliser de variable auxiliaire.
Exercice 4
Faire l’algorithme qui lit les coordonnées de deux vecteurs u et v, et de calculer leur norme et leur produit scalaire.
Exercice 5
Ecrire l’algorithme qui permet de saisir les paramètres d’une équation du second degré et de calculer son discriminant .
Exercice 6
Ecrire l’algorithme permettant de calculer et d’afficher le salaire net d’un employé. Sachant que :
Le salaire net = Salaire brut – Valeur de l’impôt – Valeur de CNSS
Salaire brut = (Salaire de base + Prime de technicité + Prime de transport + Prime des enfants) * Taux de travail
Taux de travail = Nombre de jours travaillés / 26
Prime des enfants = Prime d’un enfant * Nombre d’enfants Valeur de l’Impôt = Taux de l’Impôt * Salaire Brut
Valeur de CNSS = Taux de CNSS * Salaire Brut Taux CNSS = 26,5%
Taux Impôt = 2%
Indication :
Décrire l’environnement de travail : toutes les variables en entrée, en sortie et de calcul.
Chapitre I. INTRODUCTION
I.1. Intérêt de l’algorithmique
I.2. Définitions
Qu’est ce que l’Algorithmique ?
I.3. Les étapes de résolution d’un problème
I.4. Structure d’un algorithme
Rappel des notions de :
Exemple 1
Chapitre II. LES ACTIONS ALGORITHMIQUES SIMPLES
II.1. 0. Concepts de base
II.2. 1. L’affichage : ECRIRE
Exemples
II.3. 2. La saisie des données : LIRE
II.4. 3. Les expressions arithmétiques
II.5. 4. L’affectation
Chapitre III. Les structures Conditionnelles
III.1. Introduction
III.2. Notion de PREDICAT
III.3. Evaluation d’une expression logique
Notons que
Notation et Ordre de priorité des opérateurs logiques
Tableaux d’évaluations
III.4. La structure conditionnelle SI
Exemple 1
Exemples
III.5. La structure conditionnelle SELON
Exemple
Chapitre IV. LES STRUCTURES REPETITIVES
IV.1. Introduction
IV.2. La boucle POUR
Syntaxe
IV.3. La boucle Répéter … Jusqu’à
IV.4. La boucle TANT QUE …
Chapitre V. Traitement des Tableaux
V.2. 1. Les vecteurs
V.3. Rappel de Déclaration d’un vecteur
V.4. Chargement d’un Vecteur
V.5. Solution de l’exemple avec la notion de tableau
V.6. 2. Les matrices
Chapitre VI. TD ALGORITHMIQUE 1
Exercice 12
Chapitre VII. LES ALGORITHMES DE TRI
1. Tri par sélection
Principe
Exemple
2. Algorithme de tri par sélection et permutation
VII.2. 3. Tri par la méthode des bulles