Table de Mendeleïev sur l'informatique scolaire

(Cartes de contrôle)
(Dédiée à l'Année internationale du tableau périodique des éléments chimiques)
(Les derniers ajouts ont été faits le 8 avril 2019. La liste des ajouts est juste sous la coupe)

image
( Fleur de Mendeleev , source )

Je me souviens que nous avons dépassé le canard. Ce sont trois leçons à la fois: la géographie, les sciences naturelles et le russe. Dans une leçon de sciences naturelles, un canard a été étudié en tant que canard, quelles ailes il avait, quelles jambes, comment il nage, etc. Dans une leçon de géographie, le même canard a été étudié en tant que résident du globe: il a fallu montrer sur la carte où il vit et où il n'existe pas. En russe, Serafima Petrovna nous a appris à écrire «u-t-k-a» et à lire quelque chose sur les canards de Brem. Au passage, elle nous a informés qu'en allemand un canard est tel ou tel et en français tel ou tel. Il semble que cela s'appelait alors la «méthode complexe». En général, tout est sorti en passant.

Benjamin Caverin , deux capitaines

Dans la citation citée, Veniamin Kaverin a magistralement montré les lacunes de la méthode d'enseignement globale, mais dans certains cas (peut-être assez rares) les éléments de cette méthode sont justifiés. Un tel cas est le tableau périodique de D.I. Mendeleev aux cours d'informatique scolaire. La tâche d'automatisation du programme des actions typiques avec un tableau périodique est évidente pour les écoliers qui ont commencé à étudier la chimie et est divisée en de nombreux problèmes chimiques typiques. Dans le même temps, dans le cadre de l'informatique, cette tâche nous permet de démontrer sous une forme simple la méthode des cartes de contrôle, qui peut être attribuée à la programmation graphique, entendue au sens large du terme comme programmation à l'aide d'éléments graphiques.

(13 avril 2019 ajouts faits:
Annexe 3: Quiz chimique
Annexe 4: Intégration de plusieurs tâches dans un même programme
8 avril 2019 ajouts faits:
Annexe 1: comment fonctionne une calculatrice chimique
Annexe 2: exemples de tâches pour les filtres)

Commençons par la tâche de base. Dans le cas le plus simple, le tableau périodique doit être affiché à l'écran dans la fenêtre de formulaire, où dans chaque cellule il y aura un symbole chimique de l'élément: H - hydrogène, He - hélium, etc. Si le curseur de la souris pointe sur une cellule, un champ spécial de notre formulaire affiche le symbole de l'élément et son numéro. Si l'utilisateur clique sur LMB, la désignation et le numéro de cet élément sélectionné seront indiqués dans un autre champ du formulaire.

image

Le problème peut être résolu sur n'importe quel PL universel. Nous prendrons un simple ancien Delpi-7, compréhensible par presque tout le monde. Mais avant de programmer dans YP, nous allons dessiner deux images, par exemple, dans Photoshop. Tout d'abord, dessinons le tableau périodique tel que nous voulons qu'il soit dans le programme. Enregistrez le résultat dans le fichier graphique table01.bmp .

image

Pour la deuxième image, nous utilisons la première. Nous remplirons systématiquement les cellules du tableau débarrassées de tout graphique avec des couleurs uniques dans le modèle de couleur RVB. R et G seront toujours 0, et B = 1 pour l'hydrogène, 2 pour l'hélium, etc. Cette figure sera notre carte de contrôle, que nous enregistrons dans un fichier sous le nom table2.bmp .

image

La première étape de la programmation graphique dans Photoshop est terminée. Passons à la programmation graphique GUI dans l'IDE Delpi-7. Pour ce faire, ouvrez un nouveau projet, où sur le formulaire principal, nous mettons le bouton d'appel de dialogue ( tableDlg ), dans lequel le travail avec la table aura lieu. Ensuite, nous travaillons avec le formulaire tableDlg .

Nous plaçons les composants de la classe TImage sur le formulaire. Obtenez Image1 . Notez qu'en général, pour les grands projets, les noms générés automatiquement du type ImageN , où N peut atteindre plusieurs dizaines ou plus, ne sont pas le meilleur style de programmation et des noms plus significatifs doivent être donnés. Mais dans notre petit projet, où N ne dépassera pas 2, vous pouvez le laisser tel quel.

Dans la propriété Image1.Picture, chargez le fichier table01.bmp . Créez Image2 et chargez-y notre carte de contrôle table2.bmp . Dans ce cas, nous rendons le composant petit et invisible pour l'utilisateur, comme indiqué dans le coin inférieur gauche du formulaire. Ajoutez des contrôles supplémentaires, dont le but est évident. La deuxième étape de la programmation graphique de l'interface graphique dans l'IDE Delpi-7 est terminée.

image

Nous passons à la troisième étape - écrire du code dans l'IDE Delpi-7. Le module ne comprend que cinq gestionnaires d'événements: créer un formulaire ( FormCreate ), déplacer le curseur le long d' Image1 ( Image1MouseMove ), LMB cliquer sur la cellule ( Image1Click ) et quitter la boîte de dialogue à l'aide des boutons OK ( OKBtnClick ) ou Annuler ( CancelBtnClick ). Les en-têtes de ces gestionnaires sont générés de manière standard à l'aide de l'EDI.

Code source du module:
unit tableUnit; //     .. // // third112 // https://habr.com/ru/users/third112/ // //  // 1)   // 2)   :    // 3)    interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls; const size = 104; //   type TtableDlg = class(TForm) OKBtn: TButton; CancelBtn: TButton; Bevel1: TBevel; Image1: TImage; //   Label1: TLabel; Image2: TImage; //  Label2: TLabel; Edit1: TEdit; procedure FormCreate(Sender: TObject); //   procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); //   procedure Image1Click(Sender: TObject); //   procedure OKBtnClick(Sender: TObject); // OK procedure CancelBtnClick(Sender: TObject); // Cancel private { Private declarations } TableSymbols : array [1..size] of string [2]; //    public { Public declarations } selectedElement : string; //   currNo : integer; //    end; var tableDlg: TtableDlg; implementation {$R *.dfm} const PeriodicTableStr1= 'HHeLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLa'; PeriodicTableStr2='CePrNdPmSmEuGdTbDyHoErTmYbLu'; PeriodicTableStr3='HfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAc'; PeriodicTableStr4='ThPaUNpPuAmCmBkCfEsFmMdNoLrKu '; //   ================================================== procedure TtableDlg.FormCreate(Sender: TObject); //   var s : string; i,j : integer; begin currNo := 0; //    : s := PeriodicTableStr1+ PeriodicTableStr2+PeriodicTableStr3+PeriodicTableStr4; j := 1; for i :=1 to size do begin TableSymbols [i] := s[j]; inc (j); if s [j] in ['a'..'z'] then begin TableSymbols [i] := TableSymbols [i]+ s [j]; inc (j); end; // if s [j] in end; // for i :=1 end; // FormCreate ____________________________________________________ //   :    ========================================= procedure TtableDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); //   var sl : integer; begin sl := GetBValue(Image2.Canvas.Pixels [x,y]); if sl in [1..size] then begin Label1.Caption := intToStr (sl)+ ' '+TableSymbols [sl]; currNo := sl; end else Label1.Caption := 'Select element:'; end; // Image1MouseMove ____________________________________________________ procedure TtableDlg.Image1Click(Sender: TObject); begin if currNo <> 0 then begin selectedElement := TableSymbols [currNo]; Label2.Caption := intToStr (currNo)+ ' '+selectedElement+ ' selected'; Edit1.Text := selectedElement; end; end; // Image1Click ____________________________________________________ //    ================================================== procedure TtableDlg.OKBtnClick(Sender: TObject); begin selectedElement := Edit1.Text; hide; end; // OKBtnClick ____________________________________________________ procedure TtableDlg.CancelBtnClick(Sender: TObject); begin hide; end; // CancelBtnClick ____________________________________________________ end. 


Dans notre version, nous avons pris une table avec une taille de 104 éléments ( taille constante). Evidemment, cette taille peut être augmentée. Les désignations des éléments (symboles chimiques) sont écrites dans le tableau TableSymbols . Cependant, pour des raisons de compacité du code source, il semble conseillé d'écrire la séquence de ces notations sous forme de constantes de chaîne PeriodicTableStr1 , ..., PeriodicTableStr4 , de sorte que lorsque le formulaire est créé, le programme diffuse ces notations par éléments de tableau. Chaque désignation d'un élément consiste en une ou deux lettres latines, la première lettre en majuscule et la deuxième (le cas échéant) en minuscule. Cette règle simple est implémentée lors du chargement d'un tableau. Ainsi, la séquence de symboles peut être écrite de manière concise sans espaces. La décomposition de la séquence en quatre parties (constantes PeriodicTableStr1 , ..., PeriodicTableStr4 ) est due à la considération de la commodité de lecture du code source, car une ligne trop longue peut ne pas tenir entièrement à l'écran.

Lorsque le curseur de la souris se déplace sur Image1, le gestionnaire Image1MouseMove pour cet événement détermine la valeur de la composante bleue de la couleur de pixel de la carte de contrôle Image2 pour les coordonnées du curseur en cours. Par construction de Image2, cette valeur est égale au numéro de l'élément si le curseur est à l'intérieur de la cellule; zéro si à la frontière, et 255 dans les autres cas. Les actions restantes effectuées par le programme sont triviales et ne nécessitent aucune explication.

En plus des astuces stylistiques de programmation mentionnées ci-dessus, il convient de noter le style des commentaires. À strictement parler, le code examiné est si petit et simple que les commentaires ne semblent pas particulièrement utiles. Cependant, ils ont été ajoutés, y compris pour des raisons méthodologiques - un code abrégé vous permet de tirer plus clairement certaines conclusions générales. Dans le code soumis, une classe est déclarée ( TtableDlg ). Les méthodes de cette classe peuvent être échangées et cela n'affectera pas le fonctionnement du programme, mais peut affecter sa lisibilité. Par exemple, imaginez une séquence:

 OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick. 

Cela peut ne pas être très visible, mais la lecture et la compréhension deviendront un peu plus difficiles. S'il n'y a pas cinq méthodes, mais des dizaines de fois plus et dans la section de mise en œuvre , elles ont un ordre complètement différent de celui des descriptions de classe, alors le chaos ne fera qu'augmenter. Par conséquent, bien qu'il soit difficile de le prouver strictement et qu'il soit même impossible, il est à espérer que l'introduction d'une commande supplémentaire améliorera la lisibilité du code. Cet ordre supplémentaire est facilité par le regroupement logique de plusieurs méthodes qui effectuent des tâches similaires. Chaque groupe doit se voir attribuer un titre, par exemple:

 //   :    

Ces en-têtes doivent être copiés en haut du module et formatés en tant que table des matières. Dans certains cas de modules suffisamment longs, ces tables des matières offrent des capacités de navigation supplémentaires. De même, dans le corps long d'une méthode, d'une procédure ou d'une fonction, il convient, tout d'abord, de marquer la fin de ce corps:

 end; // FormCreate 

et deuxièmement, dans les instructions fourchues avec des crochets de programmation début - fin, marquez la déclaration à laquelle se réfère le crochet de fermeture:

  end; // if s [j] in end; // for i :=1 end; // FormCreate 

Pour mettre en surbrillance les en-têtes des groupes et les extrémités des corps de méthodes, vous pouvez ajouter des lignes qui dépassent la longueur de la plupart des opérateurs et se composent, par exemple, des caractères "=" et "_", respectivement.
Encore une fois, nous devons faire une réservation: nous avons un exemple trop simple. Et lorsque le code de méthode ne tient pas sur un seul écran, il n'est pas facile de comprendre les six extrémités consécutives pour effectuer des changements de code. Dans certains compilateurs plus anciens, par exemple, Pascal 8000 pour OS IBM 360/370, une colonne de service du formulaire a été imprimée dans la liste de gauche

 B5 … E5 

Cela signifie que le crochet de programme de fermeture sur la ligne E5 correspond au crochet d'ouverture du programme sur la ligne B5.

Bien sûr, le style de programmation est une question très controversée, par conséquent, les idées exprimées ici ne doivent être prises que pour information. Il est très difficile pour deux programmeurs expérimentés qui ont développé et s’habituent à différents styles au fil des ans de travailler. Une autre chose est qu'un étudiant programme un étudiant qui n'a pas encore eu le temps de trouver son propre style. Je pense que dans ce cas, l'enseignant devrait au moins transmettre à ses élèves une idée aussi simple, mais pas évidente pour eux, que le succès du programme dépend en grande partie du style dans lequel son code source est écrit. L'élève peut ne pas suivre le style recommandé, mais laissez-le au moins réfléchir à la nécessité d'actions «supplémentaires» pour améliorer la conception du code source.

Revenons à notre tâche de base sur le tableau périodique: le développement peut aller dans différentes directions. L'une des directions est à titre de référence: lorsque vous survolez la cellule du tableau, une fenêtre d'informations apparaît contenant des informations supplémentaires sur l'élément spécifié. La poursuite du développement concerne les filtres. Par exemple, selon l'installation, la fenêtre d'information n'aura que: les informations physiques et chimiques les plus importantes, les informations sur l'histoire de la découverte, les informations sur la répartition dans la nature, une liste des composés les plus importants (où cet élément est inclus), les propriétés physiologiques, le nom dans une langue étrangère, etc. e. Rappelant le «canard» de Kaverin, par lequel commence cet article, nous pouvons dire qu'avec ce développement du programme, nous recevrons un complexe de formation complet en sciences naturelles: en plus de l'informatique, de la physique et de la chimie - biologie, géographie économique, histoire des sciences, et même langues nostrannye.

Mais la base de données locale n'est pas la limite. Le programme se connecte naturellement à Internet. Lorsqu'un élément est sélectionné, un lien est déclenché et un article Wikipedia sur cet élément est ouvert dans une fenêtre de navigateur Web. Wikipédia, comme vous le savez, n'est pas une source faisant autorité. Vous pouvez définir des liens vers des sources faisant autorité, par exemple, une encyclopédie chimique, le BST, des revues abstraites, des demandes de commande dans les moteurs de recherche pour cet élément, etc. T.O. les étudiants seront capables d'effectuer des tâches simples mais informatives sur les sujets du SGBD et d'Internet.

En plus des requêtes pour un seul élément, vous pouvez créer une fonction qui, par exemple, marquera de différentes couleurs les cellules du tableau qui correspondent à certains critères. Par exemple, les métaux et les non-métaux. Ou des cellules qui sont drainées dans des étangs par une usine chimique locale.

Vous pouvez également implémenter les fonctions d'un organiseur de bloc-notes. Par exemple, mettez en surbrillance dans le tableau les éléments inclus dans l'examen. Mettez ensuite en évidence les éléments étudiés / répétés par l'étudiant en vue de l'examen.

Et voici, par exemple, l'une des tâches typiques de la chimie scolaire:

Compte tenu de 10 g de craie. De combien d'acide chlorhydrique ai-je besoin pour dissoudre toute cette craie?

Pour résoudre ce problème, vous devez écrire un chem. la réaction et y placer les coefficients, calculer les poids moléculaires du carbonate de calcium et du chlorure d'hydrogène, puis composer et résoudre la proportion. Une calculatrice basée sur notre programme de base pourra calculer et résoudre. Certes, il faudra encore tenir compte du fait que l'acide doit être pris avec un excès raisonnable et à une concentration raisonnable, mais c'est de la chimie, pas de l'informatique.
Annexe 1: comment fonctionne une calculatrice chimique
Analysons le travail de la calculatrice en utilisant l'exemple du problème ci-dessus de la craie et du méli-mélo. Commençons par la réaction:

CaCO 3 + 2HCl = CaCl 2 + H 2 O

De là, nous voyons que nous aurons besoin des poids atomiques des éléments suivants: calcium (Ca), carbone (C), oxygène (O), hydrogène (H) et chlore (Cl). Dans le cas le plus simple, nous pouvons écrire ces poids dans un tableau unidimensionnel défini comme

 AtomicMass : array [1..size] of real; 


où l'index du tableau correspond au numéro de l'élément. Nous avons également mis deux champs sur l'espace libre du formulaire tableDlg . Dans le premier champ, il est initialement écrit: «Le premier réactif est donné», dans le second - «Le deuxième réactif est de trouver x». Indiquez respectivement les champs réactif1 , réactif2 . D'autres ajouts au programme apparaîtront clairement dans l'exemple suivant de la calculatrice.

Nous tapons sur le clavier de l'ordinateur: 10 g. L'inscription dans le champ réactif1 change: «Le premier réactif reçoit 10 g». Maintenant, nous entrons la formule de ce réactif, et la calculatrice lira et affichera son poids moléculaire pendant que vous tapez.

Cliquez sur LMB dans la cellule du tableau avec le symbole Ca. L'inscription dans le champ réactif1 change: «Le premier réactif Ca 40.078 reçoit 10 g.»

Cliquez sur LMB dans la cellule du tableau avec le symbole C. L'inscription dans le champ réactif1 change: «Le premier réactif CaC 52.089 reçoit 10 g». C'est-à-dire la calculatrice a ajouté les poids atomiques du calcium et du carbone.

Cliquez sur LMB dans la cellule du tableau avec le symbole O. L'inscription dans le champ réactif1 change: «Le premier réactif CaCO 68.088 reçoit 10 g». La calculatrice a ajouté le poids atomique d'oxygène à la somme.

Cliquez sur LMB dans la cellule du tableau avec le symbole O. L'inscription dans le champ réactif1 change: «Le premier réactif CaCO2 84.087 reçoit 10 g». La calculatrice a de nouveau ajouté le poids atomique d'oxygène à la somme.

Cliquez sur LMB dans la cellule du tableau avec le symbole O. L'inscription dans le champ réactif1 change: «Le premier réactif CaCO3 100.086 reçoit 10 g». La calculatrice a de nouveau ajouté le poids atomique d'oxygène à la somme.

Appuyez sur Entrée sur le clavier de l'ordinateur. L'entrée du premier réactif est terminée et passe au champ réactif2 . Notez que dans cet exemple, nous présentons la version minimale. Si vous le souhaitez, vous pouvez facilement organiser les multiplicateurs d'atomes du même type, de sorte que, par exemple, vous n'avez pas à appuyer sur la cellule à oxygène sept fois de suite lorsque vous entrez la formule de chrompeak (K 2 Cr 2 O 7 ).

Cliquez sur LMB dans la cellule du tableau avec la lettre H. L'inscription dans le champ réactif2 change: «Trouvez le deuxième réactif H 1.008 x».

Cliquez sur LMB dans la cellule du tableau avec le symbole Cl. L'inscription dans le champ réactif2 change: «Deuxième réactif HCl 36.458 pour trouver x». La calculatrice a ajouté les poids atomiques de l'hydrogène et du chlore. Dans l'équation de réaction ci-dessus, le chlorure d'hydrogène a un coefficient de 2. Par conséquent, cliquez sur LMB dans le champ réactif2 . Le poids moléculaire double (triple triple pression, etc.). L'inscription dans le champ réactif2 change: «Le deuxième réactif 2HCl 72.916 trouve x».

Appuyez sur Entrée sur le clavier de l'ordinateur. L'entrée du deuxième réactif est terminée et la calculatrice trouve x à partir de la proportion

x $ / 72,916 = 10 / 100,086. $


Ce qui était nécessaire pour trouver.

Note 1. La signification de la proportion obtenue: pour dissoudre 100,086 Da de craie, 72,916 Da d'acide sont nécessaires et pour dissoudre 10 g de craie, x acide est nécessaire.

Note 2. Collections de tâches similaires:

Khomchenko I.G., Collection de tâches et d'exercices de chimie 2009 (grade 8-11).
Khomchenko G.P., Khomchenko I.G., Une collection de problèmes en chimie pour les étudiants universitaires, 2019.

Remarque 3. Pour simplifier la tâche, vous pouvez simplifier la saisie de la formule dans la version initiale et simplement ajouter le symbole d'élément à la fin de la ligne de formule. Ensuite, la formule du carbonate de calcium ressemblera à:
Cacoo
Mais un tel record ne plaira probablement pas à un professeur de chimie. Il n'est pas difficile de faire le bon enregistrement - pour cela, vous devez ajouter un tableau:
 formula : array [1..size] of integer; 

où l'indice est le numéro de l'élément chimique et la valeur à cet indice est le nombre d'atomes (initialement, tous les éléments du tableau sont remis à zéro). Il faut tenir compte de l'ordre d'écriture des atomes dans la formule, adoptée en chimie. Par exemple, peu de gens aimeront O3CaC. Nous transférons la responsabilité à l'utilisateur. Nous faisons un tableau:
  formulaOrder : array [1..size] of integer; //    

où nous écrivons le numéro de l'élément chimique en fonction de l'indice de son apparition dans la formule. Ajout de l'atome currNo à la formule:
 if formula [currNo]=0 then //     begin orderIndex := orderIndex+1;//    orderIndex=0 formulaOrder [orderIndex] := currNo; end; formula [currNo]:=formula [currNo]+1; 

Écrire une formule dans une chaîne
 s := ''; //     for i:=1 to orderIndex do //   .   begin s:=s+TableSymbols [ formulaOrder[i]];//  . if formula [formulaOrder[i]]<>1 then // -  s:=s+ intToStr(formula [formulaOrder[i]]); end; 

Remarque 4. Il est logique de fournir la possibilité de saisir alternativement la formule de réactif à partir du clavier. Dans ce cas, vous devrez implémenter un analyseur simple.


Il convient de noter que:
Aujourd'hui, il existe plusieurs centaines de variantes du tableau, tandis que les scientifiques proposent de nouvelles options. ( Wikipedia )

Les élèves peuvent être intelligents dans cette direction, réalisant l'une des options déjà proposées ou essayant de créer leur propre original. Il peut sembler que ce soit la direction la moins utile pour les cours d'informatique. Cependant, sous la forme du tableau périodique implémenté dans cet article, certains étudiants peuvent ne pas voir les avantages particuliers des cartes de contrôle par rapport à une solution alternative utilisant des boutons TButton standard. La forme en spirale du tableau (où les cellules sont de formes différentes) démontrera plus clairement les avantages de la solution proposée ici.

image
( Un système alternatif d'éléments par Theodore Benfei , Source )

Nous ajoutons également qu'un certain nombre de programmes informatiques existants pour le tableau périodique sont décrits dans un article récemment publié sur Habré.

Annexe 2: exemples de tâches pour les filtres
À l'aide de filtres, vous pouvez par exemple résoudre les tâches suivantes:

1) Sélectionnez dans le tableau tous les éléments connus au Moyen Âge.

2) Sélectionnez tous les éléments connus au moment de la découverte de la loi périodique.

