Les différents types de données et leurs opérations de base

Dimension: px
Commencer à balayer dès la page:

Download "Les différents types de données et leurs opérations de base"

Transcription

1 Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale Partie 1 Les 3 familles de données et l'opération d'affectation Les trois familles de données A. La famille des données qui contiennent des nombres B. La famille des données qui contiennent des caractères C. La famille des booléens D. Remarque : comment choisir le type d'une donnée? Arrêtons-nous sur l'opération d'affectation (ç) avant d'aller plus loin A. Les différents modes d'affectation B. La compatibilité entre types Partie 2 Les données de type numérique et leurs opérations de base Exemples de déclarations de données de type numérique Les opérations sur les données de type numérique A. L'affectation B. Les opérations arithmétiques C. Les opérations de comparaison D. Une opération de conversion : la fonction fchaîne Partie 3 Les chaînes de caractères et leurs opérations Exemples de déclarations de données de type caractère et chaîne de caractères TGPA0107-seq02.indd 19 6/09/07 11:05:58

2 Séquence 2 2. Les opérations sur les caractères et les chaînes de caractères A. L'affectation d'une valeur à une chaîne de caractères B. Les opérations de comparaisons sur les caractères et les chaînes de caractères 2C. Longueur d'une chaîne de caractères D. La concaténation de chaînes de caractères E. Le découpage de chaînes de caractères F. La conversion d'une chaîne de caractères en donnée de type numérique G. La fonction chr et la fonction ascii Partie 4 Les booléens et leurs opérations de base NON, ET, OU Exemple de déclaration Les opérations de base sur les données de type booléen A. L'affectation B. Les opérations booléennes non, et et ou TGPA0107-seq02.indd 20 6/09/07 11:05:59

3 Les différents types de données et leurs opérations de base Présentation générale Les données sont les variables ou les constantes que l'on utilise dans nos algorithmes. Déclaration des données On les déclare dans le lexique et on leur donne des valeurs dans l'algorithme. On les utilise ensuite pour écrire les traitements dans notre algorithme (calculs, affichage, tests, etc.). Quand on déclare une donnée, cela a pour effet de lui réserver un emplacement de taille suffisante dans la mémoire vive de l'ordinateur. Mais ce n'est pas parce qu'on a déclaré une donnée qu'elle a une valeur. En fait, quand on déclare une donnée, un emplacement lui est réservé en mémoire vive. Dans cet emplacement, il y a quelque chose, mais on ne sait pas quoi, ce qui fait que si on utilise la donnée sans lui avoir au préalable donné la valeur que l'on souhaite, on risque de faire, par exemple, des calculs dont les résultats ne seront pas ceux attendus. Rappelons-nous qu'une donnée, c'est comme une boîte. Le nom de la donnée, c'est comme une étiquette sur la boîte ce nom n'a rien à voir avec le contenu de la donnée. Déclarer une donnée revient à prendre une boîte vide et à coller une étiquette dessus ; pour l'instant, la boîte est toujours vide. Après avoir déclaré une donnée et avant de l'utiliser, il faut toujours lui donner une valeur, c'est-à-dire mettre quelque chose dans la boîte. Constante On peut choisir de donner une valeur à une donnée une fois pour toute, c'est le cas si la donnée est une constante (dans ce cas, la donnée aura toujours la même valeur chaque fois qu'on exécutera le programme correspondant à l'algorithme). Dans les algorithmes, on indique qu'une donnée est une constante par le mot réservé constante (à la place de saisie ou calculé), et on peut même indiquer la valeur de cette constante dans le lexique. Selon les langages de programmation, il peut y avoir nécessité lors de la déclaration de préciser par un mot réservé du genre const que la donnée est une constante. Variable Mais on peut aussi décider que cette donnée doit pouvoir changer de valeur au cours de l'exécution du programme correspondant à notre algorithme, et dans ce cas, la donnée est une variable (la notion de variable, en algorithmique, est exactement la même que la notion de variable en mathématiques). Affectation L'opération qui a pour effet de donner une valeur à une donnée s'appelle l'affectation (symbole de cette opération en algorithmique : ç). L'opération d'affectation peut prendre des formes très diverses selon les données et la façon dont on veut leur affecter une valeur. Nous allons découvrir ces différentes façons au fil de ce cours et pour chaque type de données étudié. Type Le type d'une donnée, c'est le fait que ça soit plutôt un nombre, plutôt un mot ou plutôt autre chose encore. Grosso modo, il existe 3 grandes familles de types de données de base TGPA0107-seq02.indd 21 6/09/07 11:05:59

