Chapitre 4 : Tableaux et chaînes de caractères

Documents pareils
STAGE IREM 0- Premiers pas en Python

Initiation à la programmation en Python

TP 1. Prise en main du langage Python

Découverte de Python

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

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

Utilisation d objets : String et ArrayList

Présentation du langage et premières fonctions

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

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Excel 2007 Niveau 3 Page 1

TD3: tableaux avancées, première classe et chaînes

Initiation à la Programmation en Logique avec SISCtus Prolog

TP, première séquence d exercices.

Python - introduction à la programmation et calcul scientifique

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Cours 7 : Utilisation de modules sous python

PROJET ALGORITHMIQUE ET PROGRAMMATION II

MODE OPERATOIRE OPENOFFICE BASE

Initiation à LabView : Les exemples d applications :

1 Lecture de fichiers

Compléments de documentation Scilab : affichage de texte et formatage de nombres

TP Bases de données réparties

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009


CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

TABLEAU CROISE DYNAMIQUE

Le chiffre est le signe, le nombre est la valeur.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

EXCEL TUTORIEL 2012/2013

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Algorithmique avec Algobox

AWS avancé. Surveiller votre utilisation d EC2

I. Introduction aux fonctions : les fonctions standards

Définitions. Numéro à préciser. (Durée : )


SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

1 Recherche en table par balayage

Documentation pour l envoi de SMS

Consignes pour les travaux d actualité Premier quadrimestre

# 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>

Programmation C++ (débutant)/instructions for, while et do...while

Document d aide au suivi scolaire

1 Introduction - Qu est-ce que le logiciel R?

Cours d algorithmique pour la classe de 2nde

Envoyer et recevoir son courrier

Analyser des données à l aide de formules

PHP. PHP et bases de données

1 TD 2 : Construction d'une chier Acrobat et envoi par

Notions fondamentales du langage C# Version 1.0

Démonstration d utilisation De NesmaCom

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Calcul Formel et Numérique, Partie I

Initiation à l algorithmique

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Introduction à MATLAB R

L informatique en BCPST

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Introduction au langage C

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

Manuel d utilisation NETexcom

Tableau de bord. Tableau de bord. Statistiques des contenus de votre site (nb de pages, articles, commentaires...)

Licence Sciences et Technologies Examen janvier 2010

Les chaînes de caractères

COMPTABILITE SAGE LIGNE 100

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Module : Informatique Générale 1. Les commandes MS-DOS

4. Groupement d objets

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

PHP 4 PARTIE : BASE DE DONNEES

Ouvrir le compte UQÀM

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

Algorithmique et programmation : les bases (VBA) Corrigé

1. Structure d'un programme FORTRAN 95

Débuter avec Excel. Excel

Stockage du fichier dans une table mysql:

SOMMAIRE. Travailler avec les requêtes... 3

Outils pour la pratique

EXCEL PERFECTIONNEMENT CALCULS AVANCES

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Architecture des Systèmes d Information Architecture des Systèmes d Information

Algorithmique et Programmation, IMA

HA2000 GSM Transmetteur téléphonique

Consignes générales :

TD3 - Facturation avec archivage automatisé

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Atelier Formation Pages sur ipad Pages sur ipad

Chap III : Les tableaux

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

INF 321 : mémento de la syntaxe de Java

Transcription:

Chapitre 4 : Tableaux et chaînes de caractères I. Structure de tableau 1. Généralités Notion de tableau Un tableau est une suite de valeurs stockées dans des cases mémoire contiguës. La particularité d une structure de tableau est que le contenu de la i-ème case peut être lu ou modifié en temps constant. Définition d un tableau en extension En Python, on peut construire un tableau en énumérant ses éléments entre crochets, séparés par des virgules. Un tableau est donc représenté en Python par une liste. >>> a = [3, 7, 42, 1, 4, 8, 12] Définition d un tableau en compréhension En Python, on peut construire un tableau en l explicitant sous la forme [e(i) for i in range(n)], où e est une expression quelconque, qui construit le tableau [e(0), e(1),, e(n-1)]. >>> [ i ** 2 for i in range(6) ] Ex 1 Afficher la liste des x 2 où 1 x < 100, en se limitant à x 3[10]. Taille d un tableau et désignation d un élément On peut obtenir la taille (ou longueur) d un tableau avec la fonction len. Pour désigner le i eme élément d un tableau L, on note L[i]. (on garde à l esprit que le comptage commence à 0) Ex 2 On considère le tableau T = [1,3,5,7,9,11,13,15] Afficher la longueur du tableau puis les 2 eme,5 eme éléments de la liste. Afficher le dernier élément de la liste. 1

Affectation et tableau Si l on se donne un tableau a et que l on produit l affectation b = a ; le tableau b n est pas une copie du tableau a. En effet, les deux variables a et b désignent toutes les deux le même tableau. On dit alors que a et b sont des alias. Par conséquent toute modification sur le tableau a modifiera également le tableau b. = [0,1,2,3] = a.remove(3) # On supprime 3 dans le tableau a Si l on réaffecte a, b ne sera pas modifié et gardera l ancienne valeur de a. = [5,6] # On réaffecte a [0, 1, 2] # b n'a pas été réaffecté Copie d un tableau Pour copier un tableau, il faut utiliser l instruction deepcopy qui se situe dans le module copy. Ex 3 Reprendre l exemple précédent avec l instruction deepcopy que l on chargera au préalable depuis la bibliothèque copy. 2. Parcours des éléments d un tableau Accès à une partie des éléments (slicing) On peut également extraire tous les éléments situés entre les indices i (inclus) et j (exclu) d un tableau a avec la notation a[ i : j ]. On peut également extraire les éléments avec un pas de k avec la notation a[ i : j : k ]. Ex 4 On considère le tableau L = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]. En utilisant le slicing, afficher le sous-tableau contenant tous les éléments compris entre 6 et 11. En utilisant le slicing, afficher tous les multiples de 3. Taper l instruction suivante : L[ : :-1]. Commenter De manière générale, la notation a[ i : j ] construit un nouveau tableau de longueur j - i. Cette opération n est pas instantanée puisqu elle revient à faire j - i affectations. 2

Parcours et test sur un tableau La boucle for de Python permet de parcourir directement tous les éléments du tableau a avec l instruction for x in a L instruction if de Python permet de tester si un élément appartient à un tableau a avec l instruction if x in a 2 >>>9 in [3, 5, 7, 11, 13] False >>>7 in [3, 5, 7, 11, 13] True Ex 5 Ecrire un programme calculant la somme des éléments de la liste L précédente. Ex 6 On considère la liste M = [1,2,3,4,5,6,7,8,9]. Créer et afficher la liste N des carrés des éléments de M. Créer et afficher la liste des carrés impairs des éléments de M. Négation On dispose aussi de not in, qui s utilise sous la forme x not in a. Nombre d occurrences Avec la méthode count on peut compter le nombre de fois où x apparaît dans a. Avec la méthode index on peut connaître le première indice où x apparaît dans le tableau a. = [8,4,2,1,4,4,1].count(4) 3.index(4) 1 3. Opérations sur les tableaux Somme et produit sur les tableaux On peut ajouter (concaténer) deux tableaux a et b simplement en faisant a + b ; on peut également multiplier un tableau par un entier pour répéter une séquence. >>> [1, 2, 3] + [4, 5] [1, 2, 3, 4, 5] >>>5 * [1, 2] [1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 3

Insérer un élément Avec la méthode insert on ajoute un élément en choisissant sa place dans le tableau. = [5, 3, 8, 1, 4]. insert (1,9) Supprimer un élément Il y a différentes possibilités : Avec l instruction del on enlève un élément en particulier Avec la méthode pop on enlève un élément choisi et le résultat retourne l élément enlevé. Avec la méthode remove on enlève le premier élément égal à l élément donné. = [5, 3, 8, 1] >>>del a[1].pop(0).remove(8) [1] 4. Chaînes de caractères Conversion list/str On utilise la méthode join qui permet de prendre en argument une liste et donne une chaîne de caractères où les éléments sont séparés par un caractère choisi. separateur.join(liste) >>>L = [ 'Vivement','les ', 'vacances'] >>> ' '. join (L) >>>M = [ '0', '+', '0' ] >>> ' '.join(m) Conversion str/list Pour convertir une chaîne de caractères en liste, on la découpe selon un séparateur que l on a choisi, pour celà, on utilise la méthode split avec la syntaxe chaine.split(separateur) 4

>>>chaine = ' Vivement les vacances' >>>chaine. split ( ' ' ) >>>chaine. split ( 'e') Généralités Globalement, la plupart des résultats vus sur les listes s appliquent aux chaînes de caractères : les instructions len, count, la désignation des termes d une chaîne de caractère, le slicing Par contre, les méthodes del, pop, remove ne s appliquent pas aux chaînes de caractères. Pour supprimer des éléments d une chaîne de caractère, il faut alors avoir recours à d autres stratégies. Ex 7 Créer un programme qui demande à l utilisateur un mot et qui donne le nombre de voyelles et le nombre de consonnes de ce mot. Ex 8 Créer un programme qui demande un mot à l utilisateur et qui supprime les voyelles de ce mot. Ex 9 Créer un programme qui demande un mot à l utilisateur et qui range les lettres de ce mot par ordre alphabétique. 5