Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS...

18
BTS Informatique de gestion 1 re année Frédérique Parisot Algorithmique et langages Cours 1 Directrice de publication : Valérie Brard-Trigo Les cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris). 83989TGPA0107-seq01.indd 1 6/09/07 10:54:57

Transcript of Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS...

Page 1: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

BTS Informatique de gestion 1re année

Frédérique Parisot

Algorithmique et langages

Cours 1

Directrice de publication : Valérie Brard-TrigoLes cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris).

83989TGPA0107-seq01.indd 1 6/09/07 10:54:57

Page 2: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

83989TGPA0107-seq01.indd 2 6/09/07 10:54:57

Page 3: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Sommaire

Séquence 1 : Introduction et concepts de base 5

Travaux pratiques 1 13

Séquence 2 : Les différentes types de données et leurs opérations de base 19

Travaux pratiques 2 57

Séquence 3 : Les structures conditionnelles 93

Travaux pratiques 3 111

Séquence 4 : Les structures itératives 137

Travaux pratiques 4 169

83989TGPA0107-seq01.indd 3 6/09/07 10:54:57

Page 4: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 014

Bonjour!! Je me présente : je m'appelle Frédérique Parisot. Je suis professeur d'informatique en BTS IG, dans un lycée de la région Lorraine.

Vous et moi, on va passer une année scolaire ensemble, à faire de l'algorithmique et de la programmation (avec, pour programmer, un environnement de développement qui s'appelle Windev).

La matière abordée dans ce support (Algorithmique et langages) a pour but de vous apprendre à concevoir des applications, des programmes.

Voici quelques exemples d'applications : un jeu sur ordinateur, un logiciel de gestion de vos recettes de cuisines, un tableur, un logiciel de retouche d'image, un logiciel servant à écouter de la musique sur un ordinateur, un traitement de texte…

Jusqu'à présent, la plupart d'entre vous avez utilisé ces logiciels ; dans ce cours, vous allez commencer à apprendre à les concevoir.

Vous allez donc apprendre les bases du métier de programmeur (ou programmeuse) d’applications (on dit aussi développeur ou développeuse).

Sans vouloir me faire de la pub, sachez que cette matière, l'algorithmique, est prépondérante tant à l'examen que dans votre futur métier.

Ce cours comporte 8 séquences dont une toute petite (la séquence 1) et une très grosse (la séquence 5). Il se compose des fascicules suivants :

