Taula periòdica d'informàtica escolar

(Targetes de control)
(Dedicat a l'Any Internacional de la Taula Periòdica dels Elements Químics)
(Les últimes incorporacions es van fer el 8 d'abril de 2019. La llista d'addicions es troba immediatament a sota del tall)

Taula periòdica d'informàtica escolar
(Flor de Mendeleiev, Font)

Recordo que vam passar per davant de l'ànec. Eren tres lliçons alhora: geografia, ciències naturals i rus. En una lliçó de ciències s'estudiava un ànec com un ànec, quines ales té, quines potes té, com neda, etc. En una lliçó de geografia es va estudiar el mateix ànec com a habitant del món: calia mostrar en un mapa on viu i on no. En rus, Serafima Petrovna ens va ensenyar a escriure "u-t-k-a" i llegir alguna cosa sobre els ànecs de Brem. De passada, ens va informar que en alemany l'ànec és així, i en francès així. Crec que aleshores es deia "mètode complex". En general, tot va sortir "de passada".

Veniamin Kaverin, Dos capitans

A la cita anterior, Veniamin Kaverin va mostrar magistralment les deficiències del complex mètode d'ensenyament, però, en alguns casos (potser força rars), els elements d'aquest mètode estan justificats. Un d'aquests casos és la Taula Periòdica de D.I. Mendeleiev a les classes d'informàtica escolar. La tasca d'automatització de programari d'accions típiques amb la taula periòdica és clara per als escolars que han començat a estudiar química i es divideix en molts problemes químics típics. Al mateix temps, en el marc de la informàtica, aquesta tasca ens permet demostrar d'una forma senzilla el mètode de les targetes de control, que es pot atribuir a la programació gràfica, entesa en el sentit ampli de la paraula com a programació mitjançant elements gràfics.

(8 d'abril de 2019 incorporacions fetes:
Addendum 1: Com funciona la calculadora de química
Apèndix 2: exemples de tasques per a filtres)

Comencem amb la tasca bàsica. En el cas més senzill, la taula periòdica s'ha de mostrar a la pantalla en forma de finestra, on a cada cel·la hi haurà una designació química de l'element: H - hidrogen, He - heli, etc. Si el cursor del ratolí apunta a una cel·la, la designació de l'element i el seu número es mostren en un camp especial del nostre formulari. Si l'usuari prem LMB, la designació i el número d'aquest element seleccionat s'indicarà en un altre camp del formulari.

Taula periòdica d'informàtica escolar

El problema es pot resoldre utilitzant qualsevol llenguatge universal. Prenem l'antic Delpi-7 senzill, que és comprensible per gairebé tothom. Però abans de programar en PL, dibuixem dues imatges, per exemple, a Photoshop. Primer, dibuixem la Taula Periòdica en la forma que volem veure al programa. Deseu el resultat en un fitxer gràfic taula01.bmp.

Taula periòdica d'informàtica escolar

Per al segon dibuix fem servir el primer. Omplirem seqüencialment les cel·les de la taula, esborrades de tots els gràfics, amb colors únics en el model de color RGB. R i G seran sempre 0, i B=1 per a l'hidrogen, 2 per a l'heli, etc. Aquest dibuix serà la nostra targeta de control, que guardarem en un fitxer anomenat taula2.bmp.

Taula periòdica d'informàtica escolar

S'ha completat la primera etapa de programació gràfica a Photoshop. Passem a la programació de la GUI gràfica a l'IDE Delpi-7. Per fer-ho, obriu un nou projecte, on al formulari principal col·loquem un botó de diàleg (taulaDlg), en què es treballarà amb la taula. A continuació treballem amb el formulari taulaDlg.

Col·loqueu un component de classe al formulari TImatge... Obtenim Image1. Tingueu en compte que, en general, per a projectes grans, els noms generats automàticament del formulari ImatgeNOn N pot arribar a diverses dotzenes o més; aquest no és el millor estil de programació i s'han de donar noms més significatius. Però en el nostre petit projecte, on N no superarà 2, podeu deixar-lo com generat.

A la propietat Imatge1.Imatge puja el fitxer taula01.bmp. Creem Image2 i carregar-hi la nostra targeta de control taula2.bmp. En aquest cas, fem que el fitxer sigui petit i invisible per a l'usuari, tal com es mostra a la cantonada inferior esquerra del formulari. Afegim elements de control addicionals, el propòsit dels quals és evident. S'ha completat la segona etapa de programació de la GUI gràfica a l'IDE Delpi-7.

Taula periòdica d'informàtica escolar

Passem a la tercera etapa: escriure codi a l'IDE Delpi-7. El mòdul consta només de cinc controladors d'esdeveniments: creació de formularis (FormCreate), moviment del cursor Image1 (Imatge1MouseMove), fent clic a LMB en una cel·la (Imatge 1 clic) i sortiu del diàleg amb els botons D'acord (OKBtnClick) o Cancel·lar (Cancel·laBtnClick). Les capçaleres d'aquests controladors es generen de manera estàndard mitjançant l'IDE.

Codi font del mòdul:

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.

A la nostra versió, vam agafar una taula de 104 elements (constant mida). Evidentment, aquesta mida es pot augmentar. Les designacions d'elements (símbols químics) s'escriuen en una matriu Símbols de taula. Tanmateix, per raons de compacitat del codi font, sembla convenient escriure la seqüència d'aquestes notacions en forma de constants de cadena. Taula periòdicaStr1..., Taula periòdicaStr4de manera que quan es crea el formulari, el propi programa dispersa aquestes designacions entre els elements de la matriu. Cada designació d'element consta d'una o dues lletres llatines, amb la primera lletra en majúscula i la segona (si n'hi ha) en minúscula. Aquesta senzilla regla s'implementa quan es carrega una matriu. Així, la seqüència de notacions es pot escriure de manera concisa sense espais. Dividir una seqüència en quatre parts (constants Taula periòdicaStr1..., Taula periòdicaStr4) es deu a consideracions de facilitat per llegir el codi font, perquè És possible que una línia massa llarga no encaixi completament a la pantalla.

