Utilitaires Chaînétique [sr01] - Outils

Documents pareils
alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Initiation à LabView : Les exemples d applications :

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

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

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

Initiation à la programmation en Python

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

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

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

V- Manipulations de nombres en binaire

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Chap III : Les tableaux

Codage d information. Codage d information : -Définition-

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

COMPTABILITE SAGE LIGNE 30

Travaux Dirigés n 1 : chaînes de caractères

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

1 Introduction au codage

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

Les arbres binaires de recherche

Créer vos données sources avec OpenOffice, adieu Excel

Logiciel de Base. I. Représentation des nombres

a) b)

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

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Solutions du chapitre 4

NOTICE TELESERVICES : Créer mon compte personnel

TRACER LE GRAPHE D'UNE FONCTION

Découverte de Python

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette

TP 1. Prise en main du langage Python

Modes Opératoires WinTrans Mai 13 ~ 1 ~

PRESENTATION DES RECOMMANDATIONS DE VANCOUVER

3.5 INTERROGATION DES COMPTES

Esterel The french touch star touch esterel advance

Mon aide mémoire traitement de texte (Microsoft Word)

Créer une base de données

Installation SQL Server 2005 Express sur le serveur

STAGE IREM 0- Premiers pas en Python

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

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

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

UE Programmation Impérative Licence 2ème Année

Revision 1.0 FR. Guide service technique

L informatique en BCPST

TP, première séquence d exercices.

UE C avancé cours 1: introduction et révisions

Utilisation d objets : String et ArrayList

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Plan du cours Cours théoriques. 29 septembre 2014

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

Mesurer les performances (CPU) sous Linux

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

Cours de Probabilités et de Statistique

Cours 1 : Qu est-ce que la programmation?

Localisation des fonctions

Limites finies en un point

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Démonstration d utilisation De NesmaCom

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

Plus courts chemins, programmation dynamique

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

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

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Rappels Entrées -Sorties

La mémoire. Un ordinateur. L'octet. Le bit

Traitement de texte : Quelques rappels de quelques notions de base

Cours Informatique Master STEP

Introduction à MATLAB R

Introduction à l algorithmique et à la programmation M1102 CM n 3

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Quelques algorithmes simples dont l analyse n est pas si simple

Manuel du gestionnaire

Cours d algorithmique pour la classe de 2nde

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DESCRIPTION DU PLUGIN POUR SPIP D IMPORTATION D'AUTEURS, DE MOTS-CLES ET D EXPORTATION D'AUTEURS, DE MOTS-CLES, DES CONTRIBUTIONS D UN FORUM

LES MOTEURS DE RECHERCHE SUR INTERNET

Jeu d instructions NIOS II

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

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)

Entraînement au concours ACM-ICPC

Continuité et dérivabilité d une fonction

Bernard Lecomte. Débuter avec HTML

Par combien de zéros se termine N!?

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

Algorithmique, Structures de données et langage C

Premiers pas avec Mathematica

Transcription:

