Les chaines de caracte res

Documents pareils
Introduction à MATLAB R

Algorithme. Table des matières

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Quelle journée! Pêle-mêle. Qu est-ce que c est? DOSSIER Écoutez les phrases. Écrivez les mots de la page Pêle-mêle que vous entendez.

Réussir son entrée en grammaire au CE1

Lire, dire et écrire en utilisant les cartes heuristiques. OBJECTIFS

Une école au Togo, épisode 1/4

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

1 Recherche en table par balayage

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

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

Accompagnement personnalisé 6e

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Python - introduction à la programmation et calcul scientifique

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Algorithmique et structures de données I

Installation Eclipse Galileo. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

Logiciel SCRATCH FICHE 02

Algorithmique avec Algobox

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Créer un mémento grammatical portatif et évolutif pour tablettes et smartphones

Feuille TD n 1 Exercices d algorithmique éléments de correction

Algorithmique avec Algobox


Distinction des questions et des consignes

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

Notions fondamentales du langage C# Version 1.0

Cours 1 : Qu est-ce que la programmation?

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

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

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

LES DECIMALES DE π BERNARD EGGER

Dossier Logique câblée pneumatique

Utiliser le logiciel Interwrite Workspace

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Evaluation diagnostique de CM1 Circonscription de Saint Just en Chaussée Livret du maître partie Français

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

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

COMPTABILITE SAGE LIGNE 30

TP 1. Prise en main du langage Python

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

UltraBackup NetStation 4. Guide de démarrage rapide

Chap III : Les tableaux

Initiation à la programmation en Python

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

STAGE IREM 0- Premiers pas en Python

Indications pour une progression au CM1 et au CM2

DÉVELOPPEMENT D ACTIVITÉ Insertion sociale et professionnelle

Cours d algorithmique pour la classe de 2nde

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

François Émond psychologue 2003 Centre François-Michelle. Liste des 24 catégories de connaissances et compétences à développer

Quelques algorithmes simples dont l analyse n est pas si simple

Initiation. àl algorithmique et à la programmation. en C

Chapitre 1 I:\ Soyez courageux!

VOCALYS LITE.

Introduction à l algorithmique et à la programmation (Info 2)

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Solutions du chapitre 4

Exercice pour les tuteurs

Méthode du commentaire de document en Histoire

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

COURS WINDEV NUMERO 3

Informatique Générale

Le langage SQL Rappels

Algorithmique et Programmation

Utilisez les outils de la fiche méthode «étude d une affiche de film». Vous pouvez faire part d autres éléments concernant l étude de cette œuvre.

Messagerie vocale Édition Îles-de-la-Madeleine. Guide d utilisation télébec telebec.com

Compter à Babylone. L écriture des nombres

SOUTENIR LES ÉLÈVES AYANT DES PROBLÈMES DE MÉMOIRE DE TRAVAIL

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Stratégies favorisant ma réussite au cégep

Les couleurs. Un peintre distrait a oublié les noms des couleurs de sa palette : tu peux l aider à reconstituer l ordre correct (de gauche à droite)?

La gestion du son en AS3 est logique si on se réfère au fonctionnement d'une table de mixage audio!

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

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

Adama MBODJI MBODJ.SYSTEM

Modes Opératoires WinTrans Mai 13 ~ 1 ~

NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2

Carte transmetteuse téléphonique vocale pour centrale d alarme filaire

Les arbres binaires de recherche

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

VI- Exemples de fiches pédagogiques en 3 ème année primaires

Numérisation Traitement formel Ordinateur ET logiciel

Examen Médian - 1 heure 30

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Les nombres entiers. Durée suggérée: 3 semaines

Document d aide au suivi scolaire

FEN FICHE EMPLOIS NUISANCES

Introduction à EasyLanguage

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

Microsoft Excel Présentation du tableur Excel

Les actions. Exercices et jeux: de «arroser» à «monter» Exercices et jeux: de «éclairer» à «porter» Exercices et jeux: de «pousser» à «tirer» Bilans

I/ CONSEILS PRATIQUES

Puissances d un nombre relatif

COURS HOMOLOGUE ECDL/PCIE EXCEL 2013

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire

Cours de Systèmes d Exploitation

Transcription:

Les chaines de caracte res Les chaines de caractères en programmation Une chaine de caractères est une suite de caractères traitée comme un tout. Il existe des instructions qui nous permettent de combiner, comparer, trier, manipuler les chaines de caractères de différentes façons. Dans Scratch Nous créons une variable «nom» et nous y enregistrons une chaine de caractères. Les caractères de la chaine de caractères sont enregistrés en séquence. nom M a r t i n Dans la variable nom, nous avons 6 caractères auxquels nous pouvons accéder individuellement. renvoie «i», cinquième lettre de Martin. Scratch numérote les caractères à partir de 1. Marie-Laure Besson http://www.pilatcode.weebly.com Page 1

contenue dans la variable «nom». renvoie 6, longueur de la chaine de caractères concatène (met bout à bout) les deux chaines de caractères «Votre nom est :» et le contenu de la variable «nom». Dans Algobox Une variable qui doit contenir une chaine de caractères, doit être déclarée comme une variable de type «chaine». Pour affecter une chaine de caractères à une variable de type «chaine», il faut mettre la chaine entre guillemets. La longueur d une chaine de caractères est renvoyée par la fonction «length» appliquée à la variable contenant cette chaine. La fonction «substr» appliquée à une variable contenant une chaine de caractères, renvoie un ou des caractères extraits de cette chaine. Marie-Laure Besson http://www.pilatcode.weebly.com Page 2

La fonction «substr» possède deux paramètres : le numéro du premier caractère à extraire, le nombre de caractères à extraire. Contrairement à Scratch, Algobox numérote les caractères à partir de 0. Pour extraire le cinquième caractère de la variable «nom» : Pour concaténer deux chaines de caractères, il suffit de les lier avec le signe +. Travail sur les chaines de caractères Exemple1 : Compter les lettres L utilisateur fournit une phrase et une lettre. Notre programme doit indiquer combien il y a d occurrence de cette lettre dans la phrase. L algorithme Albobox : nous devons parcourir la chaine fournie par l utilisateur, caractère par caractère, et comparer chacun des caractères avec la lettre fournie. Dès qu un caractère de la chaine est identique au caractère fournie, nous ajoutons 1 à un compteur d occurrence. Nous avons besoin de 5 variables. Marie-Laure Besson http://www.pilatcode.weebly.com Page 3

Une variable de type chaine dans laquelle nous allons enregistrer la phrase fournie par l utilisateur : «phrase» Une variable de type chaine dans laquelle nous allons enregistrer la lettre fournie par l utilisateur : «lettre» Une variable de type nombre qui mémorisera le nombre de fois où l on rencontre la lettre lorsqu on parcourt la chaine : «occurrence» Une variable de type nombre qui mémorisera la longueur de la chaine fournie, de façon à savoir quand nous avons fini le parcours de la chaine : «longueur» Une variable de type nombre qui nous servira d index pour parcourir la chaine. Cette variable désignera le numéro du caractère de la chaine à traiter : «i» Marie-Laure Besson http://www.pilatcode.weebly.com Page 4

Dans la boucle «Pour», l index i part de 0 (Albobox numérote les caractères d une chaine à partir de 0) et s arrêtera lorsqu il aura dépassé la valeur longueur 1. Si ma chaine a 6 caractères, avec Algobox, le dernier caractère aura le numéro 5. Dans l instruction nous extrayons le ième caractère de la chaine «phrase» et nous le comparons au seul caractère de la chaine «lettre». S il y a égalité, nous ajoutons 1 au compteur d occurrence. Arrivé à la fin de la boucle «Pour», l index i est incrémenté de 1 et l exécution remonte sur le début de la boucle. Si i n a pas dépassé la valeur longueur-1, on traite le caractère suivant dans la phrase. La fin de l algorithme après la boucle «Pour» est l affichage du résultat. Marie-Laure Besson http://www.pilatcode.weebly.com Page 5

Avec Scratch : Nous déclarons les mêmes variables et nous demandons à l utilisateur de fournir la phrase et la lettre. Nous initialisons les variables à leur valeur de départ : «longueur» à la longueur de «phrase», «occurrence» à 0 et «i» à 1, car Scratch numérote les caractères à partir de 1. Scratch n ayant pas de boucle «Pour» proprement dite, nous pouvons utiliser «répéter fois», en utilisant la valeur contenue dans «longueur». Nous aurions aussi pu utiliser une structure «répéter jusqu à» en comparant la valeur de l index «i» avec la valeur de «longueur». Marie-Laure Besson http://www.pilatcode.weebly.com Page 6