Quan el cursor del ratolí es mou sobre Image1 manipulador Imatge1MouseMove aquest esdeveniment determina el valor del component de color blau del píxel de la targeta de control Image2 per a les coordenades actuals del cursor. Per construcció Image2 aquest valor és igual al número d'element si el cursor es troba dins de la cel·la; zero si a la frontera, i 255 en els altres casos. La resta d'accions realitzades pel programa són trivials i no requereixen explicació.

A més de les tècniques de programació estilística esmentades anteriorment, val la pena destacar l'estil de comentari. En sentit estricte, el codi comentat és tan petit i senzill que els comentaris no semblen especialment necessaris. Tanmateix, també s'han afegit per raons metodològiques: el codi curt ens permet fer algunes conclusions generals amb més claredat. Al codi presentat es declara una classe (TtableDlg). Els mètodes d'aquesta classe es poden intercanviar i això no afectarà de cap manera el funcionament del programa, però pot afectar la seva llegibilitat. Per exemple, imagineu la seqüència:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Potser no es nota gaire, però serà una mica més difícil de llegir i entendre. Si no hi ha cinc, sinó desenes de vegades més mètodes a la secció implementació tenen un ordre completament diferent al de les descripcions de classe, aleshores el caos només augmentarà. Per tant, tot i que és difícil de demostrar estrictament i fins i tot pot ser impossible, es pot esperar que introduir un ordre addicional millori la llegibilitat del codi. Aquest ordre addicional es facilita per l'agrupació lògica de diversos mètodes que realitzen tasques relacionades. Cada grup hauria de tenir un títol, per exemple:

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