4 Séquence 2 Partie 1 Les 3 familles de données et l'opération d'affectation 1. Les trois familles de données En programmation, il existe 3 familles de types de base pour les données. une famille de données à caractère numérique ; une famille concernant les caractères ; une troisième famille concernant les booléens. 1A. La famille des données qui contiennent des nombres Les données sont dites de type numérique. En algorithmique et programmation, on utilise soit des nombres entiers (la donnée est alors de type entier), soit des nombres à virgule (la donnée est alors de type réel). 1B. La famille des données qui contiennent des caractères Ces données contiennent une ou plusieurs lettres, chiffres, éléments de ponctuation, c'est-à-dire tout ce qui peut s'afficher à l'écran en tapant sur un clavier. Une donnée qui contient un seul caractère est de type caractère. Une donnée qui contient plusieurs caractères s'appelle une chaîne de caractères et est de type chaîne. Les chaînes de caractères peuvent être de différentes longueurs. La longueur maximale d'une chaîne de caractères s'indique lors de la déclaration, dans le lexique de l'algorithme. Si on déclare, par exemple, unechaîne (chaîne[14], saisie), cela indique que la donnée unechaîne pourra contenir au maximum 14 caractères. Si on déclare uneautrechaîne (chaîne, saisie), sans préciser la longueur maximale de la chaîne uneautrechaîne, cela signifie que la donnée uneautrechaîne pourra contenir la longueur par défaut d'une chaîne de caractères, qui dépend du langage de programmation (l'expression par défaut signifie quand on ne précise pas). 1C. La famille des booléens Ce sont des données ne pouvant valoir que vrai ou faux. Les booléens sont utilisés pour faire des tests dans nos programmes. 1D. Remarque : comment choisir le type d'une donnée? Tout dépend de ce que doit contenir la donnée (c'est-à-dire que tout dépend de ce qu'on veut mettre dans la boîte). Exemples Si la donnée doit contenir un mot, alors, il faut lui donner le type chaîne. Si elle doit contenir juste une lettre, alors, on peut choisir le type caractère ou le type chaîne[1] TGPA0107-seq02.indd 22 6/09/07 11:05:59

5 Les différents types de données et leurs opérations de base Si on veut faire des calculs arithmétiques sur la donnée, alors il faut choisir un type numérique (entier ou réel). Si la donnée est amenée à contenir à la fois des lettres et des chiffres, alors il faut choisir un type caractère ou chaîne. etc. Ce qui est important, c'est d'affecter à la donnée des valeurs correspondant bien à son type, sinon, le programme «plante» (on testera ça dans le TP accompagnant cette séquence). 2. Arrêtons-nous sur l'opération d'affectation (ç) avant d'aller plus loin Rappel : affecter une valeur à une variable signifie lui donner une valeur. Un autre mot peut désigner l'opération d'affectation, ce mot est initialisation. L'initialisation est une affectation particulière. Initialiser, c'est affecter une valeur, pour la première fois depuis sa déclaration, à une variable qui est amenée à prendre une suite de valeurs successives au cours du déroulement de l'algorithme, ou bien qui est amenée à changer ou non de valeur selon les situations. 2A. Les différents modes d'affectation On peut affecter une valeur à une donnée (c'est-à-dire qu'on peut mettre quelque chose dans la boîte) soit : par saisie. Dans ce cas, quel que soit le type de la donnée madonnée, l'instruction saisir (madonnée) signifie : «Récupère ce qui est saisi au clavier et quand l'utilisateur appuie sur la touche Entrée, range ce qui a été saisi dans la donnée madonnée» ; par affectation à l'aide d'une valeur constante ; par affectation avec une autre variable ; par calcul ; par lecture de la valeur dans un fichier (ceci ne sera pas étudié dans cette séquence, mais lorsque nous aurons abordé les fichiers). Le tableau suivant donne quelques exemples pour chaque façon d'affecter une valeur à une donnée (sauf pour l'affectation par lecture de la valeur dans un fichier, qui sera étudiée au chapitre sur les fichiers) TGPA0107-seq02.indd 23 6/09/07 11:05:59

6 Séquence 2 Suite à cette instruction, notre programme attend que l'utilisateur saisisse quelque chose et lorsque l'utilisateur valide sa saisie, le programme range ce qui a été saisi dans la donnée lenombre. Si ce qui a été saisi contient des lettres ou une virgule, le programme ne peut pas ranger ce qui a été saisi dans la donnée lenombre (qui est de type entier) et s'arrête en signalant une erreur. Exemples d'affectations correctes Affectation Lexique de l'exemple Algo par saisie par affectation à l'aide d'une valeur constante par affectation avec une autre variable par calcul lenombre (entier, saisi) lemot (chaîne, saisi) lenombre (entier, calculé) lemot (chaîne, calculé) lenombre (entier, saisi) lemot (chaîne[5], saisi) leréel (réel, calculé) lautremot (chaîne[6], calculé) lenombre (entier, saisi) lemot (chaîne[5], saisi) leréel (réel, calculé) lautremot (chaîne[6], calculé) Début Saisir (lenombre) Saisir (lemot) Début lenombre ç 4 lemot ç "Toto52" Début Saisir (lenombre) Saisir (lemot) leréel ç lenombre lautremot ç lemot Début Saisir (lenombre) leréel ç lenombre + 5 lenombre ç 7 Ici, la variable lenombre avait déjà une valeur, saisie par l'utilisateur et l'opération lenombre ç 7 a pour effet de remplacer (on dit "écraser") l'ancienne valeur de lenombre par la valeur 7. Vous remarquerez que quand on affecte une valeur à une chaîne de caractères par une chaîne constante, la chaîne constante en question est entre "" (quotes). Si on n'encadre pas cette chaîne par des quotes, alors l'ordinateur croit que le programme veut affecter le contenu de la donnée s'appelant toto à la donnée lemot. Suite à ces 2 opérations d'affectation, lenombre vaut 4 et lemot vaut Toto52 Pour pouvoir affecter la valeur de lenombre à leréel, lenombre doit lui-même contenir une valeur, sinon on affecte à leréel une valeur indéfinie. Nous n'avons bien sûr vu que des affectations très simples, elles se compliqueront plus tard et nous reviendrons, dans cette séquence, à l'opération d'affectation lors de la présentation de chaque type (numérique, chaîne, booléen) et des opérations qu'on peut lui appliquer TGPA0107-seq02.indd 24 6/09/07 11:06:00

7 Les différents types de données et leurs opérations de base 2B. La compatibilité entre types On ne peut pas affecter n'importe quel type de valeur à n'importe quel type de données pour la simple et bonne raison qu'une donnée, selon son type, n'est pas codée de la même façon en machine (je vous renvoie à votre cours d'amsi pour découvrir la différence de codage en machine existant par exemple entre la chaîne de caractères «23» et le nombre entier 23). De plus, même lorsqu'on affecte à une donnée une valeur du bon type, l'affectation peut être impossible ou incorrecte si la valeur que l'on veut ranger dans la donnée est trop grande. Voici les 4 règles simples que nous utiliserons : on peut affecter un entier à un réel, mais pas l'inverse (sinon, on perd de l'information : ce qui est derrière la virgule) ; on ne peut pas affecter un numérique à une chaîne de caractères, ni une chaîne de caractère à un numériques. Si on veut faire ça, il faut convertir le nombre en chaîne ou la chaîne en nombre à l'aide de fonctions de conversions que nous allons voir plus bas dans la présentation détaillée de chaque type de données ; on doit également s'astreindre à n'affecter à un booléen qu'un autre booléen ; si on range une chaîne plus grande dans une chaîne plus petite, on perd la fin de la plus grande des 2 chaînes. Le tableau suivant vous présente quelques exemples d'affectations incorrectes, en vous expliquant pourquoi ces opérations d'affectations ne sont pas acceptables. Exemples d'affectations incorrectes Lexique Algo Explication lenombre (entier, saisi) Début lachaine (chaîne[5], saisie) lenombre (entier,calculé) Afficher(«Saisissez un nombre entier») Saisir(leNombre) Début Afficher(«Saisissez un mot») Saisir(laChaine) Début lenombre "4" Si l'utilisateur saisit par exemple 54J, lorsqu'il valide sa saisie, un message d'erreur s'affichera car le caractère J fait que 54J n'est pas un nombre. S'il saisit 12,45, l'opération d'affectation est également incorrecte car la donnée lenombre a été déclarée comme étant de type entier et ne sait pas stocker les nombres à virgule. L'utilisateur peut ici saisir n'importe quoi (toto, 652 ou même rien) à partir du moment où ce qu'il saisit ne dépasse pas 5 caractères, on peut ranger n'importe quoi dans la donnée lachaine. Par contre, tout ce que l'utilisateur saisit qui dépasse 5 caractères sera ignoré lors de l'opération d'affectation car la variable lachaine est limitée à 5 caractères. Ici, on tente d'affecter à une variable de type entier la constante chaîne de caractères 4 (ce sont les " " qui indiquent qu'il s'agit d'une constante chaîne). Si on veut affecter la valeur 4 à la variable lenombre, il faut écrire : lenombre 4 (sans quotes) TGPA0107-seq02.indd 25 6/09/07 11:06:00

8 Séquence 2 lachaine (chaîne[5], calculée) lenombre (entier, calculé) lachaine (chaîne[5], calculée) Début lachaine toto Début lenombre 14 lachaîne lenombre Ici, on essaie d'affecter à la variable lachaine la valeur de la variable toto. Or, comme toto n'a pas été déclarée et encore moins initialisée à l'aide d'une valeur, notre programme ne pourra pas fonctionner. Si on veut que la variable lachaine contienne la valeur toto (c'est-à-dire la chaîne de caractères toto, alors il faut écrire : lachaîne "toto" Il y a une erreur dans l'instruction lachaîne lenombre, car ces 2 variables sont de 2 types incompatibles. Si on veut ranger 14 dans la variable lachaine, on a 2 solutions ici : soit on écrit lachaîne "14", soit on utilise une fonction de conversion qui va convertir la variable lenombre en chaîne de caractères, ce qui donne : lachaîne fchaine(lenombre). Nous reviendrons en détail sur ces instructions d'affectation dans chaque partie traitant de chaque famille de données. Pour le moment, nous allons faire deux exercices, puis nous passerons à la deuxième partie du cours, qui traite des données numériques. Remarques : la correction des exercices se trouve dans le fascicule «autocorrection» ; les numéros d'exercices se suivent d'une séquence à l'autre. Un conseil important : efforcez-vous de chercher un certain temps les solutions des exercices. Insistez, ne vous découragez pas. Si au bout d'une bonne vingtaine de minutes, vous ne trouvez pas l'ombre d'une solution, alors seulement à ce moment là, allez consulter le corrigé. Je conseille également à ceux et celles qui trouvent la solution d'aller vérifier qu'elle est satisfaisante. Exercice 1 Observer les opérations d'affectation suivantes. Lorsqu'une opération est correcte, donner son résultat, lorsqu'elle n'est pas correcte, expliquer pourquoi. Lexique N de ligne Algo nb1 (entier) Début nb2 (entier) 1 Saisir (nb1) 2 nb3 nb2 + 1 nb3 (réel) 3 nb2 nb1 bool1 (booléen) 4 nb1 45 ch1 (chaîne[6]) 5 nb ch2 (chaîne[4]) 6 nb3 nb1 * nb1 nb3 8 ch1 "maison" 9 ch2 bool1 10 ch2 ch1 11 ch1 "Olé" 12 ch2 ch TGPA0107-seq02.indd 26 6/09/07 11:06:00

9 Les différents types de données et leurs opérations de base Exercice 2 Écrire un algorithme qui calcule le salaire brut et le salaire net d'un fonctionnaire dont l'indice en nombre de points est saisi, et qui affiche ensuite un résultat semblable à l'exemple suivant : Indice = 500 Prix du point = 10.5 Taux de retenue = 0.1 Salaire brut = 5250 Salaire net = 4725 La valeur d'un point est une constante valant 10,50 salaire brut. et les retenues représentent 1/10 du Une fois que vous avez fait et vérifié ces deux exercices, passez à la suite du cours. Il s'agit de la partie 2, sur les données de type numérique TGPA0107-seq02.indd 27 6/09/07 11:06:00

10 Séquence 2 Partie 2 Les données de type numérique et leurs opérations de base On vient de le voir, dans la famille des numériques, il y a principalement le type entier et le type réel. Un nombre entier, c'est un nombre sans virgule et qui peut être positif ou négatif, et un nombre réel, c'est un nombre à virgules, positif ou négatif. Remarque : selon le langage de programmation utilisé, on peut trouver des variantes autour du type entier ainsi qu'autour du type réel. Ces variantes concernent souvent la taille du nombre et le fait qu'il possède un signe ou non. Lorsque, dans un certain langage de programmation, on choisit par exemple entre entier court et entier long pour un nombre entier, il faut faire attention, car si on choisit une taille trop petite (c'est-à-dire une boîte trop petite), on n'aura peut-être pas la place d'y ranger ce que l'on veut et les calculs ne se feront pas correctement. Ces variantes ne sont pas à préciser lors de l'écriture de l'algorithme, mais lors de l'écriture du programme correspondant. Exemple : un entier court peut avoir une valeur comprise entre et 32767, si on veut pouvoir ranger une donnée de plus grande valeur absolue dans notre variable de type entier, alors il faut, dans notre programme, déclarer un entier long. 1. Exemples de déclarations de données de type numérique monnombre (entier, saisi) : cette déclaration signifie que la donnée qui s'appelle mon- Nombre est de type entier et que son contenu est obtenu par saisie au clavier. compteur (entier, calculé) : cette déclaration signifie que la donnée qui s'appelle compteur est de type entier et que son contenu est obtenu par calcul. nbkm (réel, saisi) : ici, nbkm est un réel dont la valeur est saisie au clavier. Passons maintenant aux différentes opérations applicables à des données de type numérique, à commencer par l'opération d'affectation. 2. Les opérations sur les données de type numérique 2A. L'affectation Exemples Lexique de l'exemple lenombre (entier, saisi) lautrenombre (réel, calculé) Algo Début Saisir (lenombre) lautrenombre ç lenombre lenombre ç TGPA0107-seq02.indd 28 6/09/07 11:06:01

11 Les différents types de données et leurs opérations de base Outre l'opération d'affectation, il existe tout un tas d'opérations applicables aux nombres. Ce sont les opérations arithmétiques. 2B. Les opérations arithmétiques 2B1. Le changement de signe : Cette opération revient à multiplier par 1. Elle s'appelle le moins-unaire (unaire car n'utilisant qu'un seule opérande, par opposition aux opérations binaires comme par exemple l'addition, la soustraction, qui, pour un opérateur, utilisent 2 opérandes). Exemple Lexique lenombre (entier, saisi) : nombre dont on veut changer le signe. Algo Début Saisir (lenombre) Afficher ("Vous avez saisi", lenombre) lenombre ç lenombre Afficher ("Maintenant, votre nombre vaut", lenombre) Dans cet exemple, quel que soit le nombre saisi par l'utilisateur, l'instruction lenombre lenombre prend la valeur saisie, inverse son signe, et range le résultat dans la variable lenombre. Remarque : au lieu de ces 2 instructions : lenombre lenombre Afficher ("Maintenant, votre nombre vaut", lenombre), on aurait pu directement écrire : Afficher ("Maintenant, votre nombre vaut", lenombre). 2B2. L'addition : +, la soustraction :, la multiplication : *, la division : / et l'élévation à la puissance : ^ Exemples Lexique nb1 (entier, calculé) nb2 (réel, calculé) Début nb1 ç -14 nb2 ç nb nb1 ç nb1 + 4 Afficher ("Somme = ", nb1 + nb2) Afficher ("Différence = ", nb1 nb2) Afficher ("Produit = ", nb1 * nb2) Afficher ("Nb1/2 = ", nb1 / 2) Afficher ("Nb1 2 = ", nb1 ^ 2) Algo TGPA0107-seq02.indd 29 6/09/07 11:06:01

12 Séquence 2 Lors de l'exécution du programme correspondant à cet algorithme, il y a affichage à l'écran des informations suivantes : Somme = 11.5 Différence = 8.5 Produit = 15 Nb1/2 = -5 Nb1 2 = 100 Remarque : cet exemple est très sommaire et inutile (à part pédagogiquement) dans la mesure où nb1 et nb2 ne peuvent pas prendre des valeurs différentes au cours des différentes exécutions du programme. 2B3. La division entière : div et le reste de la division entière : mod L'opération div de division entière est la division euclidienne telle qu'on l'apprend à l'école primaire : on ne va pas «derrière la virgule». Le reste de la division entière (mod, qui signifie modulo) est l'opération complémentaire de la division entière. Elle récupère le reste de la division entière. Exemples : 7 div 4 = 1 7 mod 4 = 3 car 7 divisé par 4 égal 1 et il reste 3 12 div 2 = 6 12 mod 6 = 0 car 12 divisé par 2 égal 6 et il reste 0 2B4. Partie entière d'un nombre : ent et partie décimale d'un nombre : dec Ces 2 opérations sont également complémentaires l'une de l'autre. Exemples : ent(12.5) = 12 dec(12.5) = 0.5 ent( 6) = -6 dec( 6) = 0 Ces deux opérations sont des opérations unaires, ou plutôt ce sont des fonctions, c'est-à-dire qu'elles s'utilisent sous la forme : nomdelafonction (valeurquel'onveutfairetraiterparlafonction). Dans un programme, et donc dans un algorithme, le résultat d'une fonction s'utilise comme une variable, c'est-à-dire qu'on peut écrire des choses du genre : Lexique nb2 (réel, saisi) parent (entier, calculé) pardec (réel, calculé) ent (fonction) : retourne la partie entière du nombre passé en paramètre. dec (fonction) : retourne la partie décimale du nombre passé en paramètre. Algo Début Saisir(nb2) parent ç ent (nb2) pardec ç dec (nb2) Afficher ("Partie entière du nombre saisi : ", parent) Afficher ("Partie décimale du nombre saisi : ", pardec) Remarque : vous pouvez constater, en observant le lexique ci-dessus, que j'y ai décrit les fonctions ent et dec. C'est ce qu'il faut toujours faire lorsqu'on utilise des sousprogrammes «non soulignés», c'est-à-dire ne faisant pas partie des mots réservés TGPA0107-seq02.indd 30 6/09/07 11:06:01

13 Les différents types de données et leurs opérations de base 2B5. Remarque : ordre de priorité entre opérations arithmétiques Pour toutes ces opérations arithmétiques, lorsque, dans un programme, on effectue des calculs à l'aide d'expressions arithmétiques, l'ordre de priorité entre opérations différentes est le même qu'en mathématiques. Voici les opérations classées de la plus prioritaire à la moins prioritaire : ^ unaire *, / +, À priorité égale, l'évaluation se fait de gauche à droite. Exemple : * 8 4 / 2 = 76 Pour modifier l'ordre de priorité entre opérations arithmétiques, il faut utiliser des parenthèses. Exemple : (6 + 9) * (8 4) / 2 = 30 2C. Les opérations de comparaison < (inférieur à), <= (inférieur ou égal à), > (supérieur à), >= (supérieur ou égal à), = (égal), <> (différent). Ces opérations servent à comparer deux valeurs numériques entre elles (ces deux valeurs pouvant être des constantes, des variables ou des expressions arithmétiques) afin de faire un traitement plutôt qu'un autre selon le résultat de la comparaison. Dans un algo ou un programme, on peut trouver des expressions de comparaison de formes très variées comme par exemple a < b, a <= b + 4, 2 (a b) > b, a <> b.(dans ces exemples, on suppose que a et b sont 2 variables numériques auxquelles on a au préalable affecté une valeur, c'est-à-dire que l'on a initialisées). Le résultat d'une opération de comparaison est de type booléen : en effet, l'expression a < b est vraie si a est strictement inférieur à b, sinon (c'est à dire si a >= b) elle est fausse. 2D. Une opération de conversion : la fonction fchaîne Cette fonction transforme le numérique passé en paramètre en une chaîne de caractères, c'est-à-dire que le résultat d'application de la fonction fchaîne est une chaîne de caractères. Exemple : l'expression fchaîne (452) a pour valeur la constante chaîne de caractères "452". Exemple d'utilisation Lexique nb2 (réel, saisi) nbconv (chaîne, calculé) fchaîne(fonction) : convertit en chaîne de caractères le nombre passé en paramètre. Algo Début Saisir(nb2) nbconv ç fchaîne (nb2) Le nombre une fois converti, on peut lui appliquer toutes les opérations applicables aux chaînes de caractères TGPA0107-seq02.indd 31 6/09/07 11:06:01

14 Séquence 2 Bon, avant d'aborder la troisième partie, qui traite des chaînes de caractères, nous allons rôder les notions abordées ci-dessus en faisant quelques exercices. Exercice 3 Dans cet exercice, on vous donne une opération d'affectation ainsi que l'état des variables avant exécution de l'opération d'affectation. Vous devez trouver l'état des variables après exécution de l'opération d'affectation. x, y et z sont des variables de type numérique. Avant l'opération Opération Après x =? (x a été uniquement déclarée, mais pas encore initialisée.) x ç 2 x = x = 2 y = 5 x ç y x = y = x = 5 y = 5 z = 3 x ç y + z -1 x = y = z = x = 7 y = 5 x ç x div y x = y = Exercice 4 Donnez la valeur de toutes les variables à chaque instruction. On suppose que ces instructions se suivent dans un algorithme. 1. X 27 mod 4 4. X 3 ^ 2 2. Y X * 2 5. Y X ^ (10 div Z) 3. Z 301 div X 6. Y ent(z / Y) Exercice 5 Soient 2 variables réelles nb1 et nb2, saisies au clavier par l'utilisateur. Écrire l'algorithme permettant de permuter les valeurs de nb1 et nb2, et d'afficher ces nouvelles valeurs. Pour ce faire, utiliser une troisième variable (dite variable temporaire) dans laquelle on range temporairement une des 2 valeurs à échanger. Exemple : lors de la saisie : nb1 = 3 et nb2 = 2, Après application de l'algorithme d'échange : nb1 = 2 et nb2 = 3 Exercice 6 Même consigne que l'exercice 5, mais sans utiliser de variable intermédiaire, uniquement par calcul entre les 2 variables. Un peu casse-tête, mais rigolo! TGPA0107-seq02.indd 32 6/09/07 11:06:01

15 Les différents types de données et leurs opérations de base Exercice 7 L'ordre des instructions dans un algo et un programme a une grande importance. Le cancre de service, à la dernière interro, a tout pompé sur sa voisine, mais dans le désordre. Remettez en ordre les instructions de son algo et indiquez quel traitement fait cet algo. Lexique coef1 = 3 (entier, constante) : coefficient de la première note. coef 2 = 4 (entier, constante) : coefficient de la deuxième note. coef 3 = 2 (entier, constante) : coefficient de la troisième note. note1, note2, note3 (entiers, saisis) : notes de l'élève. total (entier, calculé) : total. Algo concours Début Afficher ("Le total est de :", total) Saisir (note3) Afficher ("Donner la note obtenue à l'épreuve 1 :") Afficher ("Epreuve 2 ", note2," ", coef 2) Saisir (note1) Afficher ("Epreuve 3 ", note3," ", coef 3) total ç ( note1 * coef 1 + note2 * coef 2 + note3 * coef 3)/ coef 1 + coef 2 + coef 3 Saisir (note2) Afficher ("Donner la note obtenue à l'épreuve 3 : ") Afficher ("Epreuve 1 ", note1," ", coef 1) Afficher ("Donner la note obtenue à l'épreuve 2 : ") Exercice 8 Pour écrire un algo et qu'il soit exact, cela suppose que l'on a bien décomposé toutes les étapes des traitements à faire effectuer à notre futur programme. Un informaticien mal réveillé doit écrire, pour le service comptabilité de son entreprise, un programme qui permette de calculer la TVA ainsi que le prix TTC d'un prix HT saisi au clavier, et il a écrit l'algorithme suivant : Laixyk de l'algau contabillité // il est vraiment mal réveillé. Vous avez vu les fautes qu'il fait? taux = , constante, montant du taux de TVA. prixht : réel, saisi, prix hors taxe. tva : réel, calculé, montant de la TVA. prixttc : réel, calculé, prix TTC. Algau Contabillité Début Afficher ("Entrer le prix hors taxe ") Saisir (prixht) tva! prixht * taux Afficher ("La TVA est de :", tva) Afficher ("Le prix T.T.C. est de :", prixttc) Cet informaticien a mal décomposé les différentes instructions. Trouvez la ou les instruction(s) manquante(s) et insérez-la ou insérez-les au bon endroit TGPA0107-seq02.indd 33 6/09/07 11:06:02

16 Séquence 2 Exercice 9 Écrivez l'algorithme qui calcule et affiche le nom et le salaire net d'un employé d'une entreprise. Le salaire horaire, le nombre d'heures travaillées, le taux de retenue, le montant de la prime et le nom de l'employé sont saisis au clavier. Dans cette entreprise, les employés sont payés à l'heure et bénéficient d'une prime d'ancienneté. Pour information, la règle de calcul d'un salaire net est la suivante : Salaire Net = ((nombre d'heures travaillées * salaire horaire) + prime) * (1 taux de retenue). Exercice 10 Écrire l'algo qui calcule et affiche en heures, minutes et secondes, un temps saisi en secondes. Exemple : Temps saisi : 3824 Résultat : 1 H 3 M 44 S Vous avez besoin d'utiliser la division entière et le reste de la division entière. Exercice 11 Écrire l algorithme qui permet d effectuer des permutations suivant l'exemple ci-dessous : AVANT APRÈS X = 1 X = 3 Y = 2 Y = 1 Z = 3 Z = 2 Cet exemple vous montre qu'après le traitement de permutation, on retrouve z dans x, x dans y et y dans z. Exercice 12 Écrire l algorithme qui transforme et affiche un nombre saisi en nombre pair immédiatement inférieur. Exemple : L'utilisateur saisit 7, affichage de 6. L'utilisateur saisit 10, affichage de 10. L'utilisateur saisit 19, affichage de TGPA0107-seq02.indd 34 6/09/07 11:06:02

17 Les différents types de données et leurs opérations de base Exercice 13 Écrire l'algorithme qui affiche à l'écran, en le minimum de pièces et de billets, la décomposition d'une somme d'argent saisie au clavier par l'utilisateur. Pièces et billets autorisés : 100, 50, 10, 5 et 1 euros. Vous avez, pour faire cela, besoin d'utiliser la division entière et le reste de la division entière. Exemple : si l'utilisateur saisit la somme d'argent 124, le résultat de l'algorithme affichera un résultat du genre : 1 billet(s) de 100, 0 billet(s) de 50, 2 pièce(s) de 10, 0 pièce(s) de 5, 4 pièce(s) de 1 Bien, maintenant, passons à la partie suivante de cette séquence, qui traite des données contenant des caractères TGPA0107-seq02.indd 35 6/09/07 11:06:02

18 Séquence 2 Partie 3 Les chaînes de caractères et leurs opérations On l'a déjà vu plus haut, le type caractère et le type chaîne de caractères sont des types que l'on donne à des données appelées à contenir des lettres, des chiffres, des caractères de ponctuation et tout autre signe disponible sur un clavier d'ordinateur. En machine, les caractères, comme toute autre information, sont codés sous forme numérique. Exemples Le caractère 0 (zéro) a en machine la valeur 48 Le caractère 1 a en machine la valeur 49 Le caractère 2 a en machine la valeur 50 etc. Jusqu'au caractère 9 qui a en machine la valeur 57 Les caractères ayant leurs valeurs numériques entre 58 et 64 sont des caractères de ponctuation. Le caractère A a en machine la valeur 65 Le caractère B a en machine la valeur 66 etc. Jusqu'au caractère Z qui a en machine la valeur 90 Les caractères ayant leurs valeurs numériques entre 91 et 96 sont des caractères utilisés dans les expressions arithmétiques (\, [, ] etc ) Le caractère a a en machine la valeur 97 Le caractère b a en machine la valeur 98 etc. Jusqu'au caractère z qui a en machine la valeur 122 Une chaîne de caractères est donc codée sous forme d'une suite de codes numériques, chaque code représentant un caractère de la chaîne. Un truc : pour faire apparaître à l'écran un caractère sans le taper au clavier, appuyer sur la touche «alt» du clavier et taper en même temps le code numérique du caractère. Ce qu'il faut retenir, c'est que l'ensemble des caractères est un ensemble complètement ordonné (comme l'ensemble des nombres) et que l'on peut donc comparer des caractères ou des chaînes de caractères à l'aide des opérateurs de comparaison. Ceci peut servir par exemple pour ranger des mots dans l'ordre alphabétique (c'est-à-dire dans l'ordre lexicographique). 1. Exemples de déclarations de données de type caractère et chaîne de caractères MonCar (caractère, saisi) MaCh (chaîne[1], saisie) Ces 2 déclarations sont équivalentes car une chaîne de longueur 1 est une chaîne comportant un seul caractère. MaChaîne (chaîne[4], calculée) : la variable MaChaîne peut contenir jusqu'à 4 caractères TGPA0107-seq02.indd 36 6/09/07 11:06:02

19 Les différents types de données et leurs opérations de base EncoreUneAutreChaîne (chaîne, saisie) : ici, la taille maxi de cette chaîne n'est pas précisée. Selon le langage de programmation utilisé, elle pourra contenir un certain nombre de caractères (jusqu'à 255 en langage pascal, jusqu'à en Windev). Cela ne signifie pas que la chaîne doit contenir systématiquement 255 ou caractères, cela ne signifie pas non plus qu'elle a 255 ou pour longueur. Cela signifie simplement qu'on ne pourra pas y ranger plus que 255 ou caractères. En algo, on ne se pose pas la question de la capacité. À partir du moment où on n'a pas précisé la taille maxi, cela signifie qu'on n'a pas besoin de limiter cette taille, cela ne change rien à la longueur effective de la chaîne, c'est-à-dire au nombre de caractères qu'elle contient réellement. 2. Les opérations sur les caractères et les chaînes de caractères Nous allons aborder 5 opérations de base sur les chaînes de caractères : l'affectation, la comparaison, la longueur (fonction longueur), la concaténation, le découpage (fonction sous-chaîne), la conversion d'une chaîne de caractères en donnée de type numérique (fonction val). 2A. L'affectation d'une valeur à une chaîne de caractères On l'a déjà vu au paragraphe traitant de l'opération d'affectation, on peut affecter une valeur à une variable de type caractère ou chaîne de caractères par saisie, par affectation à l'aide d'une valeur constante, par affectation avec une autre variable, par calcul, par lecture de la valeur dans un fichier. Une règle est commune à tous les modes d'affectation. Si l'opération d'affectation affecte à la donnée de type caractère ou chaîne de caractères plus de caractères qu'elle ne peut en contenir, la fin de ce qui est affecté est coupée. À l'inverse, si l'opération d'affectation affecte moins de caractères que la chaîne ne peut en contenir alors, en algo comme en programmation, il n'y a aucun problème (mis à part avec quelques langages de programmation comme par exemple le langage C). Pour les modes d'affectation par saisie, par affectation à l'aide d'une valeur constante, par affectation avec une autre variable, je vous renvoie au paragraphe 2A. Les différents modes d'affectation de la partie 1 de cette séquence, qui comporte des exemples. L'affectation par lecture de la valeur dans un fichier sera étudiée lorsque nous aborderons les fichiers, en séquence 8. L'affectation d'une valeur à une chaîne de caractères par le calcul peut se faire à l'aide d'opérations spécifiques aux chaînes de caractères. Les opérations sur les chaînes de caractères existent en moins grand nombre que les opérations sur les nombres. Il existe principalement 3 opérations de base permettant d'obtenir par calcul des chaînes de caractères : la conversion de nombres en chaînes, le découpage de chaînes, le collage de chaînes (cette opération s'appelle la concaténation) TGPA0107-seq02.indd 37 6/09/07 11:06:02

