Les différents types de données et leurs opérations de base
|
|
- André Déry
- il y a 8 ans
- Total affichages :
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 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étailCours 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étailInitiation à 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étailLe 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étailSOMMAIRE. 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étailTP 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étail1. 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étailProgrammation 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étailTraitement 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étailUne 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étailI. 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étailLes 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étail1. 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étailDate : 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étailChapitre 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étailRepré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étailAlgorithmique 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étailAlgorithme. 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étailInstallation 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étailConversion 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étailCours 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étailSé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étailCHAPITRE 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étailRecherche 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étailTABLEAU 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étailVers 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étailTP : 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étailCré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étailPROBLEMES 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étailLes 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étailAlgorithmique 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étailPour 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étailArithmé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étailApprendre à 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étailNavigation 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étailCRÉ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étailChapitre 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étailCorrection 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étailProgrammation 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étailLE 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étail1 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étailAlgorithmique 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étailLicence 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étailChapitre 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étailINSERER 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étailManuel 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étailDé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étail1. 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étailCré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étailMEDIAplus 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étailEXCEL 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étail2 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étaill'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étailTravaux 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étailL'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étailAutomatisation 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étailCodage 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étail6. 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étailTP 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étailLe 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étailEXCEL 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étailAlgorithmique & 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étail1 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étailComment 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étailRaisonnement 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étailLibreOffice 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étailExcel 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étailYAPBA 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étailExercices 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étailMODE 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étailComplexité. 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étailInterface 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étailwww.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étailNombres, 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étailInstallation 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étailSTAGE 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étailIntroduction : 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étailAlgorithmique 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étailV- 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étailles 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étailDans 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étailINITIATION 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étailCalculateur 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étailLa 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étailUtiliser 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étailGuide 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étailInformatique 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étailArchitecture 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étailRepré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étailDé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étailPré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étailPRODIGE 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étailDé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étailInstallation 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étailTraitement 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étailIntroduction. 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