• un premier fascicule contenant les séquences 1 à 4 (cours, énoncés d'exos, un TP pour chaque séquence) ;

• un second fascicule contenant les séquences 5 à 8 (cours, énoncés d'exo, un TP pour chaque séquence) ;

• deux fascicules d’« autocorrection » : l’un contenant les corrigés d'exos des séquences 1 à 4 et l’autre ceux des séquences 5 à 8.

Ce cours est accompagné d’un fascicule contenant les sujets de 3 devoirs d’évaluation à faire et à envoyer à la correction : devoir 1 après la séquence 4, devoir 2 après la séquence 6, et devoir 3 après la séquence 8.

Une année scolaire dure environ 25 semaines. Pour ne pas être « à la bourre » en fin d'année, vous devez donc consacrer environ 3 semaines à chaque séquence, TP compris (1 semaine suffit pour la séquence 1 et son TP, mais comptez 5 semaines pour la séquence 5 et son « TéPé »).

Comptez une journée par devoir, car on n'a pas forcément envie de recommencer un nouveau cours juste après s'être farci un devoir, et tout ça dans la même journée.

Il est possible que certains et certaines mettent un peu de temps à avoir « le déclic ». Pour celles et ceux-là, un conseil : soyez patients, ne vous dégoûtez pas, continuez à travailler régulièrement, ça va forcément venir.

Bon ben… À part ça, bon courage !

À tout de suite…

83989TGPA0107-seq01.indd 4 6/09/07 10:54:57

Page 5: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 015

Séquence 1

Introduction et concepts de base

Cette première séquence ne nécessite aucune connaissance préalable. Nous allons commencer par y définir quelques termes, puis nous travaillerons sur un premier exemple.

ContenuEn guise d'introduction, quelques définitions ...................................... 5

1. Les éléments de base d'un algorithme : premier exemple ............. 7

2. Expliquons le sens de cet algorithme ligne par ligne ..................... 9

3. Faisons « tourner » ce programme « à la main » ........................... 10

4. Récapitulons ............................................................................................ 11

4A. Les mots réservés et les données à déclarer .......................................... 11

4B. Les instructions d'entrée/sortie ............................................................... 11

4C. L'affectation d'une valeur à une variable ............................................... 11

En guise d'introduction, quelques définitionsDéfinition de l'algorithmique : c'est un outil de réflexion qui permet de décrire quelles instructions on doit indiquer à l'ordinateur pour qu'il accomplisse certaines tâches comme, par exemple, calculer un salaire net à partir d'un salaire brut, calculer une moyenne, imprimer des fiches de salaires, écrire un jeu de pendu ou un jeu de morpion, etc..

Définition de la programmation : un programme est un ensemble d'instructions com-prises par l'ordinateur, tapées sur l'ordinateur dans un certain langage de programma-tion et effectuant un certain travail comme par exemple calculer une moyenne à partir des notes saisies par la secrétaire, jouer contre l'utilisateur une partie de morpion, calculer puis imprimer le salaire net de tous les employés d'une entreprise, etc.

Il existe de nombreux langages de programmations différents comme Visual Basic, le langage C, java, etc. Dans ces différents langages, comme dans les différentes langues parlées, un même mot va se dire de différentes façons.

Nous, comme langage de programmation, on utilisera le W-Langage, qui est le langage de programmation de Windev, un logiciel permettant d'écrire des programmes (on appelle ça un environnement de développement, car cela permet de développer des applications).

83989TGPA0107-seq01.indd 5 6/09/07 10:54:57

Page 6: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 016

Séquence 1

Avant de taper un programme sur l'ordinateur, il est important de réfléchir afin d'écrire l'algorithme qui décrit les instructions qui devront être dans notre programme.Grosso modo, une démarche possible de conception d'une application peut-être la sui-vante :

• Le point de départ est un besoin en logiciel, exprimé par un client, par exemple sous la forme d'un cahier des charges.

• On commence la réflexion (qui doit finalement mener au logiciel demandé) en décri-vant le comportement de l'application. Ce comportement est appelé scénario. Si le client valide cette description, alors on passe à l'étape ci-dessous.

• En s'appuyant sur le scénario, on décrit précisément les fonctionnalités du programme, c'est-à-dire ce qu'il doit faire exactement, ce sont les spécifications.

• En s'appuyant sur les spécifications, on décrit comment chaque programme de l'ap-plication effectue les traitements (exemple : quelle règle de calcul est utilisée, avec quelles données initiales …), c'est l'analyse.

• Ensuite, on écrit le ou les algorithme(s) correspondant(s) à chaque programme de l'application. Ces algorithmes décrivent quelles instructions on doit indiquer à l'ordi-nateur.

• Enfin, on passe à l'étape de programmation, c'est-à-dire qu'on développe l'application en écrivant les programmes qui la composent.

• Le passage d'un algorithme au programme correspondant nécessite une traduction, car les instructions utilisées dans un algorithme ne sont pas les mêmes que dans les langages de programmation.

• On peut traduire un même algorithme à l'aide de nombreux langages de programma-tion différents. L'objectif de l'algorithmique est de faire en sorte que les algorithmes soient traduisibles dans n'importe quel langage de programmation. Un même algo-rithme, selon qu'on le traduit avec tel ou tel langage de programmation, ne donnera pas le même programme, mais effectuera le même traitement.

• La programmation une fois terminée, on teste si le ou les programmes font bien ce qu'ils sont censés faire, et se comportent bien tels qu'ils sont censés se comporter. Si ce n'est pas le cas, alors on corrige les erreurs (on dit les « bogues » ou « bugs », ça arrive assez fréquemment), on teste à nouveau, etc.

• Enfin, on installe l'application chez le client et on vérifie encore une fois que tout se passe bien, c'est-à-dire que l'application fonctionne correctement.

On va voir tout de suite un exemple de cette démarche.

83989TGPA0107-seq01.indd 6 6/09/07 10:54:57

Page 7: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Introduction et concepts de base

8 3989 TG PA 017

1. Les éléments de base d'un algorithme : premier exempleImaginez que vous soyez programmeur (ou programmeuse) d’applications dans une entreprise.

Un client contacte votre patron car il a besoin que vous conceviez une application pour lui.

Voici le cahier des charges rédigé par ce client, et que votre patron vous remet.

Cette application doit permettre de calculer et d’afficher la moyenne de 4 notes, ces notes étant saisies au clavier par l’utilisateur de l'application.

Vous réfléchissez au comportement que doit avoir l'application demandée par votre client, et vous décidez que ce comportement doit suivre le scénario suivant :

1. l'utilisateur lance l'application ;

2. une fenêtre s'affiche, comportant : 4 zones permettant de saisir les 4 notes, un bou-ton pour déclencher le calcul de la moyenne, une zone où s'affichera le résultat du calcul ;

3. l'utilisateur saisit les 4 notes ;

4. il valide sa saisie en cliquant sur le bouton ;

5. la moyenne s'affiche dans la zone prévue à cet effet.

Vous soumettez ce scénario au client, et il accepte cette proposition.

Vous pouvez donc poursuivre votre réflexion. Vous réfléchissez cette fois aux fonction-nalités de l'application, les spécifications. Au vu du faible volume de l'application, c'est très court.

Cette application calcule et affiche la moyenne de 4 notes saisies.

Elle permet de lancer le calcul de la moyenne au clic sur un bouton.

Vous passez ensuite à l’analyse, c’est-à-dire à la façon dont l’application effectue les traitements.

Ce programme permet la saisie des 4 notes par l’utilisateur, ainsi que la validation de cette saisie.

Lors de la validation, le programme calcule la moyenne arithmétique (somme des 4 notes divisée par 4), puis l’affiche.

Vous passez maintenant à l’écriture des algorithmes correspondant aux différents pro-grammes de l’application. Dans le cas de notre exemple, il n’y a qu’un programme, donc qu’un algorithme.

L’algorithme suivant décrit quelles instructions on doit indiquer à l’ordinateur pour permettre à l’utilisateur de saisir 4 notes et d’obtenir l’affichage de la moyenne de ces 4 notes.

83989TGPA0107-seq01.indd 7 6/09/07 10:54:57

Page 8: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 018

Séquence 1

La commande Saisir (note1) signifie qu'on donne à l'ordinateur l'ordre suivant : « Récupère l'information que l'utilisateur vient de taper au clavier et range la dans note1 ».Par cette opération de saisie, on donne une valeur à la donnée (on dit la variable) note1.

Traitement décrit par l'algorithme + événement qui déclenche le traitement.

Le lexique est une sorte de dictionnaire qui recense et décrit les données utilisées dans l'algorithme.

En algorithmique, le symbole « ! » est celui de l'affectation (par cette opération, on donne une valeur à la variable moyenne : on lui donne comme valeur le résultat du calcul de la moyenne des 4 notes).

Toute donnée utilisée doit être déclarée dans le lexique. On doit, dans le lexique, indiquer le type de la donnée (c'est-à-dire sa nature : numérique ou caractères ..), et son mode d'obtention (c'est-à-dire si la valeur de la donnée est saisie par l'utilisateur de l'application ou si elle est calculée par l'ordinateur). Une donnée déclarée n'a pas de valeur tant qu'on ne lui en a pas donné une.

La commande Afficher a pour effet d'afficher à l'écran les données indiquées entre parenthèses (on dit « les données passées en paramètre »)

LexiqueAlgorithmique de calcul et d'affichage d'une moyenne de 4 notes saisies au clavier par l'utilisateur.Traitement déclenché lors du « clic » sur le bouton « calculer ».

note1 (réel, saisi) : première note.

note2 (réel, saisi) : deuxième note.

note3 (réel, saisi) : troisième note.

note4 (réel, saisi) : quatrième note.

moyenne (réel, calculé) : moyenne des 4 notes saisies par l'utilisateur.

Début

Saisir (note1)

Saisir (note2)

Saisir (note3)

Saisir (note4)

moyenne ! (note1 + note2 + note3 + note4) / 4

Afficher (moyenne)

Fin

L'étape suivante, celle de la programmation, est détaillée dans le TP qui suit cette séquence. Pour le moment, nous allons nous attarder sur l'algorithme ci-dessus.

83989TGPA0107-seq01.indd 8 6/09/07 10:54:58

Page 9: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Introduction et concepts de base

8 3989 TG PA 019

2. Expliquons le sens de cet algorithme ligne par ligne Une remarque sur le terme algorithme : familièrement, on dit algo.

Lexique Explications

note1 (réel, saisi) Les valeurs de ces 4 données sont saisies par l'utilisateur.Ces 4 données sont de type « nombre réel », c'est-à-dire des nombres à virgule, positifs ou négatifs.

note2 (réel, saisi)

note3 (réel, saisi)

note4 (réel, saisi)

moyenne (réel, calculé) Cette donnée est calculée par des instructions de l'algorithme.

Algorithme de calcul et d'affichage d'une moyenne de 4 notes saisies au clavier par l'utilisateur.

Titre et fonction de l'algorithme.

Traitement déclenché lors du « clic » sur le bouton « calculer ».

Quand vous programmerez votre algorithme sur l'ordinateur, il deviendra la fenêtre que vous pouvez voir à la page suivante. Le calcul de la moyenne se faisant lorsque l'utilisateur clique sur le bouton « Calcul », on l'indique dans l'algorithme.

Début Mot réservé indiquant que les lignes qui suivent sont les instructions de l'algorithme.

Saisir (note1) On indique par la commande Saisir que l'utilisateur va saisir une première valeur et qu'il faut la ranger dans la variable note1, qu'il faut ranger la deuxième valeur saisie dans la variable note2 et ainsi de suite.

Saisir (note2)

Saisir (note3)

Saisir (note4)

moyenne ! (note1 + note2 + note3 + note4) / 4

Cette instruction calcule la valeur de la moyenne des 4 notes saisies et affecte le résultat de ce calcul à la variable moyenne.

Afficher (moyenne) Cette instruction a pour effet d'afficher la valeur de la variable moyenne.

Fin Ce mot réservé indique que l'algorithme est terminé.

Voici ci-dessous le résultat de votre travail une fois que vous aurez programmé l'application :

…Ensuite, il a cliqué sur le bouton « Calcul »…

…Et le résultat du calcul s'est affiché dans cette zone d'affichage.

L'utilisateur a saisi ces 4 valeurs…

83989TGPA0107-seq01.indd 9 6/09/07 10:54:58

Page 10: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 0110

Séquence 1

3. Faisons « tourner » ce programme « à la main » Faire tourner un programme à la main, ou encore, plus correctement, « tracer un pro-gramme », signifie que l'on va simuler sur papier le fait que notre programme s'exécute sur un ordinateur. Cette technique permet de comprendre et/ou de vérifier ce que fait un algorithme, ou un programme.

Lexi

que

note1 (réel, saisi) note 1note2 (réel, saisi) note 2note3 (réel, saisi) note 3note4 (réel, saisi) note 4moyenne (réel, calculé) moyenne

Alg

oritm

e

Début Pour le moment, aucune variable n'a de valeur définie.Saisir (note1) 7Saisir (note2) 12Saisir (note3) 8Saisir (note4) 9moyenne ! (note1 + note2 + note3 + note4) / 4 9Afficher (moyenne) Affichage de 9Fin

Déclarer la donnée note1 dans le lexique revient à réserver un emplacement dans la mémoire de l'ordinateur, emplacement auquel on donne le nom note1. La donnée note1 est donc comme une boîte avec note1 marqué dessus. La donnée note1 n'a aucune valeur ( = la boîte est vide) tant qu'on ne lui en a pas donné une (= tant qu'on n'a rien mis dans la boîte).

Quand on « fait tourner à la main », on n'indique dans le tableau que les variables, c'est-à-dire les données susceptibles de changer de valeur pendant le déroulement du programme.

Les mots réservés Début et Fin, et l'instruction Afficher n'ont pas pour effet de modifier les valeurs des variables.

On suppose ici que la première valeur saisie par l'utilisateur de notre programme est 7, donc, maintenant note1 vaut 7. À ce stade de déroulement du programme, les autres variables n'ont pas encore de valeur définie.

À la fin de l'exécution du programme, note1 vaut 7, note2 vaut 12, note3 vaut 8, note4 vaut 9 et moyenne vaut 9. La commande Afficher (moyenne) a donc pour effet d'afficher 9 à l'écran.

83989TGPA0107-seq01.indd 10 6/09/07 10:54:58

Page 11: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Introduction et concepts de base

8 3989 TG PA 0111

4. Récapitulons

4A. Les mots réservés et les données à déclarer En algorithmique, les mots soulignés sont considérés comme des mots réservés du lan-gage, donc comme des mots n'ayant pas besoin d'être décrits dans le lexique.

Un algorithme commence par le mot réservé Début et se termine par le mot réservé Fin.Toutes les données ou les instructions qui ne sont pas des mots réservés doivent être déclarées dans le lexique.Lors de l'écriture du programme correspondant à l'algorithme, ces données deviendront : soit un objet graphique (une zone de texte, une liste d'éléments etc..), soit des données non visibles par l'utilisateur, mais utilisées dans le programme pour les traitements.

Les objets graphiques n'ont pas besoin d'être déclarés dans le programme, il le sont automatiquement dès qu'on les pose sur la fenêtre. Par contre, les données non visibles doivent être déclarées dans le programme (dans notre premier exemple, toutes les don-nées qui sont déclarées dans le lexique de l'algorithme deviendront des zones de texte dans le programme, on n'aura donc pas besoin de les déclarer).Utiliser une donnée n'a de sens que si on lui a donné une valeur.

4B. Les instructions d'entrée/sortie La commande Saisir est un mot réservé et permet de récupérer une valeur saisie au clavier par l'utilisateur et de ranger cette valeur dans la donnée spécifiée, qui est entre parenthèses (on dit : passée en paramètre). Cette donnée doit avoir été déclarée au préalable (attention, si la donnée est déclarée comme étant d'un certain type, ce que l'on range dedans doit respecter cette contrainte de type).

On dit que cette commande est une commande d'entrée car elle permet à des données d'entrer dans l'ordinateur par le clavier, qui est le périphérique d'entrée standard.

La commande Afficher est un mot réservé qui a pour effet d'afficher la ou les données spécifiées entre parenthèses (c'est-à-dire les données passées en paramètres).On dit que c'est une commande de sortie car elle permet à des données de sortir de l'ordinateur par l'écran, qui est le périphérique de sortie standard.

4C. L'affectation d'une valeur à une variable Le symbole ! est celui de l'affectation.

Affecter une valeur à une donnée, c'est lui donner une valeur.

a ! b signifie ranger la valeur de b dans a. Si a avait déjà une valeur définie, celle-ci est « écrasée » par la valeur de b lors de l'exécution de l'instruction a ! b.

L'affectation doit respecter la compatibilité entre types, nous verrons les principales règles de compatibilité entre types au chapitre suivant.

Pour le moment, il est temps de traduire notre algorithme en programme. Je vous propose donc de faire le TP qui accompagne cette séquence.

83989TGPA0107-seq01.indd 11 6/09/07 10:54:59

Page 12: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

83989TGPA0107-seq01.indd 12 6/09/07 10:54:59

Page 13: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 0113

Travaux pratiques 1

Introduction et concepts de base Développement de la fenêtre « saisie de 4 notes et affichage de la moyenne »

Prérequis à ce TP

• Avoir compris le chapitre 1 d'algo.

• Avoir installé Windev (qui est sur le DVD fourni avec ce cours). Au lancement du DVD, choi-sir Installation de Windev et suivre les instructions.

Nous utilisons la version Windev 10 Express, cette version est une version « allégée » de la version commerciale, c'est-à-dire qu'il s'agit d'une version limitée.

Cette version est librement téléchargeable sur le site de pcsoft à l'URL :

http ://www.pcsoft.fr/windev/WD-Express.htm

Donc, si, comme moi, votre ordinateur ne parvient pas à lire le DVD fourni, vous pouvez télécharger Windev 10 Express. Dans ce cas, armez-vous de patience, l'archive téléchar-geable, qui porte un nom du genre WD100PACKEXPRESS060t.exe (c'est une archive auto-extractible), est énorme, puisqu'elle fait 594 Mo. Dans ce cas, pour installer Windev 10 Express, décompressez l'archive autoextractible en l'exécutant, puis ensuite, lancez le programme d'installation de Windev 10 express.

• Avoir fait au moins les 3 premières parties du manuel d'autoformation afin de maîtriser les manipulations de base du logiciel.

Le manuel d'autoformation est un fichier s'appelant Autoformation.pdf. Il se trouve dans le sous-répertoire AutoFormation du répertoire d'installation de Windev.

Vous pouvez ouvrir directement ce document à l'aide d'Acrobat reader, et vous pouvez également y accéder depuis Windev.

Ce sont trois grosses parties puisque la partie 3 se termine à la page 169 du manuel d'auto-formation (pour faire ces leçons, il suffit de lire et d'exécuter les consignes).

Prenez le temps de faire ces 3 parties du manuel d'autoformation avant de commencer les TP. Ces leçons vont vous permettre de vous familiariser avec ce produit et dans les TP, lorsque je vous guide, je pars du principe que vous avez effectivement fait ces leçons.

Si le cœur vous en dit, faites le manuel d'autoformation dans sa totalité, cela vous fera découvrir plein de choses ! Et n'hésitez pas non plus à regarder les exemples d'applications fournis dans Windev.

Lorsque vous lirez le manuel d'autoformation, si vous ne comprenez pas tout tout de suite, ne vous inquiétez pas non plus.

Je fais en ce moment moi-même le manuel d'autoformation pour mettre à jour mes con-naissances de Windev.

Dans les TP de ce support de cours, nous n'utiliserons pas toutes les fonctionnalités dispo-nibles dans Windev. Plus particulièrement, nous ne créerons pas d'application accédant à

83989TGPA0107-seq01.indd 13 6/09/07 10:54:59

Page 14: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 0114

Travaux pratiques 1

des bases de données (ceci étant fait dans un autre module de votre formation). Mais rien ne vous empêche de vous amuser à en créer vous-même en utilisant Windev et votre cours sur les bases de données.

Une dernière mise en garde avant d'attaquer le TP : au vu de la version que j'utilise (Windev 10 express 60t), je n'ai aucune garantie que ce que vous verrez sur vos écrans sera totalement identique aux copies d'écran que je vous fournis dans ce support, alors si vous ne voyez pas strictement la même chose, ne vous inquiétez pas.

Bon, allez, on y va…Pour créer notre programme, commencez par créer un nouveau projet exécutable Windev.J'appelle ce projet TP1 (il s'appellera donc EXPRESS_TP1).