20 Séquence 2 Nous allons aborder le découpage et la concaténation dans les paragraphes 2D et 2E cidessous, mais je voudrais ici revenir sur la conversion d'un nombre en chaîne. On l'a vu dans le paragraphe précédent, l'opération qui convertit un nombre en chaîne est la fonction fchaîne en algo. Voici un exemple simple d'utilisation de cette fonction : Lexique nb2 (réel, saisi) nbconv(chaîne, calculé) Algo Début Saisir(nb2) nbconv ç fchaîne(nb2) 2B. Les opérations de comparaisons sur les caractères et les chaînes de caractères Elles se font à l'aide des mêmes opérateurs de comparaison que ceux utilisés pour les nombres : < (inférieur à), <= (inférieur ou égal à), > (supérieur à), >= (supérieur ou égal à), = (égal), <> (différent). Il y a égalité entre deux données de type caractère ou chaîne de caractères si elles sont absolument identiques. Exemples : "bebe" = "bebe" "bebe" <> "bébé" "bebe" <> "BEBE" "bebe" <> "bebe " (car il y a un espace à la fin du deuxième "bebe" qu'il n'y a pas à la fin du premier "bebe".) Nous allons traiter les autres opérateurs de comparaison (<, <=, >, >=, <>) à l'aide d'exemples. Ce qui est essentiel à comprendre, c'est que le fait qu'une chaîne de caractères soit supérieure à une autre n'a rien à voir avec sa longueur mais a à voir avec les caractères qu'elle contient. L'ordre sur les chaîne de caractères respecte les même règles que l'ordre dans lequel sont rangés les mots dans un dictionnaire. Exemple Résultat de la comparaison Explication "1" < "a" Vrai Car le code numérique du caractère 1 est inférieur au code numérique du caractère a. "abaa" >= "abb" faux Comme dans un dictionnaire, la comparaison se fait rang de caractère par rang de caractère. Dans cet exemple, les 2 premiers caractères de chaque chaîne sont identiques, c'est donc le troisième caractère qui détermine laquelle des 2 chaînes est "la plus grande". Le troisième caractère de la première chaîne est un "a" alors que le troisième caractère de la deuxième chaîne est un "b", le code numérique du caractère "a" étant inférieur au code numérique du caractère "b", c'est la chaîne "abb" la "plus grande", bien qu'étant de plus petite longueur que la chaîne "abaa" TGPA0107-seq02.indd 38 6/09/07 11:06:03

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

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

