Leçon 4

Les chaînes de caractères en Javascript

Dans le répertoire javascript créez un dossier cours4. Il contiendra tous les fichiers de cette leçon.
Sur l'éditeur Brackets allez dans Fichier, ouvrez un dossier et sélestionnez le dossier cours4. Le nom du dossier s'affiche à gauche.
A l'aide d'un clic droit de la souris sur le nom du dossier, créez un dossier js puis un dossier html.

Longueur d'une chaîne de caractères

Pour obtenir la longueur d'une chaîne (c'est-à-dire le nombre de caractères qui la composent, qu'on appelle également sa taille), il suffit de lui ajouter .length.
On obtient la longueur sous la forme d'une valeur entière.
Copiez le code du programme longueur_chaîne.js ci-dessous.


Caractères et indice

Dans la barre de saisie en bas de l'écran de la page Firefox taper :


Puis tapez toujours dans la barre de saisie : mot[0] puis mot[1] puis mot[2] et mot[3].

Copiez le code du programme indice.js ci-dessous.


Dans une chaîne de caractères, chaque caractère est identifié par un numéro, appelé son indice. L'indice du premier caractère d'une chaîne est 0 et non 1.
Les caractères d'une chaîne sont donc numérotés de de 0 à sa longueur -1.
Il est important de noter que toutes les opérations applicables aux chaînes de caractères ne modifient JAMAIS la chaîne initiale, mais renvoient de nouvelles chaînes. Une fois créée, une chaîne de caractères JavaScript ne peut plus être modifiée. On dit qu'elle est immuable. On ne peut pas écrire mot[0]="k" pour changer le premier caractère de la chaîne mot, il faut créer une chaine mot1 vide (mot1="") et la construire en commençant par le caractère "k".

Autres outils

Minuscules et majuscules

toLowerCase() et toUpperCase() permettent respectivement de convertir une chaîne en minuscules et en majuscules. Elles sont pratiques pour réaliser différents tests ou pour uniformiser une chaîne de caractères.
Dans la barre de saisie en bas de l'écran de la page Firefox taper : "abcABC".toLowerCase() puis "abcABC".toUpperCase()

Code ASCII

L'American Standard Code for Information Interchange (Code américain normalisé pour l'échange d'information), plus connu sous l'acronyme ASCII ([askiː]) est une norme de codage de caractères en informatique.

Dans la barre de saisie en bas de l'écran de la page Firefox taper : "A".charCodeAt(), vous obtenez 65 qui est le code ASCII du carctère "A".
Tapez de même String.fromCharCode(65), vous retrouvez le caractère "A".

Exercices

Exercice1

  1. Taper le script chaine.js ci-dessous et le tester.
  2. Modifier le script précédent pour ne faire apparaître qu'un seul caractère sur 2. Aide : Algorithme
  3. Modifier le script précédent pour obtenir la même phrase mais sans les espaces. Aide : Algorithme
  4. Modifier le script précédent pour obtenir deux phrases : la première moitie puis la seconde. Aide : Algorithme

Exercice 2

Ecrivez un programme voyelles.js qui :

  1. Lit un mot saisie par l'utilisateur.
  2. Affiche le nombre de voyelles contenue dans le mot.
Aide : Algorithme

Exercice 3

Ecrivez un programme majuscule.js qui :

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche le nombre de fois que l'on trouve une majuscule dans la phrase.

On pourra utiliser l'information suivante : les codes ASCII des majuscules qui sont compris dans l'intervalle [65,90].

Aide : Algorithme

Exercice 4

Ecrivez un programme compter_caractere.js qui :

  1. Lit une phrase saisie par l'utilisateur.
  2. Lit un caractère saisie par l'utilisateur.
  3. Affiche le nombre de fois que l'on trouve le caractère dans la phrase.

Ce programme ne fera pas de distinction entre les majuscules et les minuscules.

Aide : Algorithme

Exercices 5

Ecrivez un programme etoiles.js qui:

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche une nouvelle phrase en insérant le caractère * entre les caractères de la phrase saisie.
Aide : Algorithme

Exercices 6

Ecrivez un programme inverse.js qui:

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche la même phrase où mais à l'envers
Aide : Algorithme

Exercices 7

Un palindrome est un mot que l'on peut lire de gauche à droite ou de droite à gauche comme LAVAL, RADAR, ROTOR.
Écrivez un programme palindrome.js qui lit un mot et répond si ce mot est un palindrome ou pas.
Le programme pourra afficher ; "Radar est un palindrome", autrement dit il ne distinguera pas les majuscules des minuscules.

Aide : Algorithme