UNIVERSITE CONSTANTINE 1 FACULTE DES SCIENCES EXACTES 1

  • Slides: 49
Download presentation
UNIVERSITE CONSTANTINE 1 FACULTE DES SCIENCES EXACTES 1 TRONC COMMUN SM- LMD COURS: ALGORITHMIQUE

UNIVERSITE CONSTANTINE 1 FACULTE DES SCIENCES EXACTES 1 TRONC COMMUN SM- LMD COURS: ALGORITHMIQUE Equipe de formation: Dr. R. AOUATI, Cours Mr. F. SOUICI , Cours Enseignants de TD/TP www. infosm 25. tk LMD- Sciences de la Matière 1ère Année (S 2) Année Univ. 2012/2013

1. Notion d’algorithmique 2 1. 1. Qu’est-ce qu’un algorithme ? Le mot algorithme provient

1. Notion d’algorithmique 2 1. 1. Qu’est-ce qu’un algorithme ? Le mot algorithme provient du nom d'un célèbre mathématicien arabe du IXe siècle: Mohammed Ibn Musa al Khwarizmi. 1. 2. Définitions Ø Un Algorithme est une suite finie d’instructions à appliquer dans un ordre déterminé à un nombre fini de données , pour arriver à un certain résultat. Ø Écrire un algorithme consiste à décrire la méthode de résolution d’un problème c. à. d indiquer les actions simples que l’ordinateur doit accomplir pour obtenir les résultats désirés.

1. Notion d’algorithmique 3 Comment écrit-on un algorithme ? Dans un algorithme, les actions

1. Notion d’algorithmique 3 Comment écrit-on un algorithme ? Dans un algorithme, les actions sont généralement décrites par un symbole ou un verbe à l’infinitif. Ce langage est appelé pseudo-code. Pour écrire un algorithme, on commence par: Ø le titre (de l’algorithme), Ø les données fournies à l’ordinateur et le résultat souhaité. Ø Puis on donne la séquence d’instructions comprise entre les deux termes Début (indiquant le début des instructions) et Fin. (indiquant la fin des instructions).

1. Notion d’algorithmique 4 Syntaxe générale d’un Algorithme: Algorithme titre Variables données, résultats Début

1. Notion d’algorithmique 4 Syntaxe générale d’un Algorithme: Algorithme titre Variables données, résultats Début ----------Les calculs ----------Les instructions --------------------Fin

2. Éléments de base de l’algorithmique 5 2. 1. Constantes Ce sont des objets

2. Éléments de base de l’algorithmique 5 2. 1. Constantes Ce sont des objets qui ne peuvent pas varier dans l’algorithme. Une constante est une quantité fixée et invariante durant l'exécution d'un algorithme. Exemples: PI=3. 14 N=100

2. Éléments de base de l’algorithmique 6 2. 2. Les variables Dans un algorithme,

2. Éléments de base de l’algorithmique 6 2. 2. Les variables Dans un algorithme, on va avoir besoin de mémoriser des informations. Il peut s’agir des éléments suivants : Ø Ø Les données fournies par l’utilisateur (les entrées) Les résultats obtenus par l’algorithme (les sorties ou résultats)

2. Éléments de base de l’algorithmique 7 2. 3. Types de base Les types

2. Éléments de base de l’algorithmique 7 2. 3. Types de base Les types de base sont: Entier, Réel, caractère et booléen. 1 -Type Entier : Les valeurs de ce type sont des nombres entiers positifs, nuls ou négatifs. L'intervalle des valeurs que peut prendre un objet de ce type est défini par la machine utilisée.

2. Éléments de base de l’algorithmique 8 2. Type Réel : Le type réel

2. Éléments de base de l’algorithmique 8 2. Type Réel : Le type réel dénote un sous ensemble des nombres réels Il existent deux manières pour écrire une valeur réelle: Ø partie entière suivie d’un point suivie de la partie décimale: – 0. 5 Ø exposant: 0. 2 E 6

2. Éléments de base de l’algorithmique 9 3. Type caractère: Il est constitué des