3) Mettez en évidence sept éléments que les alchimistes considéraient comme des métaux.

4) Sélectionnez tous les éléments qui sont à l'état gazeux dans des conditions normales (n.o.).

5) Sélectionnez tous les éléments qui sont à l'état liquide à nu

6) Sélectionnez tous les éléments qui sont à l'état solide à n.o.

7) Sélectionnez tous les éléments qui peuvent être dans l'air pendant une longue période sans changements notables à n.o.

8) Sélectionnez tous les métaux qui se dissolvent dans l'acide chlorhydrique.

9) Sélectionnez tous les métaux qui se dissolvent dans l'acide sulfurique à n.a.

10) Sélectionnez tous les métaux qui se dissolvent dans l'acide sulfurique lorsqu'ils sont chauffés.

11) Sélectionnez tous les métaux qui se dissolvent dans l'acide nitrique.

12) Sélectionnez tous les métaux qui réagissent violemment avec l'eau à n.o.

13) Sélectionnez tous les métaux.

14) Mettez en évidence les éléments qui sont répandus dans la nature.

15) Mettez en évidence les éléments que l'on trouve dans la nature à l'état libre.

16) Mettre en évidence les éléments qui jouent un rôle crucial dans le corps humain et les animaux.

17) Mettre en évidence des éléments largement utilisés dans la vie quotidienne (sous forme libre ou en mélange).