Le chiffre est le signe, le nombre est la valeur. Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.

Plus en détail

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

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Chapitre 1 I:\ Soyez courageux!

Chapitre 1 I:\ Soyez courageux! Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Installation de Windows 2003 Serveur

Installation de Windows 2003 Serveur Installation de Windows 2003 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4. Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

TABLEAU CROISE DYNAMIQUE

TABLEAU CROISE DYNAMIQUE EXCEL NIVEAU III Mireille DUCELLIER MARS 2003 BASE DE DONNEES RAPPEL Une base de données est une plage de cellules contiguës située sur une la feuille 1. Elle commence en A1. On parle alors de champs,

Plus en détail

Vers l'ordinateur quantique

Vers l'ordinateur quantique Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER APPRENDRE A MANIPULER LE CLAVIER Apprendre à manipuler le clavier SOMMAIRE : I APPRENDRE A TAPER AU CLAVIER... PAGES 3-11 1.1 - Positionnement des touches d'un clavier... Page 3 1.2 - Les touches importantes

Plus en détail

Navigation dans Windows

Navigation dans Windows Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Chapitre 4 Pierre, papier, ciseaux

Chapitre 4 Pierre, papier, ciseaux Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

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

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

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

1 TD 2 : Construction d'une chier Acrobat et envoi par email 1 TD 2 : Construction d'une chier Acrobat et envoi par email (correction page??) Un professeur de maths a instauré une coutume lors de la dernière séance de la semaine. Le vendredi est consacré à la correction

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro. Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.