2. Éléments de base de l’algorithmique 9 3. Type caractère: Il est constitué des lettres (a…z, A…Z), des chiffres (0… 9) et des caractères spéciaux (+, -, (, ), %, !, $…).

2. Éléments de base de l’algorithmique 10 4. Type booléen : Une variable de

2. Éléments de base de l’algorithmique 10 4. Type booléen : Une variable de type booléen ne peut prendre que deux valeurs possibles: VRAI et FAUX ou (TRUE et FALSE).

2. Éléments de base de l’algorithmique 11 2. 4. Opérateurs 1. Opérateurs arithmétiques: Opérateur

2. Éléments de base de l’algorithmique 11 2. 4. Opérateurs 1. Opérateurs arithmétiques: Opérateur + * / ** Signification Addition Soustraction Multiplication Division Exposant

2. Éléments de base de l’algorithmique 12 3. Opérateurs de comparaison Opérateur = x=y

2. Éléments de base de l’algorithmique 12 3. Opérateurs de comparaison Opérateur = x=y ≠ x <> y < y > y ≤ Signification Syntaxe Egal Différent Inférieur strictement x< Supérieur strictement x> Inférieur ou égal x <=

2. Éléments de base de l’algorithmique 13 4. Opérateurs Logiques : et Intersection ou

2. Éléments de base de l’algorithmique 13 4. Opérateurs Logiques : et Intersection ou Réunion non Complémentaire x et y x ou y x non y

2. Éléments de base de l’algorithmique 14 2. 5. Expressions arithmétiques : Elles sont

2. Éléments de base de l’algorithmique 14 2. 5. Expressions arithmétiques : Elles sont formées par des variables, des constantes numériques et des opérateurs arithmétiques. Exemples : (a+b)*(c-d)/2 2*3. 14*R

2. Éléments de base de l’algorithmique 15 2. 6. Expressions logiques: Elles sont formées

2. Éléments de base de l’algorithmique 15 2. 6. Expressions logiques: Elles sont formées par des constantes, des variables et des opérateurs logiques Exemples: A<b X=0 (a>=0) ET (b>=0)

2. Éléments de base de l’algorithmique 16 3. 6. l’ Affectation: C’est l’une des

2. Éléments de base de l’algorithmique 16 3. 6. l’ Affectation: C’est l’une des instructions les plus importantes. Elle consiste à attribuer une valeur ou une expression à une variable. Elle est notée par le symbole ← Syntaxe : variable ← Valeur variable ← Expression Exemples : A← 5 B←A A ← A+1

3. 7. Instructions d’Entées/sorties 17 1. La lecture: L’instruction lire permet de lire une

3. 7. Instructions d’Entées/sorties 17 1. La lecture: L’instruction lire permet de lire une ou plusieurs variables 2. L’écriture: Syntaxe : Lire (var 1, var 2 , . . . , var N) Exemples : lire Nom lire A lire X, Y L’instruction Ecrire (afficher) permet d’écrire à l’écran les valeurs des variables et les messages Syntaxe : Écrire ‘Introduire le salaire’ Écrire X, Y

3. 7. Instructions d’Entées/sorties 18 Exercice 1: 1 Écrire un algorithme permettant d’échanger le

3. 7. Instructions d’Entées/sorties 18 Exercice 1: 1 Écrire un algorithme permettant d’échanger le contenu de deux variables. Solution : Algorithme Echange variables x , y , z : entiers Début Lire x, y z x x y y z Ecrire x, y Fin

3. 7. Instructions d’Entées/sorties 19 Exercice 2 Écrire l’algorithme qui calcule le cube d'un

3. 7. Instructions d’Entées/sorties 19 Exercice 2 Écrire l’algorithme qui calcule le cube d'un Nbr entier Solution : Algo cube Variable x , cube : entiers Début Ecrire ‘Introduire une valeur’ Lire x cube x*x*x Ecrire ‘Le cube de ‘, x, ‘est: ‘, cube Fin

3. 8. Structures de contrôle 20 On distingue trois structures de contrôle : 1.