Je choisis de ne pas utiliser de charte graphique, et j'indique que ce projet n'utilisera pas d'analyse (si vous avez fait le manuel d'autoformation, vous savez de quoi je parle).

À la fin de la création du projet, dans la boîte de dialogue Que voulez-vous faire, je choisis Créer une fenêtre, puis je choisis une fenêtre Vierge.

C'est cette fenêtre que nous allons utiliser pour traduire l'algorithme de calcul de la moyenne.

Modifiez le nom et la barre de titre de cette fenêtre :

– faites un clic droit sur la fenêtre et choisissez Description dans le menu contextuel ;

– appelez par exemple votre fenêtre fenMoyenne, et donnez-lui le titre Calcul de moyenne.

Posez sur notre fenêtre fenMoyenne les objets graphiques suivants :

Type de l'objet graphique à poser Nom à donner à l'objet Libellé à donner à l'objetChamp de saisie numérique saisieNote1 &Première note :Champ de saisie numérique saisieNote2 &Deuxième note :Champ de saisie numérique saisieNote3 &Troisième note :Champ de saisie numérique saisieNote4 &Quatrième note :Bouton de commande boutonCalculer &Calculer :Champ de saisie numérique saisieMoyenne &Moyenne :

Rappel : mettre un & devant une lettre fait que cette lettre sera soulignée. Une lettre soulignée dans le libellé d'un objet est la lettre d'appel, c'est-à-dire qu'on peut accéder à l'objet par la combinaison de touches « alt + la lettre qu'on a soulignée ».

