Somrel
( Elaboration d'un programme sur la somme de
deux entiers relatifs. )
Cahier des charges :
L'ordinateur choisit deux
nombres entiers relatifs compris entre -50 et 50 (par
exemple) et l'élève doit entrer le résultat à l'aide
du clavier. En tout 10 opérations seront à faire. Après avoir donné son résultat, l'élève clique sur un bouton (ou appuie sur la touche Entrée) et son résultat est évalué par l'ordinateur. - Si son résultat est juste, on passe à la somme suivante. - Si son résultat est faux un message d'erreur devrait apparaître avec la solution. Un panneau affiche le score de l'élève à l'issue de chaque opération. |
Le programme utilisera les objets suivants :
TForm | Fenêtre de travail Windows classique qui contiendra tous les éléments nécessaires pour faire tourner notre programme. |
TPanel | Panneau d'affichage. |
TEdit | Objet servant à afficher et à mémoriser une saisie effectuée au clavier (256 ca-ractères maximum). |
TButton | Bouton classique sous Windows. |
Pas à pas ( ou
presque )
( i )
Notre application contiendra une seule fiche (de type TForm)
et de style fsNormal (il existe d'autres styles: voir «
Propriétés » dans « lInspecteur
d'objets » rubrique FormStyle de l'objet
Form1 si Form1 est le nom de la fiche principale)
.La taille et la disposition de ces composants devra correspondre à que vous voyez ci-dessous.
![]() |
( ii )
Ces 9 objets ont tous des Propriétés plus ou moins diverses : Size,
Color, Height, Width, Name, Caption, Lines ...
En insérant les objets sur la fiche nommée Form1
par Delphi, ces objets sont nommés à leur tour par Delphi et
leur propriété Name est enregistrée.
En utilisant la propriété Name de chaque composant
et à laide de lInspecteur dobjets,
renommer les 9 composants installés :
Nom
assigné par Delphi |
Nouveau nom |
Form1 | FormSomRel |
Memo1 | MemoConsigne |
Panel1 | PanelEntier1 |
Panel2 | PanelPlus |
Panel3 | PanelEntier2 |
Panel4 | PanelEgale |
Panel5 | PanelScore |
Panel6 | PanelNote |
Button1 | BoutonVerification |
Edit1 | EditSaisieEleve |
Quand une fiche contient plusieurs
composants TPanel, plusieurs composants TButton
etc, il est difficile de se rappelerdes rôles de Panel6 ou
Button3... En les renommant PanelTitreTableau
et BoutonCalculColonne1, leur
appellation devient plus parlante ...
( iii )
Laspect initial de la fenêtre de démarrage de notre
programme peut être décidé dès la conception par le biais de
linspecteur dobjets onglet Propriétés.
Comment changer laffichage dun composant ?
..
pour MemoConsigne :
.. pour PanelPlus :
..
pour BoutonVerification :
Les couleurs des composants
peuvent être modifiées sils ont la Propriété Color.
Les composants TButton nont pas de Propriété
Color.
Les formes et les couleurs des caractères peuvent être
modifiées si les composants ont la Propriété Font.
La bordure des composants TPanel dépend des Propriétés
BevelInner, BevelOuter, BevelWidth, BorderStyle et BorderWidth.
Changer les couleurs et les « fontes » des composants suivants.
Composant |
Couleur |
Fonte |
PanelNombre1 | bleu | Ms Sans Sérif-14-gras-blanc |
PanelPlus | noir | Ms Sans Sérif-14-gras-jaune |
PanelNombre2 | bleu | Ms Sans Sérif-14-gras-blanc |
PanelEgale | noir | Ms Sans Sérif-14-gras-jaune |
EditSaisieEleve | rouge | Ms Sans Sérif-14-gras-vert |
Les agréments des autres composants seront modifiés selon vos inspirations ...
( iv )
Nous venons de terminer la première phase de notre projet, il
reste maintenant à établir les connexions entre les divers
composants afin quils effectuent les tâches définies dans
le « cahier des charges »
Ces composants peuvent réagir à
des événements : par exemple, le composant BoutonVerification
peut "lancer" une tâche de votre choix si on clique
dessus, si on appuie sur une certaine touche, si la souris
bouge... La liste des évènements qui peuvent faire réagir le
composant BoutonVerification apparaît en cliquant sur
ce composant puis en sélectionnant longlet Evènements
de lInspecteur dobjets.
Tous les évènements ne sont pas forcément utilisés.
Bien que les variables et les
procédures propres au programmeur puissent être déclarées en
dehors de lobjet TFormSomRel il est conséillé de
faire ces déclaration dans la partie Private
de lobjet TFormSomRel .
Pour implémenter (c'est à dire, écrire le code Pascal)
une méthode (c'est à dire, d'une procédure) «
privée » appelée "InitialisationCalcul(...)",
par exemple, il faudra écrire :
Procedure
TFormSomRel.InitialisationCalcul(...) ; [type ...] [const ...] [var ...] begin ... end ; |
( v ) |
Ecrire le code Pascal liant les réactions des composants. |
Comment écrire la procédure associée à l'évènement OnClick du composant BoutonVerifiation ?
Remarques
1/ Au démarrage de lapplication il faut peut-être
initialiser des variables ...
2/ Ne pas oublier de traiter le cas où lélève appuie sur
la touche entrée.
Extension
1/ Que se passe-t-il quand
lutilisateur change la taille de la fenêtre ?
Ecrire le code Pascal qui positionne les composants en fonction
de la taille de la fenêtre.
(Evénement OnResize.)
2/ Prévoir une variable Operation (ou autre nom) de sorte que le programme puisse traiter le cas des soustractions, multiplications et divisions.
3/ Affiner la correction du calcul
:
si erreur de signe,
envoyer un message du style Erreur de signe,
recommence si tentative<tentativeMaxi
si erreur
dopération, envoyer un message Erreur
dopération...
etc
4/ Prévoir une aide simplifiée :
fiche TForm de type fsNormal
avec un composant TMemo et un composant
TButton pour la fermer.
Prévoir un composant TButton sur la fiche TFormSomRel
qui appelle laide ...
Malgré toutes ces
explications il est possible que vous ne réussissiez pas
à faire le programme : vous pouvez télécharger la
solution en dernier recours ... Télécharger l'exécutable (32bits, 100ko) Télécharger le projet (Delphi1,2,3 - 2ko) |
Vous pouvez nous écrire: | lilimath@lille.iufm.fr | ![]() |