Les tableaux. Algorithmique et Programmation en C. Chapitre 5 Karim Bouzoubaa



Documents pareils
Architecture des Systèmes d Information Architecture des Systèmes d Information

Algorithmique I. Algorithmique I p.1/??

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Chapitre 5 : Flot maximal dans un graphe

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

4. Les structures de données statiques

Algorithmique et Programmation, IMA

Chap III : Les tableaux

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Algorithmes récursifs

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Chapitre 4 : Exclusion mutuelle

Bases de programmation. Cours 5. Structurer les données

ARBRES BINAIRES DE RECHERCHE

Programmation linéaire

La classification automatique de données quantitatives

Plus courts chemins, programmation dynamique

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Recherche dans un tableau

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Correction TD algorithmique

Programmation linéaire

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Bases de données documentaires et distribuées Cours NFE04

Programmation linéaire et Optimisation. Didier Smets

Théorie et codage de l information

Initiation à LabView : Les exemples d applications :

1 Recherche en table par balayage

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Adama MBODJI MBODJ.SYSTEM

L exclusion mutuelle distribuée

Optimisation for Cloud Computing and Big Data

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Chp. 4. Minimisation d une fonction d une variable

Application de K-means à la définition du nombre de VM optimal dans un cloud

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Chapitre 3. Les distributions à deux variables

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

données en connaissance et en actions?

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Programmation Objet - Cours II

Correction TD Algorithmique 5.3 Pile Liste 5.3 Pile

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Introduction à MATLAB R

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Algorithmique et structures de données I

Chapitre 7. Récurrences

Résolution d équations non linéaires

3 Approximation de solutions d équations

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Optimisation Discrète

Programmation Linéaire - Cours 1

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Jean-Philippe Préaux

Programmes des classes préparatoires aux Grandes Ecoles

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Plan du cours Cours théoriques. 29 septembre 2014

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Les arbres binaires de recherche

Algorithmique & programmation

L ALGORITHMIQUE. Algorithme

CORRECTION EXERCICES ALGORITHME 1

Rappels sur les suites - Algorithme

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Cours Informatique Master STEP

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Algorithmique et Programmation

Exercices Corrigés Premières notions sur les espaces vectoriels

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Algorithmique, Structures de données et langage C

DETERMINATION DE L INCERTITUDE DE MESURE POUR LES ANALYSES CHIMIQUES QUANTITATIVES

Cours Modélisation et Programmation avec tableur

Eléments de Théorie des Graphes et Programmation Linéaire

Application 1- VBA : Test de comportements d'investissements

Données Réparties. Thibault BERNARD.

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Structures algébriques

de calibration Master 2: Calibration de modèles: présentation et simulation d

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

Problème d ordonnancement de véhicules en variables booléennes

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Cours 02 : Problème général de la programmation linéaire

Correction du baccalauréat ES/L Métropole 20 juin 2014

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Transcription:

Les tableaux Algorithmique et Programmation en C Chapitre 5 Karim Bouzoubaa 1

Chapitre 5 : Les tableaux Objectifs Comprendre la notion de tableaux et la situer par rapport aux autres types de données Être capable de déclarer, initialiser et utiliser un tableau Connaître la différence entre un tableau monodimensionnel et multidimensionnel Connaître les algorithmes de base de recherche et de tri d un tableau Sommaire Introduction La déclaration d un tableau Les tableaux simples Les tableaux multi-dimensions Les méthodes de recherche Les méthodes de tri 2

Introduction Supposons une classe de 5 étudiants. Chaque étudiant a une note finale. On voudrait écrire un algo qui affiche toutes les notes supérieures à la moyenne de la classe. Algorithme "notes sup à la moyenne Entrées : note1, note2, note3, note4, note5 type entier Auxilieres : i, moy type entier Lire note1, note2, note3, note4, note5 moy = (note1 + note2 + note3 + note4 + note5) / 5 si (note1 moy) Afficher(note1) si (note2 moy) Afficher(note2) si (note3 moy) Afficher(note3) si (note4 moy) Afficher(note4) si (note5 moy) Afficher(note5) 3

Introduction L algo n est valide que pour une classe de 5 étudiants Si on utilise une classe de 100 étudiants, déclarer 100 variables, 100 sélection, etc.!!! On associe plutot un seul nom à l ensemble des variables des notes d étudiants (NOTE) et l emploi d un indice (i) qui permet de repérer un élément quelconque de l ensemble NOTE[0] NOTE[1] NOTE[2] NOTE[3] NOTE[4] 16 15 12 15 18 4

Tableau Un tableau est un ensemble ordonné qui contient un ensemble fixe d éléments de même type NOTE[0] NOTE[1] NOTE[2] NOTE[3] NOTE[4] 16 15 12 15 18 NOTE : nom du tableau Un tableau de 5 éléments (indices de 0 à 4) NOTE[2] = 12 5

Tableau Algorithme "notes sup à la moyenne Const: MAX = 5 Entrées : NOTE tableau de MAX entier Auxilieres : i, som type entier, moy reel som = 0 lire(note[i]) som = som + NOTE[i] moy = som / MAX si (NOTE[i] moy) Afficher(NOTE[i]) 6

Tableau Un algo pour calculer l écart type de n valeurs Algorithme "calcule de l ecart type Const: MAX = 5 Entrées : X tableau de MAX entier Auxilieres : i, som type entier, moy, ec reel som = 0 lire(x[i]) som = som + X[i] moy = som / MAX som = 0 som = som + (X[i] - moy) 2 ec = racine(som / MAX) Afficher ( l ecart type est:, ec) 7

Tableau à 2 dimensions Algo qui lit et affiche une matrice et la somme de ses éléments Algorithme matrice Const: MAX1 = 5, MAX2 = 8 Entrées : MAT tableau de MAX1*MAX2 entier Auxilieres : i,j, som type entier som = 0 Pour i = 0 à MAX1-1 { Pour j = 0 à MAX2-1 { lire(mat[i][j]) som = som + MAT[i][j] Pour i = 0 à MAX1-1 { Pour j = 0 à MAX2-1 { Afficher (MAT[i][j]) Afficher ( la somme est:, som) 8

Méthodes de recherche Rechercher si un élément existe ou non dans le tableau Recherche linéaire: facile, O(n) Recherche dichotomique: O(log n ), prix: trier le tableau Algorithme recherche lineaire Const: MAX = 5 Entrées : X tableau de MAX entier Auxilieres : i, val type entier Trouve type booleen lire(x[i]) lire val i = 0 trouve = faux TQ (trouve == faux ET i < MAX) { si (X[i]== val) trouve = vrai sinon i = i + 1 si (trouve == vrai) Afficher( elt trouve a pos:, i) sinon Afficher ( elt non trouve ) 9

Méthodes de tri Tri: opération qui consiste à ordonner les éléments en ordre séquentiel Tri par extraction Tri par échange Tri à bulles Algorithme tri par extraction Const: MAX = 5, GRANDE = 9999 Entrées : X, Y tableau de MAX entier Auxilieres : i, j, indmin type entier lire(x[i]) indmin = 0 Pour j = 1 à MAX-1 { si (X[j]<X[indMin]) indmin = j Y[i] = X[indMin] X[indMin] = GRANDE afficher(y[i]) 10

Exercices 1. Algo qui calcule la somme des éléments d un tableau 2. Algo qui détermine si une matrice carrée est la matrice unité 3. Algo de recherche dichotomique 4. Algo de tri par échange 11