Utilitaires Chaînétique [sr01] - Outils Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 9 avril 2015 Table des matières 1 Utilitaires Chaînétique / sr01outils1 1 1.1 Fonction cvascii (caractère ascii d un chiffre)................ 1 1.2 Fonction estblanc (test de caractère blanc)................. 1 1.3 Procédure compressertexte (compression des soulignés).......... 1 1.4 Procédures de décalage (décalage d une chaîne).............. 2 1.5 Fonction cvchiffre (caractère chiffre en entier)............... 2 1.6 Fonction anagrammique (test d anagrammie)................ 3 1.7 Fonction anagramme (anagramme aux blancs près)............ 3 1.8 Fonction estchiffre (test caractère chiffre).................. 4 1.9 Fonction minuscules (minuscule d une chaîne)............... 4 1.10 Fonction majuscules (majuscule d une chaîne)............... 4 1.11 Fonction nnenchaine (entier à deux chiffres en chaîne).......... 4 1.12 Fonction palindromique (test de palindromie)............... 5 1.13 Fonction palindrome (palindrome aux blancs près)............. 5 1.14 Fonction nreplicatats (replicatat d un caractère).............. 6 1.15 Fonction positioncarac (position d un caractère).............. 6 1.16 Procédure permuter2c (permutation de caractères)............. 6 1.17 Procédure permuter2s (permutation dans une chaîne)........... 7 1.18 Procédure renversertexte (renverse une chaîne).............. 7 1.19 Procédure saisirtexte (saisie d un texte).................. 7 1.20 t : miroirtexte (miroir d une chaine).................... 8 1.21 u,v,w...................................... 8 1.22 Opérations de base (sur une chaine)..................... 8 1.23 Fonction cvchaine (entier en chaine)..................... 8 1.24 Fonction cvnombre (chaîne en entier).................... 8 1 Utilitaires Chaînétique / sr01outils1 1.1 Fonction cvascii (caractère ascii d un chiffre) Un chiffre est un entier dans [0..9]. 1

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 2 Écrivez une fonction cvascii(n) qui calcule et renvoie le caractère ascii d un chiffre n. Exemple : cvascii(3) ==> 3 Outil alg La fonction CaractèreAscii(x) renvoie une chaîne d un seul caractère dont l entier x a été passé en paramètre et la fonction CodeAscii(c) renvoie le code ascii d un caractère c. 1.2 Fonction estblanc (test de caractère blanc) Écrivez une fonction estblanc(c) qui teste et renvoie Vrai si un caractère c est un blanc, Faux sinon. Définissez comme «blanc» le caractère espace, la virgule et le point-virgule (par exemple). 1.3 Procédure compressertexte (compression des soulignés) Écrivez une procédure compressertexte(txt) qui compresse une chaine de caractères txt en mettant tous les soulignés en fin de chaine. 1.4 Procédures de décalage (décalage d une chaîne) Écrivez une procédure decalergauche(txt) qui décale d un cran vers la gauche les caractères d un texte txt. Exemple : message deroulant ==> essage deroulantm Aide simple Utilisez une boucle Pour (son équivalent en programmation). Aide méthodologique Il faut opérer en trois temps : 1. Sauvegardez le caractère le plus à gauche dans une variable temporaire tmp. 2. Décalez le reste du texte (c.-à-d. du deuxième au dernier caractère) d un cran vers la gauche. 3. Placez le caractère sauvé tmp à l extrême droite.

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 3 Écrivez une procédure decalerdroite(txt) qui décale d un cran vers la droite les caractères d un texte txt. Exemple : message deroulant ==> tmessage deroulan Aide simple Utilisez une boucle Pour (son équivalent en programmation). Aide méthodologique Idem ci-dessus mais dans l autre sens : 1. Sauvegardez le caractère le plus à droite dans une variable temporaire tmp. 2. Décalez le reste du texte d un cran vers la droite (c.-à-d. par pas décroissant de l avant dernier au premier caractère). 3. Placez le caractère sauvé tmp à l extrême gauche. 1.5 Fonction cvchiffre (caractère chiffre en entier) Les caractères des chiffres 0, 1,..., 9 se suivent dans le jeu de caractères de la machine. Étant donné un caractère c contenant l un des caractères de chiffre, comment pouvezvous obtenir la valeur numérique qu il représente, c.-à-d. l entier 0, 1,..., 9? Écrivez une fonction cvchiffre(c) qui calcule et renvoie la valeur numérique d un caractère c représentant un chiffre. Outil alg La fonction CodeAscii(c) renvoie le code ascii d un caractère c. 1.6 Fonction anagrammique (test d anagrammie) Chaînes anagrammes Deux chaines de caractères sont anagrammes l une l autre si et seulement si tout caractère de l une est dans l autre et réciproquement. Écrivez une fonction anagrammique(a,b) qui teste et renvoie Vrai si deux chaînes de caractères a et b sont anagrammes l une l autre, Faux sinon. La fonction ne doit pas trier les deux chaines puis les comparer (ceci n est pas efficace).

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 4 1.7 Fonction anagramme (anagramme aux blancs près) Chaînes anagrammes aux blancs près Deux chaînes de caractères sont anagrammes l une l autre aux blancs près si après compression elles sont anagrammes l une l autre. Soit la fonction estblanc(c) quirenvoie Vrai si un caractère c est un blanc, Faux sinon. Sont définis comme «blanc» le caractère espace, la virgule et le point-virgule. alg @[estblanca1.alg] Écrivez une fonction anagramme(a,b) qui teste et renvoie Vrai si deux chaînes de caractères a et b sont anagrammes l une l autre aux blancs près, Faux sinon. La fonction ne doit ni compresser les deux chaînes, ni les trier : ceci n est pas efficace../images/sr01exerc0g.png Figure 1 Graphe des appels 1.8 Fonction estchiffre (test caractère chiffre) Écrivez une fonction estchiffre(c) qui teste et renvoie Vrai si un caractère c représente un chiffre, Faux sinon. 1.9 Fonction minuscules (minuscule d une chaîne) Une lettre est un caractère A à Z ou a à z. Écrivez une fonction minuscule(c) qui calcule et renvoie la minuscule d une lettre c, le caractère c sinon. Déduisez une fonction minuscules(txt) qui calcule et renvoie la minuscule d une chaine de caractères txt.

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 5 1.10 Fonction majuscules (majuscule d une chaîne) Une lettre est un caractère A à Z ou a à z. Écrivez une fonction majuscule(c) qui calcule et renvoie la majuscule d une lettre c, le caractère c sinon. Déduisez une fonction majuscules(txt) qui calcule et renvoie la majuscule d une chaine de caractères txt. 1.11 Fonction nnenchaine (entier à deux chiffres en chaîne) Ce problème traduit un nombre à deux chiffres en chaîne. Écrivez une fonction chiffreenchaine(n) qui calcule et renvoie la caractère ascii d un chiffre n (entier dans [0..9]). Écrivez une fonction nnenchaine(n,b) qui calcule et renvoie la traduction d un entier n de deux chiffres en chaîne. Si le booléen b est Vrai, l éventuel zéro des dizaines est traduit. Exemples : nnenchaine(6,vrai) ==> "06" nnenchaine(6,faux) ==> "6" Outil alg L opérateur de concaténation de chaîne est noté &. 1.12 Fonction palindromique (test de palindromie) Chaîne palindrome Une chaîne de caractères est un palindrome si la chaîne est égale à son renversé, ce qui se traduit aussi par sa lecture de la gauche vers la droite est identique à la lecture de la droite vers la gauche. Exemples : Radar, Rotor, Kayak, Ressasser

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 6 Écrivez une fonction palindromique(txt) qui teste et renvoie Vrai si une chaîne de caractères txt est un palindrome, Faux sinon. La fonction ne doit pas modifier txt, ni créer de chaîne de caractères temporaire (qui serait le renversé de txt). 1.13 Fonction palindrome (palindrome aux blancs près) Chaîne palindrome aux blancs près Une chaîne de caractères est un palindrome aux blancs près si après compression des caractères uniquement, la chaîne est égale à son renversé, ce qui se traduit aussi par sa lecture de la gauche vers la droite est identique à la lecture de la droite vers la gauche. Exemple : engage le jeu que je le gagne ==> Vrai Écrivez une fonction palindrome(txt) qui teste et renvoie Vrai si une chaîne de caractères txt est un palindrome aux blancs près, Faux sinon. La fonction ne doit pas modifier txt, ni créer de chaîne de caractères temporaire. Aide méthodologique Utilisez un indice j parcourant la chaîne de la gauche vers la droite et un indice k parcourant la chaîne de la droite vers la gauche. Initialement la chaîne est un palindrome. Tant que la chaîne est un palindrome et que j est inférieur ou égal à k, effectuez les trois actions suivantes : Avancez l indice j vers la droite tant que le caractère en j est un blanc. Avancez l indice k vers la gauche tant que le caractère en k est un blanc. Comparez les caractères en j et k qui doivent être identiques pour que ce soit un palindrome. Notez que les trois actions ne sont valides que si j est inférieur ou égal à k. 1.14 Fonction nreplicatats (replicatat d un caractère) Écrivez une fonction nreplicatats(n,c) qui calcule et renvoie une chaîne de n (nombre de replicatats) caractères c (caractère à reproduire). Exemples : nreplicatats(3, * ) ==> "***" nreplicatats(5, a ) ==> "aaaaa"

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 7 1.15 Fonction positioncarac (position d un caractère) Écrivez une fonction positioncarac(txt,c,n) qui recherche et renvoie l indice le plus à droite d un caractère c dans les n caractères d une chaine de caractères txt. Dans le cas d une recherche infructueuse, la fonction renvoie -1. 1.16 Procédure permuter2c (permutation de caractères) Écrivez une procédure permuter2c(c1,c2) qui permute les contenus des caractères c1 et c2. Pour permuter deux variables, il faut passer par une variable tem- Rappel de cours poraire. 1.17 Procédure permuter2s (permutation dans une chaîne) Écrivez une procédure permuter2s(txt,j,k) qui permute le contenu des caractères en position j (entier) et k (entier) d une chaîne de caractères txt. 1.18 Procédure renversertexte (renverse une chaîne) Ce problème utilise la procédure permuter2s. Écrivez une procédure renversertexte(txt) qui renverse une chaîne de caractères txt, c.-à-d. qui permute son premier avec son dernier caractère, son deuxième avec son avant dernier caractère, etc.

Unisciel algoprog Utilitaires Chaînétique / sr01outils1 (alg, TD) 8 1.19 Procédure saisirtexte (saisie d un texte) Écrivez une procédure saisirtexte(txt) qui demande et saisit un texte dans txt (chaine de caractères) et remplace les caractères soulignés _ par des espaces. 1.20 t : miroirtexte (miroir d une chaine) 1.21 u,v,w 1.22 Opérations de base (sur une chaine) Ce problème définit les primitives d accès et de modification d un caractère dans une chaîne indépendamment d un langage de programmation. Écrivez une fonction evalcarac(txt,p) qui renvoie le p-ème caractère d un texte txt (chaine de caractères). Écrivez une procédure fixercarac(txt,p,c) qui fixe le p-ème caractère d un texte txt (chaine de caractères) au caractère c. 1.23 Fonction cvchaine (entier en chaine) Écrivez une fonction cvchaine(n) qui convertit un entier n en une chaine de caractères qui est sa représentation en base 10 et renvoie cette chaîne. 1.24 Fonction cvnombre (chaîne en entier) Écrivez une fonction cvnombre(s) qui convertit une chaîne numérique s (supposée valide) représentant un entier en base 10 et renvoie cet entier.