Plus en détail

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4 1. Création d'un état... 2 2. Création d'un état Instantané Colonnes... 3 3. Création d'un état Instantané Tableau... 4 4. Création d'un état avec plusieurs tables... 9 5. Modifier la structure d'un état...11

Plus en détail

Créer un tableau avec LibreOffice / Calc

Créer un tableau avec LibreOffice / Calc Créer un tableau avec LibreOffice / Calc Réaliser des tableaux LibreOffice / Calc permet de créer des tableaux facilement en utilisant les cellules. En premier lieu, il faut prévoir le nombre de colonnes

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

EXCEL PERFECTIONNEMENT CALCULS AVANCES

EXCEL PERFECTIONNEMENT CALCULS AVANCES TABLE DES MATIÈRES FORMATS... 2 Formats personnalisés... 2 ADRESSAGE DE CELLULES... 3 relatif & absolu Rappel... 3 Adressage par nom... 4 Valider avec la touche Entrée... 4 FONCTIONS SI-ET-OU... 6 LA FONCTION

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

l'ordinateur les bases

l'ordinateur les bases l'ordinateur les bases Démarrage de l'ordinateur - Le bureau, mon espace de travail - J'utilise la souris - Ouvertes ou fermées, les fenêtres - Dans l'ordinateur, tout est fichier - Le clavier : écrire,