Aquests encapçalaments s'han de copiar al començament del mòdul i format com a taula de continguts. En alguns casos de mòduls força llargs, aquestes taules de contingut ofereixen opcions de navegació addicionals. De la mateixa manera, en el cos llarg d'un mètode, procediment o funció, val la pena, primer, marcar el final d'aquest cos:

end; // FormCreate

i, en segon lloc, a les declaracions ramificades amb claudàtors de programa inici - final, marqueu la sentència a la qual fa referència el claudàtor de tancament:

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

Per ressaltar les capçaleres de grup i els extrems dels cossos del mètode, podeu afegir línies que siguin més llargues que la majoria de les declaracions i que constin, per exemple, pels caràcters "=" i "_", respectivament.
De nou, hem de fer una reserva: el nostre exemple és massa senzill. I quan el codi d'un mètode no encaixa en una pantalla, pot ser difícil entendre sis finals consecutius per fer canvis de codi. En alguns compiladors antics, per exemple, Pascal 8000 per al sistema operatiu IBM 360/370, una columna de servei com aquesta es va imprimir a l'esquerra de la llista.

B5
…
E5

Això significava que el parèntesi de tancament de la línia E5 corresponia al parèntesi inicial de la línia B5.

Per descomptat, l'estil de programació és un tema molt controvertit, per la qual cosa les idees aquí expressades s'han de prendre com a res més que un punt de reflexió. Pot ser molt difícil que dos programadors amb força experiència, que s'han desenvolupat i s'han acostumat a estils diferents durant molts anys de treball, arribin a un acord. És una cosa diferent per a un estudiant que aprenent a programar que encara no ha tingut temps de trobar el seu propi estil. Crec que en aquest cas el professor almenys hauria de transmetre als seus alumnes una idea tan senzilla, però no òbvia, que l'èxit d'un programa depèn en gran mesura de l'estil en què estigui escrit el seu codi font. És possible que l'estudiant no segueixi l'estil recomanat, però que almenys pensi en la necessitat d'accions “extra” per millorar el disseny del codi font.

Tornant al nostre problema bàsic sobre la taula periòdica: el desenvolupament posterior pot anar en diferents direccions. Una de les indicacions és de referència: quan passeu el cursor del ratolí per sobre d'una cel·la de la taula, apareix una finestra d'informació que conté informació addicional sobre l'element especificat. El desenvolupament posterior són els filtres. Per exemple, segons la instal·lació, la finestra d'informació només contindrà: la informació física i química més important, informació sobre la història del descobriment, informació sobre la distribució a la natura, una llista dels compostos més importants (que inclou aquest element), propietats fisiològiques, nom en llengua estrangera, etc. e. Recordant el “ànec” de Kaverin amb el qual comença aquest article, podem dir que amb aquest desenvolupament del programa obtindrem un complex complet de formació en ciències naturals: a més d'informàtica ciència, física i química: biologia, geografia econòmica, història de la ciència i fins i tot llengües estrangeres.

Però una base de dades local no és el límit. El programa es connecta naturalment a Internet. Quan seleccioneu un element, l'enllaç s'activa i l'article de la Viquipèdia sobre aquest element s'obre a la finestra del navegador web. La Viquipèdia, com sabeu, no és una font autoritzada. Podeu establir enllaços a fonts autoritzades, per exemple, enciclopèdia química, TSB, revistes de resums, consultes de comanda als motors de cerca per a aquest element, etc. Això. Els estudiants seran capaços de realitzar tasques senzilles però significatives sobre temes de DBMS i Internet.

A més de les consultes sobre un element individual, podeu crear una funcionalitat que, per exemple, marcarà les cel·les de la taula que compleixin determinats criteris amb diferents colors. Per exemple, metalls i no metalls. O cèl·lules que s'aboquen a les masses d'aigua per una planta química local.