18) Identifier les éléments dont le travail est le plus dangereux et qui nécessitent des mesures spéciales et un équipement de protection.

19) Mettre en évidence les éléments qui, sous forme libre ou sous forme de composés, constituent la plus grande menace pour l'environnement.

20) Mettez en valeur les métaux précieux.

21) Mettez en surbrillance les articles qui sont plus chers que les métaux précieux.

Remarques

1) Il est logique d'assurer le fonctionnement de plusieurs filtres. Par exemple, si vous activez le filtre pour résoudre le problème 1 (tous les éléments connus au Moyen Âge) et 20 (métaux précieux), les cellules (avec la couleur, par exemple) avec des métaux précieux connus au Moyen Âge seront mises en évidence (par exemple, le palladium ne sera pas mis en évidence découvert en 1803).

2) Il est logique d'assurer le fonctionnement de plusieurs filtres de telle sorte que chaque filtre met en évidence les cellules avec sa couleur, mais ne supprime pas complètement la sélection de l'autre filtre (partie de la cellule dans une couleur, partie dans une autre). Ensuite, dans le cas de l'exemple précédent, les éléments de l'intersection des ensembles d'ouvert au Moyen Âge et des métaux précieux, ainsi que les éléments appartenant uniquement au premier et uniquement au second seront visibles. C'est-à-dire les métaux précieux inconnus au Moyen Âge et les éléments connus au Moyen Âge, mais pas les métaux précieux.