Plus en détail

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante: 420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application

Plus en détail

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :

Plus en détail

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

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

TP 10.3.5a Notions de base sur le découpage en sous-réseaux

TP 10.3.5a Notions de base sur le découpage en sous-réseaux TP 10.3.5a Notions de base sur le découpage en sous-réseaux Objectif Identifier les raisons pour lesquelles utiliser un masque de sous-réseau. Faire la distinction entre un masque de sous-réseau par défaut

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence Licence Algorithmique & Langage C Paternité - Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette

Plus en détail

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2 Série de TD 2 Exercice 2.1 Quel résultat produit le programme suivant? Var val, double : entier ; Val := 231 ; Double := Val * 2 ; Ecrire (Val) ; Ecrire (Double) ;. Exercice 2.2 Ecrire un programme qui

Plus en détail

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents Diffusé par Le Projet Documentation OpenOffice.org Table des Matières 1. Les Versions...3 2. Les Modifications...5

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

LibreOffice Calc : introduction aux tableaux croisés dynamiques

LibreOffice Calc : introduction aux tableaux croisés dynamiques Fiche logiciel LibreOffice Calc 3.x Tableur Niveau LibreOffice Calc : introduction aux tableaux croisés dynamiques Un tableau croisé dynamique (appelé Pilote de données dans LibreOffice) est un tableau

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