També podeu implementar les funcions d'un organitzador de portàtils. Per exemple, destaca a la taula els elements que s'inclouen a l'examen. A continuació, ressaltar els elements estudiats/repetits per l'estudiant en la preparació de l'examen.

I aquí, per exemple, un dels problemes típics de la química escolar:

Donats 10 g de guix. Quant d'àcid clorhídric s'ha de prendre per dissoldre tota aquesta guix?

Per resoldre aquest problema, cal escriure la química. reacció i col·locant-hi els coeficients, calculeu els pesos moleculars del carbonat càlcic i el clorur d'hidrogen, després compongueu i resoleu la proporció. Una calculadora basada en el nostre programa bàsic pot calcular i resoldre. És cert que encara haureu de tenir en compte que l'àcid s'ha de prendre en excés raonable i en una concentració raonable, però això és química, no informàtica.
Addendum 1: Com funciona la calculadora de químicaAnalitzem el funcionament de la calculadora utilitzant l'exemple del problema anterior de guix i "mesura". Comencem per la reacció:

CaCO3 + 2HCl = CaCl2 + H2O

A partir d'això veiem que necessitarem els pesos atòmics dels següents elements: calci (Ca), carboni (C), oxigen (O), hidrogen (H) i clor (Cl). En el cas més simple, podem escriure aquests pesos en una matriu unidimensional definida com

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

on l'índex de la matriu correspon al número de l'element. Més informació sobre l'espai lliure del formulari taulaDlg posar dos camps. Al primer camp s'escriu inicialment: "Es dóna el primer reactiu", al segon - "El segon reactiu és trobar x". Denotem els camps reactiu 1, reactiu 2 respectivament. Altres addicions al programa quedaran clares amb l'exemple següent de la calculadora.

Escrivim al teclat de l'ordinador: 10 g Inscripció al camp reactiu 1 canvis: "El primer reactiu es dóna 10 g". Ara introduïm la fórmula d'aquest reactiu i la calculadora calcularà i mostrarà el seu pes molecular a mesura que l'introduïu.

Feu clic a LMB a la cel·la de la taula amb el símbol Ca. Inscripció al camp reactiu 1 canvis: "Primer reactiu Ca 40.078 donat 10 g".

Feu clic a LMB a la cel·la de la taula amb el símbol C. Inscripció al camp reactiu 1 canvis: "Primer reactiu CaC 52.089 donat 10 g". Aquells. La calculadora va sumar els pesos atòmics del calci i el carboni.

Feu clic a LMB a la cel·la de la taula amb el símbol O. Inscripció al camp reactiu 1 canvis: "Primer reactiu CaCO 68.088 donat 10 g". La calculadora va afegir el pes atòmic de l'oxigen a la suma.

Feu clic a LMB a la cel·la de la taula amb el símbol O. Inscripció al camp reactiu 1 canvis: "Primer reactiu CaCO2 84.087 donat 10 g." La calculadora va tornar a afegir el pes atòmic de l'oxigen a la suma.

Feu clic a LMB a la cel·la de la taula amb el símbol O. Inscripció al camp reactiu 1 canvis: "Primer reactiu CaCO3 100.086 donat 10 g". La calculadora va tornar a afegir el pes atòmic de l'oxigen a la suma.

Premeu Intro al teclat de l'ordinador. S'ha completat la introducció del primer reactiu i es passa al camp reactiu 2. Tingueu en compte que en aquest exemple oferim una versió mínima. Si ho desitja, podeu organitzar fàcilment multiplicadors d'àtoms del mateix tipus, de manera que, per exemple, no haureu de fer clic set vegades seguides a la cel·la d'oxigen quan introduïu la fórmula del crom (K2Cr2O7).

Feu clic a LMB a la cel·la de la taula amb el símbol H. Inscripció al camp reactiu 2 canvis: "Segon reactiu H 1.008 troba x".

Feu clic a LMB a la cel·la de la taula amb el símbol Cl. Inscripció al camp reactiu 2 canvis: "Segon reactiu HCl 36.458 troba x". La calculadora suma els pesos atòmics de l'hidrogen i el clor. A l'equació de reacció anterior, el clorur d'hidrogen va precedit per un coeficient de 2. Per tant, feu clic a LMB al camp reactiu 2. El pes molecular es duplica (triplica quan es pressiona dues vegades, etc.). Inscripció al camp reactiu 2 canvis: "Segon reactiu 2HCl 72.916 troba x."

Premeu Intro al teclat de l'ordinador. S'ha completat l'entrada del segon reactiu i la calculadora troba x a partir de la proporció

Taula periòdica d'informàtica escolar

Això és el que havíem de trobar.

Nota 1. El significat de la proporció resultant: per dissolució 100.086 Da el guix requereix 72.916 Da àcid, i per dissoldre 10 g de guix necessites x àcid.

Nota 2. Col·leccions de problemes similars:

Khomchenko I. G., Col·lecció de problemes i exercicis de química 2009 (graus 8-11).
Khomchenko G. P., Khomchenko I. G., Col·lecció de problemes de química per a candidats a universitats, 2019.

Nota 3. Per simplificar la tasca, podeu simplificar l'entrada de la fórmula a la versió inicial i simplement afegir el símbol de l'element al final de la línia de la fórmula. Aleshores la fórmula del carbonat de calci serà:
CaCOOO
Però és poc probable que a un professor de química li agradi aquest enregistrament. No és difícil fer l'entrada correcta; per fer-ho, cal afegir una matriu:

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

on l'índex és el nombre de l'element químic i el valor d'aquest índex és el nombre d'àtoms (inicialment tots els elements de la matriu es reinicien a zero). S'ha de tenir en compte l'ordre en què s'escriuen els àtoms en una fórmula, tal com s'adopta en química. Per exemple, a poca gent també els agradarà O3CaC. Deixem la responsabilitat a l'usuari. Creació d'una matriu:

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

on anotem el nombre de l'element químic segons l'índex de la seva aparició a la fórmula. Afegint un àtom currNo a la fórmula:

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

Escrivint la fórmula en una línia:

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;

Nota 4. Té sentit proporcionar la possibilitat d'introduir alternativament la fórmula del reactiu des del teclat. En aquest cas, haureu d'implementar un analitzador senzill.

Val la pena assenyalar que:

Avui dia, hi ha diversos centenars de versions de la taula i els científics ofereixen constantment noves opcions. (Wikipedia)

Els alumnes poden mostrar el seu enginy en aquesta direcció implementant alguna de les opcions ja proposades o intentar fer-ne una d'original. Pot semblar que aquesta és la direcció menys útil per a les lliçons d'informàtica. Tanmateix, en la forma de la Taula Periòdica implementada en aquest article, és possible que alguns estudiants no vegin els avantatges particulars de les targetes de control sobre la solució alternativa que utilitza botons estàndard. TBbotó. La forma en espiral de la taula (on les cel·les són de diferents formes) demostrarà amb més claredat els avantatges de la solució proposada aquí.

Taula periòdica d'informàtica escolar
(Sistema alternatiu d'elements de Theodore Benfey, Font)

Afegim també que una sèrie de programes informàtics existents actualment per a la Taula Periòdica es descriuen al recentment publicat a Habré. article.

Annex 2: exemples de tasques per a filtresAmb filtres podeu resoldre, per exemple, les tasques següents:

1) Selecciona a la taula tots els elements coneguts a l'edat mitjana.

2) Identificar tots els elements coneguts en el moment del descobriment de la Llei periòdica.

3) Identifica set elements que els alquimistes consideraven metalls.

4) Seleccioneu tots els elements que es troben en estat gasós en condicions normals (n.s.).

5) Seleccioneu tots els elements que es troben en estat líquid al núm.

6) Seleccioneu tots els elements que es troben en estat sòlid al núm.

7) Seleccioneu tots els elements que puguin estar exposats a l'aire durant molt de temps sense canvis notables en condicions normals.

8) Seleccioneu tots els metalls que es dissolen en àcid clorhídric.

9) Seleccioneu tots els metalls que es dissolen en àcid sulfúric al núm.

10) Seleccioneu tots els metalls que es dissolen en àcid sulfúric quan s'escalfen.

11) Seleccioneu tots els metalls que es dissolen en àcid nítric.

12) Aïllar tots els metalls que reaccionen violentament amb l'aigua en condicions ambientals.

13) Seleccioneu tots els metalls.

14) Identificar elements que estan molt estesos a la natura.

15) Identificar elements que es troben a la natura en estat lliure.

16) Identificar els elements que tenen un paper més important en el cos humà i animal.

17) Seleccionar elements que s'utilitzen àmpliament en la vida quotidiana (en forma lliure o en combinacions).

18) Identificar els elements més perillosos per treballar i que requereixen mesures i equips de protecció especials.

19) Identificar els elements que, en forma lliure o en forma de compostos, representen la major amenaça per al medi ambient.

20) Seleccioneu metalls preciosos.

21) Identificar elements més cars que els metalls preciosos.

Notes

1) Té sentit proporcionar diversos filtres. Per exemple, si activeu un filtre per resoldre el problema 1 (tots els elements coneguts a l'Edat Mitjana) i 20 (metalls preciosos), les cel·les amb metalls preciosos coneguts a l'Edat Mitjana es ressaltaran (per exemple, per color) ( per exemple, el pal·ladi no serà destacat , inaugurat el 1803).

2) Té sentit assegurar-se que diversos filtres funcionin de tal manera que cada filtre selecciona cel·les amb el seu propi color, però no elimina completament la selecció d'un altre filtre (part de la cel·la d'un color, part d'un altre). Aleshores, en el cas de l'exemple anterior, seran visibles elements de la intersecció de conjunts descoberts a l'edat mitjana i metalls preciosos, així com elements pertanyents només al primer i només al segon conjunt. Aquells. metalls preciosos desconeguts a l'edat mitjana, i elements coneguts a l'edat mitjana però no metalls preciosos.

3) Té sentit després d'aplicar el filtre per garantir la possibilitat d'altres treballs amb els resultats obtinguts. Per exemple, després d'haver seleccionat elements coneguts a l'Edat Mitjana, l'usuari fa clic a LMB sobre l'element seleccionat i es dirigeix ​​a l'article de la Viquipèdia sobre aquest element.

4) Té sentit oferir a l'usuari la possibilitat de deseleccionar fent clic a LMB a la cel·la de la taula seleccionada. Per exemple, per eliminar elements que ja s'han vist.

5) Té sentit assegurar-se que la llista de cel·les seleccionades es desa en un fitxer i que aquest fitxer es carregui amb la selecció automàtica de cel·les. Això donarà a l'usuari l'oportunitat de fer una pausa de la feina.

Hem utilitzat un mapa de control estàtic i predeterminat, però hi ha moltes tasques importants on es poden utilitzar mapes de control dinàmics que canvien a mesura que s'executa el programa. Un exemple seria un editor de gràfics, en el qual l'usuari utilitza el ratolí per indicar les posicions dels vèrtexs en una finestra i dibuixar vores entre ells. Per eliminar un vèrtex o una aresta, l'usuari ha d'assenyalar-hi. Però si és bastant fàcil assenyalar un vèrtex marcat amb un cercle, llavors serà més difícil assenyalar una vora dibuixada amb una línia fina. Un mapa de control ajudarà aquí, on els vèrtexs i les vores ocupen barris més amplis que a la figura visible.

Una pregunta secundaria interessant relacionada amb aquest mètode d'entrenament complex és: pot ser útil aquest mètode per entrenar IA?

Font: www.habr.com

Afegeix comentari