3. 8. Structures de contrôle 20 On distingue trois structures de contrôle : 1. La séquence; 2. La sélection (choix ou test) ﺍﻹﺧﺘﻴﺎﺭ ﺃﻮ ﺍﻹﺧﺘﺒﺎﺭ 3. La répétition (boucles ou itérations) ﺍﻟﺘﻜﺮﺍﺭ ﺍﻟﺤﻠﻘﺎﺕ ﺃﻮ ﺍﻟﺘﺴﻠﺴﻞ

3. 8. Structures de contrôle 22 1. La séquence ﺍﻟﺘﺴﻠﺴﻞ Dans un algorithme, les

3. 8. Structures de contrôle 22 1. La séquence ﺍﻟﺘﺴﻠﺴﻞ Dans un algorithme, les instructions sont Exécutée séquentiellement c’est à dire l’une après l’autre Un bloc est une suite d’instructions délimitées par les termes DEBUT et FIN, qui s’exécutent séquentiellement. Exemple DEBUT Lire x, y z x+y Ecrire ‘z=‘, z FIN

2. La sélection (instruction alternative) 23 L’instruction SI Syntaxe 1 Elle permet de choisir

2. La sélection (instruction alternative) 23 L’instruction SI Syntaxe 1 Elle permet de choisir suivant une condition entre deux blocs d'instructions. Cette instruction peut être représentée Si (condition) Alors sous deux formes : Bloc 1 Sinon Bloc 2 Fin Si Une condition est une expression logique qui ne peut prendre que deux valeurs VRAI ou FAUX

2. La sélection (instruction alternative) 24 Exemple 1 Calcul de la valeur absolue d’un

2. La sélection (instruction alternative) 24 Exemple 1 Calcul de la valeur absolue d’un nbr réel Début Lire x SI (x>=0) alors Vabs x SINON Vbs - x Fin. Si Ecrire Vabs Fin Exemple 2 Calcul du max de deux entiers a et b Début Lire X, Y SI (X >=Y) alors Max X SINON Max Y Fin. Si Ecrire Max Fin

2. La sélection (instruction alternative) 25 Syntaxe 2 SI (condition) Alors Bloc 1 Finsi

2. La sélection (instruction alternative) 25 Syntaxe 2 SI (condition) Alors Bloc 1 Finsi Calcul de la valeur absolue d’un nombre réel Exemple Début Lire x Vabs x SI (x<0) ALORS Vabs -x Fin. Si Ecrire Vabs Fin

2. La sélection (instruction alternative) 26 Remarque 1 Exemple SI (X>=Y) ET (X>=Z) On

2. La sélection (instruction alternative) 26 Remarque 1 Exemple SI (X>=Y) ET (X>=Z) On peut utiliser Alors des conditions composées reliées Écrire(‘X est plus par des opérateurs grand que Y et Z’) logiques (ET, OU, Fin. Si NON).

2. La sélection (instruction alternative) 27 Remarque 2 Un ou plusieurs tests peuvent eux-mêmes

2. La sélection (instruction alternative) 27 Remarque 2 Un ou plusieurs tests peuvent eux-mêmes apparaître dans les instructions du bloc 1 ou du bloc 2. Dans ce cas, on parle des tests imbriqués. Exemple calcul du maximum de trois nombres x, y et z Le principe de l’algorithme consiste à comparer x et y. Si x>=y alors on compare x et z, si non (c. à. d x<y) on compare y et z.

2. La sélection (instruction alternative) 28 Début Lire x, y, z SI (x>y) Alors

2. La sélection (instruction alternative) 28 Début Lire x, y, z SI (x>y) Alors SI (x>z) Alors Max x Sinon Max z Fin. Si Sinon SI (y>z) Alors Max y Sinon Max z Fin. Si Écrire ‘Le maximum est : ’ , Max Fin

3. La répétition (boucles ou itérations) 29 Ils existent des cas de figure où

3. La répétition (boucles ou itérations) 29 Ils existent des cas de figure où nous avons besoin de répéter l'exécution d'un bloc d'instructions plusieurs fois. Cette structure algorithmique appelée boucle. Pour réaliser une boucle dans un algorithme nous disposons de trois instructions: 1. Tant que. 2. Répéter - jusqu’à. 3. Répéter N fois. (Pour i allant de 1 à N faire)

3. La répétition (boucles ou itérations) 30 Exemple 1. Boucle Tant que Syntaxe: Tant

3. La répétition (boucles ou itérations) 30 Exemple 1. Boucle Tant que Syntaxe: Tant que (condition) Faire Bloc Fin Tant. Que Si la condition est vérifiée, alors le bloc d’instructions est exécuté puis on retourne à la condition pour l’examiner. Si elle est vraie alors on refait le bloc d’instructions et ainsi de suite. Si la condition n’est pas vérifiée (fausse) alors on sort de la boucle. Exemple: écrire un Algo qui permet de calculer la somme des nombres entiers de 1 à N Algo Somme variables N, S , i: Entier DEBUT lire N i 1 S 0 Tant que (i <= N) Faire S S+i i i+1 Fin Tant que Écrire S FIN

3. La répétition (boucles ou itérations) 31 2. Répéter - jusqu’à Syntaxe: Répéter Bloc

3. La répétition (boucles ou itérations) 31 2. Répéter - jusqu’à Syntaxe: Répéter Bloc Jusqu'à (condition) On exécute d’abord le bloc d’instructions. Ensuite, on examine la condition. Si elle est fausse alors on refait le bloc d’instructions puis on réexamine la condition et ainsi de suite. Si la condition est vérifiée (vraie) alors on sort de la boucle. Exemple Algorithme d'Euclide Pour calculer le PGCD (plus grand diviseur commun) de a et b, on suit les étapes suivantes : 1. On effectue la division euclidienne de a par b. 2. On divise le diviseur de la division précédente par son reste. 3. On recommence cette procédure jusqu'à obtenir un reste nul. Le PGCD de a et b est le dernier reste non nul.

3. La répétition (boucles ou itérations) Exemple Algo PGCD Quel est le PGCD de

3. La répétition (boucles ou itérations) Exemple Algo PGCD Quel est le PGCD de 720 et de 192 ? Variable x, y, r : entier début Lire x, y Répéter Le dernier reste non nul est 48 donc le PGCD de 720 et 192 est 48. Exercice Calcul du PGCD de deux Nbr entiers x et y (avec x≥y) r x mod y x y y r Jusqu’à r=0 Écrire ‘Le PGCD est : ’, x fin

3. La répétition (boucles ou itérations) 33 3. Répéter N fois Syntaxe 1: Répéter

3. La répétition (boucles ou itérations) 33 3. Répéter N fois Syntaxe 1: Répéter N fois Bloc Fin Répéter Syntaxe 2: Pour I allant de 1 à N Faire Bloc Fin Pour Ces deux instructions permettent d’exécuter un bloc d’instructions N fois. Elles sont utilisées chaque fois que le nombre d’itérations est connu au préalable. Un compteur est utilisé pour compter le nombre courant d’itérations

3. La répétition (boucles ou itérations) 34 Remarque Dans une boucle: Répéter N fois

3. La répétition (boucles ou itérations) 34 Remarque Dans une boucle: Répéter N fois ou Pour I allant de 1 à N faire le compteur est incrémenté automatiquement. Exemple Ex: Calcul de (X*X*X…*X), N fois Algo puissance Variables x : réel i, N: entier DEBUT lire X lire N Res 1 Pour I allant de 1 à N Faire Res * X Fin Pour Écrire Res FIN

Algo somme variables N, som: réels i : entier Début Lire N som ←

Algo somme variables N, som: réels i : entier Début Lire N som ← 0 Pour i allant de 1 à N faire som← som+i Fin pour Écrire som Fin

3. La répétition (boucles ou itérations) 36 Exercice 1: Calcul de la somme des

3. La répétition (boucles ou itérations) 36 Exercice 1: Calcul de la somme des entiers de 1 à N Exercice 2: Réécrire l’algorithme de calcul de XN en utilisant une boucle Tant que puis une boucle Répéter -jusqu’à.