Plus en détail

YAPBA M. Logiciel libre de suivi de vos comptes

YAPBA M. Logiciel libre de suivi de vos comptes YAPBA M Logiciel libre de suivi de vos comptes Premières opérations A l'ouverture la première fois, on obtient cet écran. La première opération va être la création d'un compte. Comme aucun compte n'est

Plus en détail

Exercices de dénombrement

Exercices de dénombrement Exercices de dénombrement Exercice En turbo Pascal, un entier relatif (type integer) est codé sur 6 bits. Cela signifie que l'on réserve 6 cases mémoires contenant des "0" ou des "" pour écrire un entier.

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

www.systhag-online.cm PREINSCRIPTION EN LIGNE

www.systhag-online.cm PREINSCRIPTION EN LIGNE UNIVERSITE DE DOUALA THE UNIVERSITY OF DOUALA www.systhag-online.cm PREINSCRIPTION EN LIGNE Guide de l'utilisateur Part. 1 (Mise à jour: 26 septembre 2012) 1 TABLE DES MATIERES I- AVANT DE COMMENCER 3

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Installation de Windows 2000 Serveur

Installation de Windows 2000 Serveur Installation de Windows 2000 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Introduction : Cadkey

Introduction : Cadkey Introduction Cadkey Cadkey est un logiciel de dessin assisté par ordinateur. La fenêtre du logiciel devrait ressembler à quelque chose comme suit: Le menu supérieur: Redraw Autoscale Efface Modifier les

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

