Quelle place occupe une chaîne de caractère ? En principe, un caractère occupe un octet. À chaque valeur comprise
entre 0 et 255 est associé un caractère. C’est le principe de l’ASCII "American Standard Code for Information
Interchange", norme de codage des caractères la plus connue et la plus utilisée. La table ASCII, inventée par les
américains, contient à l’origine les 128 caractères utiles pour écrire en anglais. Par défaut elle ne contient pas les
accents. Or la table ASCII peut contenir 256 caractères. Les 128 autres (huitième bit à un) contiennent des caractères
semigraphiques et des caractères spécifiques à certaines langues, typiquement le français, pour les caractères
accentués. On parle alors de page de code ou de charset. Ces pages font l’objet d’une normalisation, par exemple la
norme ISO 885915 qui est la page d’Europe de l’Ouest, avec le caractère de l’euro "€". Dans la plupart des langages
ce codage sur un octet suffit et ainsi une chaîne de caractères de 50 caractères occupe 50 octets.
En pseudocode algorithmique, les chaînes de caractères sont placées entre guillemets pour deux raisons :
Java dispose d’un type spécial pour les chaînes de caractères appelé "String". L’exemple suivant montre deux moyens
de placer du texte dans une chaîne. Il est possible de le faire dès la déclaration de la variable (c’est d’ailleurs possible
directement pour la plupart des types), soit ensuite par affectation.
class chap2_string1 {
public static void main(String[] args) {
String texte="Hello World !";
String text2;
text2="Bonjour les amis";
System.out.println(texte);
System.out.println(text2);
}
}
d. Le type booléen
Pour déterminer si une affirmation est vraie ou fausse, l’ordinateur doit se baser sur le résultat de cette affirmation. En
informatique, on emploie plus volontiers la notion d’expression et d’évaluation de cette expression. Une expression
peut être décrite comme étant tout ce qui peut fournir une valeur que l’ordinateur peut déterminer, stocker, évaluer.
Par exemple, l’affirmation "a>b" selon laquelle a est supérieur à b. Si a vaut 3 et b vaut 2, l’affirmation est vraie. Si
maintenant a vaut 1 et b vaut 2, l’affirmation est fausse. Dans les deux cas "a>b" est une expression qui vaut soit
vrai, soit faux. C’est le cas le plus simple, mais aussi le plus courant et le plus pratique comme vous le verrez lors des
tests et des conditions.
Comment l’ordinateur déterminetil ce qui est vrai et faux ? C’est le rôle, dans l’architecture de Von Neumann, de
l’UAL. Sous quelle forme l’ordinateur se représentetil ce qui est vrai ou faux ? Sous forme numérique, comme
toujours. Tout ce qui retourne un résultat différent de zéro (0) est considéré comme étant vrai, donc si le résultat vaut
zéro (0) alors il sera considéré comme faux. Avant de considérer cette définition comme exacte, renseignezvous tout
de même car certains langages (comme l’interpréteur de commande Unix) font l’inverse ! Cependant dans des
langages comme Java ou le C, 1 est vrai, 0 est faux.
Pour représenter les valeurs vrai et faux, il suffit de deux chiffres, 0 et 1. Combien fautil de place pour stocker ces
deux valeurs ? Un seul bit ! En pratique, les langages gèrent les booléens de plusieurs manières. Certains créent des
"champs" de bits dans un même octet, d’autres utilisent un octet complet, etc. Cependant, plusieurs langages
proposent le type booléen, très pratique.
Dans la pratique, ces langages proposent des constantes (des variables qui prennent une valeur une fois pour toute)
spéciales pour représenter les valeurs vrai et faux :
q TRUE pour vrai
q FALSE pour faux
1. Éviter une ambiguïté entre les nombres sous forme de chaîne de caractères et les nombres
au format numérique. Certains langages ne font certes pas directement la différence (c’est
selon le contexte d’utilisation) mais avec d’autres c’est catastrophique. La suite de
caractères 1,2,3 représentetelle le nombre 123 et stockée ainsi en mémoire sous forme
binaire dans un octet de la mémoire, ou la chaîne "123" stockée ainsi en mémoire sous
forme de codes ASCII, soit un pour chaque caractère ? Les guillemets évitent les erreurs
d’interprétations.
2. Ne pas confondre le nom de la variable avec son contenu, notamment lors d’une affectation.
Ainsi, quand vous affecterez un valeur à une variable, si celleci est entre guillemets vous lui
affecterez une chaîne de caractères, si c’est un nombre, ce sera ce nombre (sachant que le
nom d’une variable ne peut pas être constitué uniquement de chiffres), et enfin si ce n’est ni
une chaîne ni un chiffre, c’est une variable. Dans ce cas la première variable recevra comme
valeur celle de la seconde qui lui est affectée. Ne pas respecter ce principe est une cause
d’erreur grave et néanmoins commune.
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
26
entre 0 et 255 est associé un caractère. C’est le principe de l’ASCII "American Standard Code for Information
Interchange", norme de codage des caractères la plus connue et la plus utilisée. La table ASCII, inventée par les
américains, contient à l’origine les 128 caractères utiles pour écrire en anglais. Par défaut elle ne contient pas les
accents. Or la table ASCII peut contenir 256 caractères. Les 128 autres (huitième bit à un) contiennent des caractères
semigraphiques et des caractères spécifiques à certaines langues, typiquement le français, pour les caractères
accentués. On parle alors de page de code ou de charset. Ces pages font l’objet d’une normalisation, par exemple la
norme ISO 885915 qui est la page d’Europe de l’Ouest, avec le caractère de l’euro "€". Dans la plupart des langages
ce codage sur un octet suffit et ainsi une chaîne de caractères de 50 caractères occupe 50 octets.
En pseudocode algorithmique, les chaînes de caractères sont placées entre guillemets pour deux raisons :
Java dispose d’un type spécial pour les chaînes de caractères appelé "String". L’exemple suivant montre deux moyens
de placer du texte dans une chaîne. Il est possible de le faire dès la déclaration de la variable (c’est d’ailleurs possible
directement pour la plupart des types), soit ensuite par affectation.
class chap2_string1 {
public static void main(String[] args) {
String texte="Hello World !";
String text2;
text2="Bonjour les amis";
System.out.println(texte);
System.out.println(text2);
}
}
d. Le type booléen
Pour déterminer si une affirmation est vraie ou fausse, l’ordinateur doit se baser sur le résultat de cette affirmation. En
informatique, on emploie plus volontiers la notion d’expression et d’évaluation de cette expression. Une expression
peut être décrite comme étant tout ce qui peut fournir une valeur que l’ordinateur peut déterminer, stocker, évaluer.
Par exemple, l’affirmation "a>b" selon laquelle a est supérieur à b. Si a vaut 3 et b vaut 2, l’affirmation est vraie. Si
maintenant a vaut 1 et b vaut 2, l’affirmation est fausse. Dans les deux cas "a>b" est une expression qui vaut soit
vrai, soit faux. C’est le cas le plus simple, mais aussi le plus courant et le plus pratique comme vous le verrez lors des
tests et des conditions.
Comment l’ordinateur déterminetil ce qui est vrai et faux ? C’est le rôle, dans l’architecture de Von Neumann, de
l’UAL. Sous quelle forme l’ordinateur se représentetil ce qui est vrai ou faux ? Sous forme numérique, comme
toujours. Tout ce qui retourne un résultat différent de zéro (0) est considéré comme étant vrai, donc si le résultat vaut
zéro (0) alors il sera considéré comme faux. Avant de considérer cette définition comme exacte, renseignezvous tout
de même car certains langages (comme l’interpréteur de commande Unix) font l’inverse ! Cependant dans des
langages comme Java ou le C, 1 est vrai, 0 est faux.
Pour représenter les valeurs vrai et faux, il suffit de deux chiffres, 0 et 1. Combien fautil de place pour stocker ces
deux valeurs ? Un seul bit ! En pratique, les langages gèrent les booléens de plusieurs manières. Certains créent des
"champs" de bits dans un même octet, d’autres utilisent un octet complet, etc. Cependant, plusieurs langages
proposent le type booléen, très pratique.
Dans la pratique, ces langages proposent des constantes (des variables qui prennent une valeur une fois pour toute)
spéciales pour représenter les valeurs vrai et faux :
q TRUE pour vrai
q FALSE pour faux
1. Éviter une ambiguïté entre les nombres sous forme de chaîne de caractères et les nombres
au format numérique. Certains langages ne font certes pas directement la différence (c’est
selon le contexte d’utilisation) mais avec d’autres c’est catastrophique. La suite de
caractères 1,2,3 représentetelle le nombre 123 et stockée ainsi en mémoire sous forme
binaire dans un octet de la mémoire, ou la chaîne "123" stockée ainsi en mémoire sous
forme de codes ASCII, soit un pour chaque caractère ? Les guillemets évitent les erreurs
d’interprétations.
2. Ne pas confondre le nom de la variable avec son contenu, notamment lors d’une affectation.
Ainsi, quand vous affecterez un valeur à une variable, si celleci est entre guillemets vous lui
affecterez une chaîne de caractères, si c’est un nombre, ce sera ce nombre (sachant que le
nom d’une variable ne peut pas être constitué uniquement de chiffres), et enfin si ce n’est ni
une chaîne ni un chiffre, c’est une variable. Dans ce cas la première variable recevra comme
valeur celle de la seconde qui lui est affectée. Ne pas respecter ce principe est une cause
d’erreur grave et néanmoins commune.
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
26