3) Il est logique après avoir appliqué le filtre de fournir la possibilité d'un autre travail avec les résultats. Par exemple, en mettant en surbrillance des éléments connus au Moyen-Âge, l'utilisateur clique sur le LMB sur l'élément sélectionné et entre dans l'article Wikipedia sur cet élément.

4) Il est logique de permettre à l'utilisateur de désélectionner en cliquant sur LMB dans la cellule de tableau sélectionnée. Par exemple, pour supprimer des éléments déjà consultés.

5) Il est logique de maintenir une liste de cellules sélectionnées dans un fichier et de charger un tel fichier avec une sélection automatique de cellules. Cela donnera à l'utilisateur la possibilité de prendre une pause dans son travail.

Annexe 3: Quiz chimique
Contrairement au tableau de multiplication, les écoliers ne sont pas obligés de mémoriser le tableau périodique, mais ceux qui s'intéressent à la chimie, en l'étudiant, mémorisent en quelque sorte la quasi-totalité du tableau. Cela est assuré par la compréhension de l'essence de la loi périodique: pourquoi, par exemple, les gaz inertes occupent la colonne la plus à droite et les halogènes occupent la colonne voisine. Connaître le bon ordre dans la série des mêmes halogènes permet de connaître leurs propriétés chimiques. Ainsi, si un étudiant se souvient par cœur d'une grande partie du tableau périodique, cela indique sa bonne connaissance de la chimie. Par conséquent, il est logique de concourir sous la forme d'un quiz pour tester ces connaissances facultatives mais souhaitables.

Dans l'espace libre du formulaire tableDlg nous plaçons le composant "liste de la sélection d'un élément". Cette liste contient tous les noms des éléments chimiques par ordre alphabétique. Dans le tableau, nous effaçons toutes les cellules. Le participant au quiz doit sélectionner la cellule du tableau LMB et l'élément de la liste qui doit se trouver dans cette cellule. Vous pouvez vice versa: sélectionner un élément de liste, puis une cellule. Si le choix est fait correctement, le programme entre le symbole chimique de l'élément dans la cellule spécifiée et le supprime de leur liste. Sinon, le participant reçoit un point de pénalité. Le compteur de score est placé sur la table d' espace libreDlg . Le programme est également équipé d'une minuterie qui compte le temps passé par le participant pour remplir la table entière. Vous pouvez fournir une option légère: ne remplissez pas les cellules de lanthanides et d'actinides. Le gagnant est déterminé par le temps passé moins les points de pénalité. Par exemple, le premier finisseur reçoit 10 points, dont des points de pénalité sont déduits, le deuxième 8 points, le troisième 5 points.

Annexe 4: Intégration de plusieurs tâches dans un même programme
Ci-dessus, nous avons examiné un certain nombre de tâches possibles: un répertoire d'éléments chimiques, une calculatrice chimique, un quiz chimique. ( ). , ( ), .


Nous avons utilisé une carte de contrôle statique prédéterminée à l'avance, mais il existe de nombreuses tâches importantes où des cartes de contrôle dynamiques qui changent pendant le fonctionnement du programme peuvent être utilisées. Un exemple serait un éditeur de graphiques dans lequel l'utilisateur, à l'aide de la souris, pointe vers la position des sommets et trace des arêtes entre eux. Pour supprimer un sommet ou une arête, l'utilisateur doit pointer dessus. Mais si le sommet indiqué par le cercle est assez simple à indiquer, alors le bord tracé par une fine ligne sera plus difficile à pointer. Une carte de contrôle vous aidera ici, où les sommets et les bords occupent une zone plus large que sur la figure visible.

Une question secondaire intéressante est associée à la méthode d'apprentissage intégré qui a été abordée: cette méthode peut-elle être utile dans l'enseignement de l'IA?

Source: https://habr.com/ru/post/fr446836/


All Articles