83989TGPA0107-seq01.indd 14 6/09/07 10:54:59

Page 15: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Travaux pratiques 1

8 3989 TG PA 0115

Pensez à mettre la zone de saisie Moyenne en affichage uniquement (lorsque vous êtes dans la description de cette zone de saisie, cliquez sur IHM et dans la zone Etat initial, choisissez l'option Affichage seul.

Nous allons maintenant traduire l'algorithme de calcul de la moyenne.

Ce que nous souhaitons, c'est que le calcul s'effectue et que la moyenne s'affiche lorsque l'utilisateur clique sur le bouton Calculer.

Nous allons donc saisir les instructions de calcul de la moyenne dans l'événement clic sur boutonCalcul.

Pour accéder au code du bouton, faites un clic droit sur le bouton, et choisissez Code dans le menu contextuel.

C'est cette icône qu'il faut poser sur la fenêtre pour le bouton Calculer.

Pour poser une zone de texte sur la fenêtre, cliquez sur cette icône puis cliquez sur la fenêtre.

83989TGPA0107-seq01.indd 15 6/09/07 10:54:59

Page 16: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

8 3989 TG PA 0116

Travaux pratiques 1

Dans ce code, il est inutile de déclarer les variables note1, note2, note3, note4 et moyenne qu'on avait déclarées dans l'algorithme, puisque ce sont des objets graphiques que l'on a posés sur la fenêtre, ce qui revient à les déclarer dans le code.

Il est inutile également de mettre dans le code les instructions de saisie des notes puisque les objets graphiques que l'on a posés sur la fenêtre sont des champs de saisie et que la saisie est effectuée automatiquement.

O Ceci ne veut pas dire qu'il faut omettre de déclarer et de saisir ces variables dans l'algo-rithme, car avec certains langages de programmation, il sera nécessaire de les déclarer et de saisir leurs valeurs.

Il suffit donc dans ce code de taper l'instruction qui affecte à la variable moyenne le résultat du calcul.

L'instruction d'affichage de la valeur de la variable moyenne est également inutile car moyenne est un objet graphique et à partir du moment où il a une valeur, celle-ci est auto-matiquement affichée.

Ce qui donne :

Voilà, il ne reste plus qu'à tester (c'est-à-dire à exécuter) notre fenêtre en cliquant sur l'icône Go.