Dans la série. présentés par le site FRAMASOFT

Dans la série. présentés par le site FRAMASOFT Dans la série Les tutoriels libres présentés par le site FRAMASOFT CRÉER DES EXERCICES AVEC JCLIC-AUTHOR Logiciel: JClic-author Plate-forme(s): Linux, Windows, Mac OS X Version: 0.1.1.9 Licence: GNU General

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Calculateur quantique: factorisation des entiers

Calculateur quantique: factorisation des entiers Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique

Plus en détail

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

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Utiliser les supports d'exemplaires

Utiliser les supports d'exemplaires Utiliser les supports d'exemplaires Fiche technique PMB n 2.4.1 Les supports d'exemplaires permettent de définir des groupes de documents et de moduler les durées de prêt (quotas) pour ces différents groupes

Plus en détail

Guide de fonctions du téléphone du système SCI Norstar

Guide de fonctions du téléphone du système SCI Norstar Guide de fonctions du téléphone du système SCI Norstar Renseignements généraux Cette fiche sert de référence rapide pour accéder aux fonctions de votre poste. Votre coordinateur de système vous avisera

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

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

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Installation et Réinstallation de Windows XP

Installation et Réinstallation de Windows XP Installation et Réinstallation de Windows XP Vous trouvez que votre PC n'est plus très stable ou n'est plus aussi rapide qu'avant? Un virus a tellement mis la pagaille dans votre système d'exploitation

Plus en détail

Traitement numérique de l'image. Raphaël Isdant - 2009

Traitement numérique de l'image. Raphaël Isdant - 2009 Traitement numérique de l'image 1/ L'IMAGE NUMÉRIQUE : COMPOSITION ET CARACTÉRISTIQUES 1.1 - Le pixel: Une image numérique est constituée d'un ensemble de points appelés pixels (abréviation de PICture

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail