Tableau périodique sur l'informatique scolaire

(Cartes de contrôle)
(Dédié à l'Année internationale du tableau périodique des éléments chimiques)
(Les derniers ajouts ont été effectués le 8 avril 2019. La liste des ajouts se trouve immédiatement en dessous de la coupe)

Tableau périodique sur l'informatique scolaire
(La fleur de Mendeleïev, Source)

Je me souviens que nous avons croisé le canard. Il s'agissait de trois cours à la fois : géographie, sciences naturelles et russe. Dans une leçon de sciences, un canard a été étudié comme un canard, quelles ailes il a, quelles pattes il a, comment il nage, etc. Dans un cours de géographie, le même canard a été étudié comme habitant du globe : il fallait montrer sur une carte où il vit et où il ne vit 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é qu'en allemand le canard c'est comme ça, et en français comme ça. Je pense qu’à l’époque, on appelait cela la « méthode complexe ». En général, tout s'est déroulé « en passant ».

Veniamin Kaverin, Deux capitaines

Dans la citation ci-dessus, Veniamin Kaverin a magistralement montré les défauts d'une méthode d'enseignement complexe, cependant, dans certains cas (peut-être assez rares), des éléments de cette méthode sont justifiés. Un tel cas est celui du tableau périodique de D.I. Mendeleïev dans les cours d’informatique à l’école. La tâche d'automatisation logicielle des actions typiques avec le tableau périodique est claire pour les écoliers qui ont commencé à étudier la chimie et est divisée en de nombreuses tâches chimiques typiques. Parallèlement, dans le cadre de l'informatique, cette tâche permet de démontrer sous une forme simple le procédé de cartes de contrôle, qui peut être attribué à la programmation graphique, entendue au sens large du terme comme programmation utilisant des éléments graphiques.

(Ajouts du 8 avril 2019 :
Addendum 1 : Comment fonctionne le calculateur de chimie
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 sous forme de fenêtre, où dans chaque cellule il y aura une désignation chimique de l'élément : H - hydrogène, He - hélium, etc. Si le curseur de la souris pointe sur une cellule, alors la désignation de l'élément et son numéro sont affichés dans un champ spécial de notre formulaire. Si l'utilisateur appuie sur LMB, alors la désignation et le numéro de cet élément sélectionné seront indiqués dans un autre champ du formulaire.

Tableau périodique sur l'informatique scolaire

Le problème peut être résolu en utilisant n’importe quel langage universel. Prenons le simple vieux Delpi-7, compréhensible par presque tout le monde. Mais avant de programmer en PL, dessinons deux images, par exemple dans Photoshop. Tout d'abord, dessinons le tableau périodique sous la forme que nous voulons voir dans le programme. Enregistrez le résultat dans un fichier graphique table01.bmp.

Tableau périodique sur l'informatique scolaire

Pour le deuxième dessin, nous utilisons le premier. Nous remplirons séquentiellement les cellules du tableau, débarrassées de tous graphiques, avec des couleurs uniques dans le modèle de couleurs RVB. R et G seront toujours 0, et B=1 pour l'hydrogène, 2 pour l'hélium, etc. Ce dessin sera notre carte de contrôle, que nous sauvegarderons dans un fichier appelé table2.bmp.

Tableau périodique sur l'informatique scolaire

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

Placer un composant de classe sur le formulaire Timage. Obtenir Image1. Notez qu'en général, pour les grands projets, les noms sont générés automatiquement sous la forme ImageNN peut atteindre plusieurs dizaines ou plus - ce n'est pas le meilleur style de programmation et des noms plus significatifs devraient être donnés. Mais dans notre petit projet, où N ne dépassera pas 2, vous pouvez le laisser tel que généré.

À la propriété Image1.Image télécharger le fichier table01.bmp. Nous créons Image2 et chargez-y notre carte de contrôle table2.bmp. Dans ce cas, nous rendons le fichier petit et invisible pour l'utilisateur, comme indiqué dans le coin inférieur gauche du formulaire. Nous ajoutons des éléments de contrôle supplémentaires dont le but est évident. La deuxième étape de la programmation de l'interface graphique graphique dans l'EDI Delpi-7 est terminée.

Tableau périodique sur l'informatique scolaire

Passons à la troisième étape : l'écriture de code dans l'IDE Delpi-7. Le module se compose de seulement cinq gestionnaires d'événements : création de formulaire (Créer), mouvement du curseur Image1 (Image1SourisDéplacer), en cliquant sur LMB sur une cellule (Image1Cliquez) et quittez la boîte de dialogue à l'aide des boutons OK (OKBtnCliquez) ou Annuler (AnnulerBtnClick). 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 un tableau de 104 éléments (constant Taille). Cette taille peut évidemment être augmentée. Les désignations des éléments (symboles chimiques) sont écrites dans un tableau TableSymboles. Cependant, pour des raisons de compacité du code source, il semble judicieux d'écrire la séquence de ces notations sous forme de constantes chaînes TableauPériodiqueStr1..., TableauPériodiqueStr4de sorte que lorsque le formulaire est créé, le programme lui-même répartit ces désignations entre les éléments du tableau. Chaque désignation d'élément se compose d'une ou deux lettres latines, la première lettre étant en majuscule et la seconde (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 notations peut être écrite de manière concise et sans espaces. Découper une séquence en quatre parties (constantes TableauPériodiqueStr1..., TableauPériodiqueStr4) est dû à des considérations de facilité de lecture du code source, car Une ligne trop longue risque de ne pas tenir entièrement à l’écran.

Lorsque le curseur de la souris se déplace sur le Image1 gestionnaire Image1SourisDéplacer cet événement détermine la valeur de la composante de couleur bleue du pixel de la carte de contrôle Image2 pour les coordonnées actuelles du curseur. Par construction 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 techniques de programmation stylistiques mentionnées ci-dessus, il convient de noter le style des commentaires. À proprement parler, le code discuté est si petit et si simple que les commentaires ne semblent pas particulièrement nécessaires. Cependant, ils ont également été ajoutés pour des raisons méthodologiques : le code court nous permet de tirer plus clairement certaines conclusions générales. Dans le code présenté, une classe est déclarée (TtableDlg). Les méthodes de cette classe peuvent être échangées, ce qui n'affectera en rien le fonctionnement du programme, mais peut affecter sa lisibilité. Par exemple, imaginez la séquence :

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Ce n’est peut-être pas très visible, mais cela deviendra un peu plus difficile à lire et à comprendre. S'il n'y a pas cinq, mais des dizaines de fois plus de méthodes dans la rubrique la mise en oeuvre ils ont un ordre complètement différent de celui dans les descriptions de classe, alors le chaos ne fera qu'augmenter. Par conséquent, même si cela est difficile à prouver strictement, voire impossible, on peut espérer que l’introduction d’un ordre 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 connexes. Chaque groupe doit recevoir un titre, par exemple :

// работа с таблицей: указание и выбор

Ces titres doivent être copiés au début du module et formatés sous forme de table des matières. Dans certains cas de modules assez longs, ces tables des matières offrent des options 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 d’abord de marquer la fin de ce corps :

end; // FormCreate

et, deuxièmement, dans les instructions ramifiées avec des parenthèses de programme début - fin, marquez l'instruction à laquelle se réfère la parenthèse fermante :

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

Pour mettre en évidence les en-têtes de groupe et les fins des corps de méthode, vous pouvez ajouter des lignes plus longues que la plupart des instructions et constituées, par exemple, des caractères « = » et « _ », respectivement.
Encore une fois, il faut faire une réserve : notre exemple est trop simple. Et lorsque le code d’une méthode ne tient pas sur un seul écran, il peut être difficile de comprendre six fins consécutives pour apporter des modifications au code. Dans certains anciens compilateurs, par exemple Pascal 8000 pour OS IBM 360/370, une colonne de service comme celle-ci était imprimée à gauche dans la liste.

B5
…
E5

Cela signifiait que la parenthèse fermante de la ligne E5 correspondait à la parenthèse ouvrante de la ligne B5.

Bien entendu, le style de programmation est une question très controversée, c'est pourquoi les idées exprimées ici ne doivent être considérées que comme de simples éléments de réflexion. Il peut être très difficile pour deux programmeurs assez expérimentés, qui ont développé et se sont habitués à des styles différents au fil de nombreuses années de travail, de parvenir à un accord. C'est une autre affaire pour un étudiant qui apprend à programmer et 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 si simple, mais pas évidente, que le succès d'un programme dépend en grande partie du style dans lequel son code source est écrit. L'étudiant 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 problème fondamental sur le tableau périodique : le développement ultérieur peut aller dans différentes directions. L'une des directions est à titre indicatif : lorsque vous passez le curseur de la souris sur une cellule du tableau, une fenêtre d'information apparaît contenant des informations supplémentaires sur l'élément spécifié. Le développement ultérieur concerne les filtres. Par exemple, selon l'installation, la fenêtre d'information contiendra uniquement : les informations physiques et chimiques les plus importantes, des informations sur l'historique de découverte, des informations sur la répartition dans la nature, une liste des composés les plus importants (qui incluent cet élément), propriétés physiologiques, nom dans une langue étrangère, etc. sciences, physique et chimie - biologie, géographie économique, histoire des sciences et même langues étrangères.

Mais une base de données locale n’est pas la limite. Le programme se connecte naturellement à Internet. Lorsque vous sélectionnez un élément, le lien est activé et l'article Wikipédia sur cet élément s'ouvre dans la fenêtre du 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 TSB, des revues de résumés, commander des requêtes dans les moteurs de recherche pour cet élément, etc. Que. Les étudiants seront en mesure d'effectuer des devoirs simples mais significatifs sur des sujets liés aux SGBD et à Internet.

En plus des requêtes sur un élément individuel, vous pouvez créer des fonctionnalités qui permettront, par exemple, de marquer les cellules du tableau répondant à certains critères avec des couleurs différentes. Par exemple, les métaux et les non-métaux. Ou des cellules qui sont déversées dans des plans d’eau par une usine chimique locale.

Vous pouvez également mettre en œuvre les fonctions d'un organisateur de cahier. Par exemple, mettez en surbrillance dans le tableau les éléments inclus dans l'examen. Mettez ensuite en avant les éléments étudiés/répétés par l'étudiant en préparation à l'examen.

Et voici, par exemple, l'un des problèmes typiques de chimie à l'école :

Étant donné 10 g de craie. Quelle quantité d’acide chlorhydrique faut-il prendre pour dissoudre toute cette craie ?

Pour résoudre ce problème, il est nécessaire d’écrire la chimie. réaction et en y plaçant les coefficients, calculez les poids moléculaires du carbonate de calcium et du chlorure d'hydrogène, puis composez et résolvez la proportion. Une calculatrice basée sur notre programme de base peut calculer et résoudre. Certes, vous devrez toujours tenir compte du fait que l'acide doit être pris en excès raisonnable et à une concentration raisonnable, mais il s'agit de chimie et non d'informatique.
Addendum 1 : Comment fonctionne le calculateur de chimieAnalysons le fonctionnement 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 :

CaCO3 + 2HCl = CaCl2 + H2O

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. En savoir plus sur l'espace libre du formulaire tableDlg mettez deux champs. 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 ». Notons les champs réactif1, réactif2 respectivement. D'autres ajouts au programme apparaîtront clairement dans l'exemple suivant de la calculatrice.

On tape sur le clavier de l'ordinateur : 10 G. Inscription dans le champ réactif1 changements : « Le premier réactif reçoit 10 g. » Nous entrons maintenant la formule de ce réactif, et la calculatrice calculera et affichera son poids moléculaire au fur et à mesure que vous le saisissez.

Cliquez sur LMB sur la cellule du tableau avec le symbole Ca. Inscription sur le terrain réactif1 changements : « Premier réactif Ca 40.078 donné 10 g. »

Cliquez LMB sur la cellule du tableau avec le symbole C. Inscription dans le champ réactif1 changements : « Premier réactif CaC 52.089 donné 10 g. » Ceux. La calculatrice additionnait les poids atomiques du calcium et du carbone.

Cliquez LMB sur la cellule du tableau avec le symbole O. Inscription dans le champ réactif1 changements : « Premier réactif CaCO 68.088 donné 10 g. » La calculatrice a ajouté le poids atomique de l’oxygène à la somme.

Cliquez LMB sur la cellule du tableau avec le symbole O. Inscription dans le champ réactif1 changements : « Premier réactif CaCO2 84.087 donné 10 g. » La calculatrice a encore une fois ajouté le poids atomique de l’oxygène à la somme.

Cliquez LMB sur la cellule du tableau avec le symbole O. Inscription dans le champ réactif1 changements : « Premier réactif CaCO3 100.086 donné 10 g. » La calculatrice a de nouveau ajouté le poids atomique de l’oxygène à la somme.

Appuyez sur Entrée sur le clavier de votre ordinateur. L'introduction du premier réactif est terminée et passe sur le terrain réactif2. Notez que dans cet exemple, nous fournissons une version minimale. Si vous le souhaitez, vous pouvez facilement organiser des multiplicateurs d'atomes du même type, de sorte que, par exemple, vous n'ayez pas à cliquer sept fois de suite sur la cellule à oxygène lors de la saisie de la formule du chrome (K2Cr2O7).

Cliquez LMB sur la cellule du tableau avec le symbole H. Inscription dans le champ réactif2 changements : "Deuxième réactif H 1.008 trouver x."

Cliquez sur LMB sur la cellule du tableau avec le symbole Cl. Inscription sur le terrain réactif2 changements : « Deuxième réactif HCl 36.458 trouver x. » La calculatrice additionnait les poids atomiques de l’hydrogène et du chlore. Dans l'équation de réaction ci-dessus, le chlorure d'hydrogène est précédé d'un coefficient de 2. Cliquez donc sur LMB sur le champ réactif2. Le poids moléculaire double (triple lorsqu'on appuie deux fois, etc.). Inscription sur le terrain réactif2 changements : « Deuxième réactif 2HCl 72.916 trouver x. »

Appuyez sur Entrée sur le clavier de votre ordinateur. La saisie du deuxième réactif est terminée et la calculatrice trouve x à partir de la proportion

Tableau périodique sur l'informatique scolaire

C'est ce que nous devions trouver.

Notez 1. Le sens de la proportion résultante : pour dissolution 100.086 Da la craie nécessite 72.916 Da d'acide, et pour dissoudre 10 g de craie, il faut x acide.

Notez 2. Collections de problèmes similaires :

Khomchenko I. G., Recueil de problèmes et d'exercices de chimie 2009 (8e à 11e années).
Khomchenko G. P., Khomchenko I. G., Recueil de problèmes de chimie pour les candidats aux universités, 2019.

Notez 3. Pour simplifier la tâche, vous pouvez simplifier la saisie de la formule dans la version initiale et ajouter simplement le symbole de l'élément à la fin de la ligne de formule. Alors la formule du carbonate de calcium sera :
CaCOOO
Mais il est peu probable qu'un professeur de chimie aime un tel enregistrement. Il n'est pas difficile de faire la saisie correcte - pour ce faire, vous devez ajouter un tableau :

formula : array [1..size] of integer;

où l'index est le numéro de l'élément chimique, et la valeur à cet index est le nombre d'atomes (initialement, tous les éléments du tableau sont remis à zéro). L’ordre dans lequel les atomes sont écrits dans une formule, tel qu’adopté en chimie, doit être pris en compte. Par exemple, peu de gens aimeront non plus O3CaC. Transférons la responsabilité à l'utilisateur. Créer un tableau :

 formulaOrder : array [1..size] of integer; // можно взять покороче

où l'on note le numéro de l'élément chimique en fonction de l'indice de son apparition dans la formule. Ajouter un atome CourantNon dans la formule :

if formula [currNo]=0 then //этот атом встретился первый раз
 begin
 orderIndex := orderIndex+1;//в начале ввода формулы orderIndex=0
 formulaOrder [orderIndex] :=  currNo;
 end;
formula [currNo]:=formula [currNo]+1;

Écrire la formule sur une ligne :

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;

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

Il est à noter que:

Aujourd'hui, il existe plusieurs centaines de versions de ce tableau et les scientifiques proposent constamment de nouvelles options. (Wikipedia)

Les étudiants peuvent faire preuve d'ingéniosité dans ce sens en mettant en œuvre l'une des options déjà proposées ou en essayant de créer la leur propre et originale. Il peut sembler que ce soit la direction la moins utile pour les cours d'informatique. Cependant, sous la forme du Tableau Périodique mis en œuvre dans cet article, certains étudiants peuvent ne pas voir d'avantage particulier aux cartes de contrôle par rapport à la solution alternative utilisant des boutons standards. Tbutton. La forme en spirale du tableau (où les alvéoles sont de formes différentes) démontrera plus clairement les avantages de la solution proposée ici.

Tableau périodique sur l'informatique scolaire
(Système alternatif d'éléments par Theodore Benfey, Source)

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

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

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

2) Identifier tous les éléments connus au moment de la découverte de la Loi Périodique.

3) Identifiez 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.s.).

5) Sélectionnez tous les éléments qui sont à l'état liquide au numéro XNUMX.

6) Sélectionnez tous les éléments qui sont à l'état solide au numéro XNUMX.

7) Sélectionnez tous les éléments qui peuvent être exposés à l'air pendant une longue période sans changements notables dans des conditions normales.

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 au no.

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) Isoler tous les métaux qui réagissent violemment avec l'eau aux conditions ambiantes.

13) Sélectionnez tous les métaux.

14) Identifier les éléments qui sont répandus dans la nature.

15) Identifier les éléments que l'on retrouve dans la nature à l'état libre.

16) Identifiez les éléments qui jouent le rôle le plus important dans le corps humain et animal.

17) Sélectionnez des éléments largement utilisés dans la vie quotidienne (sous forme libre ou en combinaisons).

18) Identifier les éléments avec lesquels travailler est le plus dangereux et qui nécessitent des mesures et des équipements de protection spéciaux.

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

20) Sélectionnez les métaux précieux.

21) Identifiez les éléments qui sont plus chers que les métaux précieux.

notes

1) Il est logique de fournir plusieurs filtres. Par exemple, si vous activez un filtre pour résoudre les problèmes 1 (tous les éléments connus au Moyen Âge) et 20 (métaux précieux), alors les cellules contenant des métaux précieux connus au Moyen Âge seront mises en évidence (par exemple, par couleur) ( par exemple, le palladium ne sera pas mis en valeur, ouvert en 1803).

2) Il est logique de s'assurer que plusieurs filtres fonctionnent dans un mode tel que chaque filtre sélectionne des cellules avec sa propre couleur, mais ne supprime pas complètement la sélection d'un autre filtre (une partie de la cellule dans une couleur, une partie dans une autre). Ensuite, dans le cas de l'exemple précédent, seront visibles des éléments d'intersection d'ensembles découverts au Moyen Âge et de métaux précieux, ainsi que des éléments appartenant uniquement au premier et uniquement au second ensembles. Ceux. 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 garantir la possibilité d'autres travaux avec les résultats obtenus. Par exemple, après avoir sélectionné des éléments connus au Moyen Âge, l'utilisateur clique LMB sur l'élément sélectionné et est redirigé vers l'article Wikipédia sur cet élément.

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

5) Il est logique de s'assurer que la liste des cellules sélectionnées est enregistrée dans un fichier et qu'un tel fichier est chargé avec une sélection automatique des cellules. Cela donnera à l'utilisateur la possibilité de faire une pause dans son travail.

Nous avons utilisé une carte de contrôle statique et prédéterminée, mais il existe de nombreuses tâches importantes pour lesquelles des cartes de contrôle dynamiques qui changent au fur et à mesure de l'exécution du programme peuvent être utilisées. Un exemple serait un éditeur de graphiques, dans lequel l'utilisateur utilise la souris pour indiquer les positions des sommets dans une fenêtre et dessiner des arêtes entre eux. Pour supprimer un sommet ou une arête, l'utilisateur doit pointer dessus. Mais s’il est assez facile de pointer vers un sommet marqué d’un cercle, alors il sera plus difficile de pointer vers une arête dessinée avec un trait fin. Une carte de contrôle sera utile ici, où les sommets et les arêtes occupent des voisinages plus larges que dans la figure visible.

Une question secondaire intéressante liée à cette méthode de formation complexe est la suivante : cette méthode peut-elle être utile dans la formation de l’IA ?

Source: habr.com

Ajouter un commentaire