Je saisis 11, 14, 10 et 15 dans les 4 zones de saisi des notes, puis je clique sur le bouton Calculer…

Ah mince, moi j'ai un message d'erreur qui me dit :

L'opération '/' interdite entre un élément de type chaîne et un élément de type entier.

Zut alors, qu'est-ce que j'ai bien pu faire… voyons… je retourne vérifier si mes zones de saisies sont bien indiquées comme étant numériques… Ah ! non, j'avais laissé les zones de saisie en type Texte !! Je corrige en retournant dans la description de toutes les zones de sai-sie et en choisissant le type Numérique. Maintenant, mes zones de saisie contiennent toutes ++++++, mais lorsque je teste à nouveau ma fenêtre, les zones de saisie sont vides.

Permet de tester la fenêtre.

83989TGPA0107-seq01.indd 16 6/09/07 10:54:59

Page 17: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

Travaux pratiques 1

8 3989 TG PA 0117

Voici un exemple d'exécution :

L'exemple d'exécution qui se trouve dans le cours de la séquence 1 est un exemple d'exé-cution d'une ancienne version de notre fenêtre, faite avec une version plus ancienne de Windev.

Bon, ce TP est fini. Passons aux choses sérieuses… Séquence 2.

83989TGPA0107-seq01.indd 17 6/09/07 10:55:00

Page 18: Frédérique Parisot Algorithmique et langagesthe.file.free.fr/1er-année BTS IG/Algorithmique_et_langages_3989... · des notes saisies par la secrétaire, jouer contre l'utilisateur

83989TGPA0107-seq01.indd 18 6/09/07 10:55:00