LMD- Sciences de la Matière 1ère Année (S2) Année Univ. 2012/2013

Slides:



Advertisements
Présentations similaires
Les éléments de base de l’algorithmique
Advertisements

Algorithmique Tableaux de données
Algorithmique Boucles et Itérations
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
MàN Info Licence acoustique
Tableaux en C Mardi 2/05.
Le Langage JavaScript pour le web
Ajouter le code dans une page html
Intégration du P7 dans l’épreuve E41
Aide à la simulation avec un tableur et au traitement des données
Les tables de multiplication au ce1 « Une construction réfléchie des tables favorise-t-elle leur mémorisation et leurs transferts ? » DOUARCHE Vaéa.
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Pierre Joli Cours de Mathématique Pierre Joli
Un Algorithme , c'est Quoi ?
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Algorithmiques Abdelbasset KABOU
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Représentation de l’information en binaire:
Les inégalités et les inéquations
Algorithmique AU El harchaoui noureddine
Algorithmique demander jeu du pendu.
L’Instruction de Test Alternatif
Algorithmique - L’affectation -
Algorithmiques Abdelbasset KABOU
Matrices, déclaration en CSharp
Alternative : syntaxe CSharp
Un Algorithme , c'est Quoi ?
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Langages de programmation TP3
Excel (et toute l’informatique) :
Mise à niveau - Algorithmique - Niveau: Première année Par: Mr ADIL ENAANAI 1.
Fonctions Logiques & Algèbre de BOOLE
Cours N°6: Algorithmiques Structures Conditionnelles
Codage et Représentation de l’Information
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Science du traitement rationnel de l'information
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Cours N°10: Algorithmiques Tableaux - Matrices
Type Concret – Type Abstrait
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Chapitre I: Les structures des données 4 éme technique 3 // Mlle : Mehrez Majda.
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Les classes et les objets
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Algorithmie - Programmation 2
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Flowchart Itération Cours 04.
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Système de Numération : Décimal, Binaire, Octal et Hexadécimal
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
Transcription de la présentation:

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

1.Notion d’algorithmique 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 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 Syntaxe générale d’un Algorithme: Algorithme titre Variables données, résultats Début --------------------- Fin Les calculs Les instructions

2. Éléments de base de l’algorithmique 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 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 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 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.2E6

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

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

2.5.Expressions arithmétiques : 2. Éléments de base de l’algorithmique 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.6.Expressions logiques: 2. Éléments de base de l’algorithmique 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 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 ← variable variable ← Expression Exemples : A ← 5 B ← A A ← A+1

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

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

3.7. Instructions d’Entées/sorties 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 On distingue trois structures de contrôle : La séquence; التسلسل La sélection (choix ou test)الإختيار أو الإختبار La répétition (boucles ou itérations)التكرار أو الحلقات

3.8. Structures de contrôle التسلسلla séquence : : تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة,هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين : الاختيار أو التكرار: الاختيار le choix la sélection :: بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات ، وقد تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة الاختبار, إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة, وإذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات.هذه الطريقة هي ما تسمى اتخاذ القرار أو الاختيار . التكرار او الحلقات la répétition les boucles : : عند حل بعض المسائل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. وهذا مايطلق عليه التكرار او الحلقة .

3.8. Structures de contrôle 1. La séquence التسلسل Exemple 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. DEBUT Lire x, y z  x + y Ecrire ‘z=‘, z FIN

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

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

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

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

2. La sélection (instruction alternative) Remarque 2 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. Un ou plusieurs tests peuvent eux-mêmes apparaître dans les instructions du bloc1 ou du bloc2. Dans ce cas, on parle des tests imbriqués.

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

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

3. La répétition (boucles ou itérations) 1. Boucle Tant que Exemple Syntaxe: Tant que (condition) Faire Bloc Fin TantQue 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) 2. Répéter - jusqu’à Exemple 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. 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. On exécute

3. La répétition (boucles ou itérations) Exemple Quel est le PGCD de 720 et de 192 ? Algo PGCD Variable x,y,r : entier début Lire x, y Répéter r  x mod y x  y y  r Jusqu’à r=0 Écrire ‘Le PGCD est :’, x fin 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)

3. La répétition (boucles ou itérations) 3. Répéter N fois 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 Syntaxe 1: Répéter N fois Bloc Fin Répéter Syntaxe2: Pour I allant de 1 à N Faire Fin Pour

3. La répétition (boucles ou itérations) Remarque 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  Res * X Fin Pour Écrire Res FIN Dans une boucle: Répéter N fois ou Pour I allant de 1 à N faire le compteur est incrémenté automatiquement.

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) Exercice 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 ←1 Tan que (i<=n)faire puis←puis*x i ←i+1 Fin tan que Écrire puis Fin

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

Les tableaux Exemple de tableau de 5 éléments de type entier : T 1 2 3 4 5 T 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. 7 -38 -19 8

Les tableaux 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 TABLEAU nom [longueur] type variable TABLEAU nom [ Longeur ] Type TABLEAU nom [ nb lig. , nb col. ] Type TABLEAU : tabl [1,35] en entiers Nom du tableau Mot clé Indice Min et Max Type des élément

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

Les tableaux 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 Principe : Utiliser une boucle pour remplir le tableau et faire un test à l'intérieur de la boucle pour tester que la valeur soit compris [0,10] Debut Pour i de 0 à 9 Faire Ecrire("Entrer un nombre") lire(val ) Si val≥0 et val≤10 Alors t[i]  val Fin si Finpour Fin

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

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 É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)  "a" Truc(1)  "e" Truc(2)  "i" Truc(3)  "o" Truc(4)  "u" Truc(5)  "y" Fin

É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