Nous exécutons la boucle jusqu à ce que «i» devienne supérieur à «longueur» Dans la boucle, nous comparons le ième caractère de «phrase» avec le caractère de «lettre». S il y a égalité, nous augmentons «occurrence» de 1. Avec Scratch, il ne faut pas oublier d incrémenter «i» de 1. Exemple 2 : Conjuguer un verbe du premier groupe. L utilisateur fournit un verbe du premier groupe et le programme affiche la conjugaison de ce verbe au présent de l indicatif. Algorithme Algobox : Un verbe du premier groupe est composé d un radical, suivi d une terminaison «er». Lorsqu on conjugue, nous gardons le radical et nous le faisons suivre des terminaisons du présent de l indicatif : e, es, e, ons, ez, ent. Marie-Laure Besson http://www.pilatcode.weebly.com Page 7

Notre programme doit donc extraire le radical du verbe fourni par l utilisateur, puis il doit le combiner avec les différents pronoms et terminaisons. Nous avons besoins des variables suivantes : Variable «verbe» de type chaine de caractères pour mémoriser le verbe à conjuguer. Variable «radical» de type chaine de caractères pour mémoriser le radical du verbe à conjuguer. Variable «longueur» de type nombre pour mémoriser la longueur du radical du verbe à conjuguer. Variable «verbec» de type chaine, dans laquelle nous mémoriserons la ligne de conjugaison à afficher. Marie-Laure Besson http://www.pilatcode.weebly.com Page 8

À la ligne 9 de l algorithme nous extrayons le radical de la variable verbe en une seule instruction. Avec Scratch Nous nous passerons de la variable verbc, qui alourdit le programme. Par contre, l extraction du radical, à partir du verbe demande une nouvelle variable index «i». En effet, nous sommes obligés de reconstituer ce radical, lettre par lettre, car les deux seules instructions à notre disposition sont : «lettre de» qui nous permet de récupérer une lettre de la chaine de caractères et «regroupe» qui permet de concaténer deux chaines de caractères. Marie-Laure Besson http://www.pilatcode.weebly.com Page 9

Nous déclarons toutes les variables, comme locales au lutin. Seul ce lutin pourra les utiliser. La variable «i» est initialisée à la valeur 1. La variable «radical» est initialisée à une chaine vide. La variable «longueur» prend une valeur égale à la longueur du verbe à conjuguer les deux caractères de la terminaison. Nous tournons dans la boucle «répéter fois» un nombre de fois égal à la longueur du radical. Dans cette boucle nous extrayons le ième caractère du verbe et nous le mettons au bout du radical et nous mettons le radical à jour. Exemple : verbe sauter. radical = i = 1 longueur = 4. Nous devons parcourir la boucle 4 fois. Première fois lettre 1 de verbe = s radical s i = 2 Marie-Laure Besson http://www.pilatcode.weebly.com Page 10

Deuxième fois lettre 2 de verbe = a radical sa (Surligné rose = le contenu de «radical» au moment de la concaténation) i = 3 Troisième fois lettre 3 de verbe = u radical sau i = 4 Quatrième fois lettre 4 de verbe = t radical saut i = 5 Marie-Laure Besson http://www.pilatcode.weebly.com Page 11

Exercice 1 : Lire une chaine de caractères et l écrire en sens inverse. Écrire l algorithme dans Algobox et le traduire dans Scratch Exercice 2 : Lire une chaine de caractères et dire si cette chaine est un palindrome. Un palindrome est une chaine de caractère qui peut se lire dans les deux sens. Quelque palindromes : elle, kayak, ici, radar, ressasser, sagas, rotor, ara, non, serres, sexes Écrire l algorithme dans Algobox et le traduire dans Scratch Exercice 3 : Convertisseur Binaire Décimal Voir la fiche du projet, puis la vidéo consacrée à ce projet. Il est important de bien lire et comprendre la fiche du projet, avant de regarder la vidéo. Marie-Laure Besson http://www.pilatcode.weebly.com Page 12