Variables x, n, i, puis: réel Début lire x, n puis← 1 i ←

Variables x, n, i, puis: réel Début lire x, n puis← 1 i ← 1 Tan que (i<=n)faire puis←puis*x i ←i+1 Fin tan que Écrire puis Fin

Prof. inf. sm@gmail. com 38 www. umc-sm. tk

Prof. inf. sm@gmail. com 38 www. umc-sm. tk

Les tableaux 39 Exemple de tableau de 5 éléments de type entier : 1

Les tableaux 39 Exemple de tableau de 5 éléments de type entier : 1 2 3 4 5 T 7 -38 -19 0 8 T de type tableau. Les numéros en indices 1, 2, 3, 4, 5 correspondent aux valeurs colonnes. Le contenu de T : les 5 entiers (dans un certain ordre) La première valeur est T[1] ou 1 correspond donc à l’indice de la première colonne.

Les tableaux 40 Dans tous les cas le ième élément d’un tableau appelé TAB

Les tableaux 40 Dans tous les cas le ième élément d’un tableau appelé TAB sera adressé par TAB (i) Généralement on fait des tableaux à une dimension, mais il existe également des tableaux à deux dimensions, dans ce cas TAB (i, j) représente la jème colonne et la ième ligne.

Déclaration d'un tableau 41 TABLEAU : tabl [1, 35] en entiers Mot clé Nom

Déclaration d'un tableau 41 TABLEAU : tabl [1, 35] en entiers Mot clé Nom du tableau Indice Min et Max Type des élément TABLEAU nom [longueur] type variable TABLEAU nom [ Longeur ] Type TABLEAU nom [ nb lig. , nb col. ]

Utilisation d’un tableau: 42 Accès en lecture : Écrire(tabl[4]) Accès en écriture : tabl[3]

Utilisation d’un tableau: 42 Accès en lecture : Écrire(tabl[4]) Accès en écriture : tabl[3] ← 18 Lire (tabl[5])

Les tableaux 43 Un tableau doit être déclaré de même type, toutes les valeurs

Les tableaux 43 Un tableau doit être déclaré de même type, toutes les valeurs doit avoir un type commun. Pour accéder à un élément du tableau, on utilise l'indice Affectation d'un élément de tableau à une variable : x t[i]

Initialiser le contenu d'un tableau 44 Principe : Utiliser Debut Pour i de 0

Initialiser le contenu d'un tableau 44 Principe : Utiliser Debut Pour i de 0 à 9 Faire une boucle pour Ecrire("Entrer un remplir le tableau nombre") et faire un test à lire(val ) Si val≥ 0 et val≤ 10 Alors l'intérieur de la t[i] val boucle pour tester Fin si que la valeur soit Finpour compris [0, 10] Fin

46 Début Pour i allant de 1 à 11 Ecrire "Entrez la note n°",

46 Début Pour i allant de 1 à 11 Ecrire "Entrez la note n°", i Lire Note(i) Fin pour

47 Tableau Note(11) en entier Variables Moy, Som en entier Début Pour i allant

47 Tableau Note(11) en entier Variables Moy, Som en entier Début Pour i allant de 1 à 11 Ecrire "Entrez la note n°", i Lire Note(i) Fin pour Som ← 0 Pour i allant de 1 à 11 Som ← Som + Note(i) Fin Pour Moy ← Som / 12 Écrire(‘la somme est: ’, Som) Écrire(‘La moyenne est: ’, Moy) Fin

Exercice 48 Écrire un algorithme qui déclare et remplisse un tableau contenant les six

Exercice 48 Écrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin. Tableau Truc(6) en entier Début Truc(0) Truc(1) Truc(2) Truc(3) Truc(4) Truc(5) Fin "a" "e" "i" "o" "u" "y"

49 Écrire un algorithme qui déclare un tableau de 9 notes, dont on fait

49 Écrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur. Tableau Notes(9) en Numérique Variable i en Numérique Début Pour i allant de 1 à 9 Ecrire "Entrez la note numéro ", i Lire Notes(i) i←i+1 Fin pour Fin