Táboa periódica da informática escolar

(tarxetas de control)
(Dedicado ao Ano Internacional da Táboa Periódica dos Elementos Químicos)
(As últimas incorporacións fixéronse o 8 de abril de 2019. A lista de engadidos está inmediatamente debaixo do corte)

Táboa periódica da informática escolar
(Flor de Mendeleiev, Orixe)

Lembro que pasamos o pato. Eran tres leccións á vez: xeografía, ciencias naturais e ruso. Nunha lección de ciencias, un pato estudouse como un pato, que ás ten, que patas ten, como nada, etc. Nunha lección de xeografía estudouse o mesmo pato como habitante do globo terráqueo: había que indicar nun mapa onde vive e onde non. En ruso, Serafima Petrovna ensinounos a escribir "u-t-k-a" e ler algo sobre patos de Brem. De paso, informounos de que en alemán o pato é así, e en francés así. Creo que naquela época se lle chamaba "método complexo". En xeral, todo saíu "de paso".

Veniamin Kaverin, Dous capitáns

Na cita anterior, Veniamin Kaverin mostrou maxistralmente as deficiencias do complexo método de ensino, con todo, nalgúns casos (quizais bastante raros), os elementos deste método están xustificados. Un destes casos é a táboa periódica de D.I. Mendeleiev nas clases de informática escolar. A tarefa de automatización de software de accións típicas coa táboa periódica é clara para os escolares que comezaron a estudar química e divídese en moitas tarefas químicas típicas. Ao mesmo tempo, no marco da informática, esta tarefa permítenos demostrar de forma sinxela o método das tarxetas de control, que se pode atribuír á programación gráfica, entendida no sentido amplo da palabra como programación mediante elementos gráficos.

(Adicións realizadas o 8 de abril de 2019:
Anexo 1: como funciona a calculadora de química
Apéndice 2: exemplos de tarefas para filtros)

Imos comezar coa tarefa básica. No caso máis sinxelo, a táboa periódica debería mostrarse na pantalla nunha xanela, onde en cada cela haberá unha designación química do elemento: H - hidróxeno, He - helio, etc. Se o cursor do rato apunta a unha cela, a designación do elemento e o seu número móstranse nun campo especial do noso formulario. Se o usuario preme LMB, a designación e o número deste elemento seleccionado indicaranse noutro campo do formulario.

Táboa periódica da informática escolar

O problema pódese resolver usando calquera linguaxe universal. Tomaremos o vello e sinxelo Delpi-7, que é comprensible para case todos. Pero antes de programar en PL, debuxemos dúas imaxes, por exemplo, en Photoshop. Primeiro, imos debuxar a Táboa Periódica na forma que queremos vela no programa. Garda o resultado nun ficheiro gráfico táboa01.bmp.

Táboa periódica da informática escolar

Para o segundo debuxo empregamos o primeiro. Encheremos secuencialmente as celas da táboa, limpadas de todos os gráficos, con cores únicas no modelo de cores RGB. R e G serán sempre 0, e B=1 para o hidróxeno, 2 para o helio, etc. Este debuxo será a nosa tarxeta de control, que imos gardar nun ficheiro chamado táboa2.bmp.

Táboa periódica da informática escolar

Remata a primeira etapa da programación gráfica en Photoshop. Pasemos á programación da GUI gráfica no IDE Delpi-7. Para iso, abra un novo proxecto, onde no formulario principal colocamos un botón de diálogo (táboaDlg), no que se desenvolverá o traballo coa mesa. A continuación traballamos co formulario táboaDlg.

Coloque un compoñente de clase no formulario TImaxe. Obtemos Image1. Teña en conta que, en xeral, para proxectos grandes, os nomes xerados automaticamente do formulario Imaxe Nonde N pode chegar a varias ducias ou máis; este non é o mellor estilo de programación e deberían dar nomes máis significativos. Pero no noso pequeno proxecto, onde N non excederá de 2, podes deixalo como xerado.

Á propiedade Imaxe1.Imaxe carga o ficheiro táboa01.bmp. Nós creamos Image2 e carga alí a nosa tarxeta de control táboa2.bmp. Neste caso, facemos o ficheiro pequeno e invisible para o usuario, como se mostra na esquina inferior esquerda do formulario. Engadimos elementos de control adicionais, cuxo propósito é obvio. Complétase a segunda etapa da programación da GUI gráfica no IDE Delpi-7.

Táboa periódica da informática escolar

Pasemos á terceira etapa: escribir código no IDE Delpi-7. O módulo consta só de cinco controladores de eventos: creación de formularios (Formulario Crear), movemento do cursor Image1 (Imaxe 1MouseMove), facendo clic en LMB nunha cela (Imaxe 1 clic) e saia do diálogo usando os botóns Aceptar (OKBtnClick) ou Cancelar (CancelarBtnClick). As cabeceiras destes controladores xéranse de forma estándar usando o IDE.

Código fonte do módulo:

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.

Na nosa versión, tomamos unha táboa de 104 elementos (constante tamaño). Obviamente este tamaño pódese aumentar. As designacións de elementos (símbolos químicos) escríbense nunha matriz Símbolos de táboa. Non obstante, por razóns de compacidade do código fonte, parece recomendable escribir a secuencia destas notacións en forma de constantes de cadea. Táboa periódicaStr1..., Táboa periódicaStr4de xeito que cando se crea o formulario, o propio programa espalla estas designacións entre os elementos da matriz. Cada designación de elemento consta dunha ou dúas letras latinas, sendo a primeira letra maiúscula e a segunda (se hai) minúscula. Esta simple regra implícase ao cargar unha matriz. Así, a secuencia de notacións pódese escribir de forma concisa sen espazos. Dividir unha secuencia en catro partes (constantes Táboa periódicaStr1..., Táboa periódicaStr4) débese a consideracións de facilidade para ler o código fonte, porque É posible que unha liña demasiado longa non encaixa completamente na pantalla.

Cando o cursor do rato se move sobre o Image1 xestor Imaxe 1MouseMove este evento determina o valor do compoñente de cor azul do píxel da tarxeta de control Image2 para as coordenadas do cursor actuais. Por construción Image2 este valor é igual ao número do elemento se o cursor está dentro da cela; cero se está na fronteira, e 255 nos demais casos. O resto das accións realizadas polo programa son triviais e non requiren explicación.

Ademais das técnicas de programación estilística sinaladas anteriormente, paga a pena destacar o estilo de comentario. En rigor, o código comentado é tan pequeno e sinxelo que os comentarios non parecen especialmente necesarios. Non obstante, engadíronse tamén por razóns metodolóxicas: o código curto permítenos facer algunhas conclusións xerais con máis claridade. No código presentado declárase unha clase (TtableDlg). Os métodos desta clase pódense intercambiar e isto non afectará de ningún xeito ao funcionamento do programa, pero pode afectar á súa lexibilidade. Por exemplo, imaxina a secuencia:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Quizais non sexa moi perceptible, pero será un pouco máis difícil de ler e comprender. Se non hai cinco, pero decenas de veces máis métodos na sección implementación teñen unha orde completamente diferente á das descricións das clases, entón o caos só aumentará. Polo tanto, aínda que é difícil de probar con rigor e incluso pode ser imposible, pódese esperar que a introdución de ordes adicionais mellore a lexibilidade do código. Esta orde adicional vese facilitada pola agrupación lóxica de varios métodos que realizan tarefas relacionadas. Cada grupo debe recibir un título, por exemplo:

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

Estes títulos deben copiarse ao comezo do módulo e formatearse como un índice. Nalgúns casos de módulos bastante longos, tales táboas de contido proporcionan opcións de navegación adicionais. Do mesmo xeito, no corpo longo dun método, procedemento ou función, paga a pena, en primeiro lugar, marcar o final deste corpo:

end; // FormCreate

e, en segundo lugar, en instrucións ramificadas con corchetes de programa inicio - fin, marque a instrución á que se refire o corchete de peche:

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

Para resaltar as cabeceiras de grupos e os extremos dos corpos do método, pode engadir liñas que superen a lonxitude da maioría dos operadores e que constan, por exemplo, dos caracteres "=" e "_", respectivamente.
De novo, temos que facer unha reserva: o noso exemplo é demasiado sinxelo. E cando o código dun método non cabe nunha pantalla, pode ser difícil entender seis finais consecutivos para facer cambios de código. Nalgúns compiladores antigos, por exemplo, Pascal 8000 para OS IBM 360/370, unha columna de servizo como esta foi impresa á esquerda na lista

B5
…
E5

Isto significaba que o paréntese de peche da liña E5 correspondía ao paréntese de apertura da liña B5.

Por suposto, o estilo de programación é un tema moi controvertido, polo que as ideas aquí expresadas non deben tomarse máis que como un alimento para reflexionar. Pode ser moi difícil para dous programadores con bastante experiencia, que se desenvolveron e se acostumaron a diferentes estilos ao longo de moitos anos de traballo, chegar a un acordo. É un asunto diferente para un alumno que aprende a programar que aínda non tivo tempo para atopar o seu propio estilo. Penso que neste caso o profesor debería polo menos transmitir aos seus alumnos unha idea tan sinxela, pero non obvia, de que o éxito dun programa depende en gran medida do estilo no que estea escrito o seu código fonte. É posible que o alumno non siga o estilo recomendado, pero que polo menos pense na necesidade de accións “extra” para mellorar o deseño do código fonte.

Volvendo ao noso problema básico sobre a Táboa Periódica: o desenvolvemento posterior pode ir en diferentes direccións. Unha das indicacións é de referencia: cando pasa o cursor do rato sobre unha cela da táboa, aparece unha xanela de información que contén información adicional sobre o elemento especificado. O desenvolvemento posterior son os filtros. Por exemplo, dependendo da instalación, a fiestra de información só conterá: a información física e química máis importante, información sobre a historia do descubrimento, información sobre a distribución na natureza, unha lista dos compostos máis importantes (que inclúe este elemento), propiedades fisiolóxicas, nome nunha lingua estranxeira, etc. e. Lembrando o “pato” de Kaverin co que comeza este artigo, podemos dicir que con este desenvolvemento do programa conseguiremos un completo complexo de formación en ciencias naturais: ademais da informática. ciencia, física e química: bioloxía, xeografía económica, historia da ciencia e incluso linguas estranxeiras.

Pero unha base de datos local non é o límite. O programa conéctase naturalmente a Internet. Cando selecciona un elemento, a ligazón actívase e ábrese o artigo da Wikipedia sobre este elemento na xanela do navegador web. A Wikipedia, como sabes, non é unha fonte autorizada. Podes establecer ligazóns a fontes autorizadas, por exemplo, a enciclopedia química, TSB, revistas de resumos, solicitudes de consultas nos buscadores para este elemento, etc. Iso. Os estudantes poderán realizar tarefas sinxelas pero significativas sobre temas de DBMS e Internet.

Ademais das consultas sobre un elemento individual, pode crear unha funcionalidade que, por exemplo, marcará as celas da táboa que cumpran determinados criterios con cores diferentes. Por exemplo, metais e non metais. Ou células que son vertidas en masas de auga por unha planta química local.

Tamén pode implementar as funcións dun organizador de cadernos. Por exemplo, destaca na táboa os elementos que se inclúen no exame. A continuación, destaca os elementos estudados/repetidos polo alumno na preparación do exame.

E aquí, por exemplo, un dos problemas típicos da química escolar:

Dados 10 g de giz. Canto ácido clorhídrico hai que tomar para disolver todo este giz?

Para resolver este problema, é necesario anotar a química. reacción e colocando nela os coeficientes, calcula os pesos moleculares do carbonato cálcico e do cloruro de hidróxeno, despois compón e resolve a proporción. Unha calculadora baseada no noso programa básico pode calcular e resolver. É certo, aínda terás que ter en conta que o ácido debe tomarse nun exceso razoable e nunha concentración razoable, pero isto é química, non informática.
Anexo 1: como funciona a calculadora de químicaImos analizar o funcionamento da calculadora usando o exemplo do problema anterior de giz e "mezcla". Imos comezar coa reacción:

CaCO3 + 2HCl = CaCl2 + H2O

A partir disto vemos que necesitaremos os pesos atómicos dos seguintes elementos: calcio (Ca), carbono (C), osíxeno (O), hidróxeno (H) e cloro (Cl). No caso máis sinxelo, podemos escribir estes pesos nunha matriz unidimensional definida como

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

onde o índice da matriz corresponde ao número do elemento. Máis información sobre o espazo libre do formulario táboaDlg pon dous campos. No primeiro campo escríbese inicialmente: "O primeiro reactivo dáse", no segundo - "O segundo reactivo é atopar x". Denotamos os campos reactivo 1, reactivo 2 respectivamente. Outras adicións ao programa quedarán claras a partir do seguinte exemplo da calculadora.

Tecleamos no teclado do ordenador: 10 g Inscrición no campo reactivo 1 cambios: "O primeiro reactivo recibe 10 g". Agora introducimos a fórmula deste reactivo e a calculadora calculará e mostrará o seu peso molecular mentres o introduza.

Fai clic en LMB na cela da táboa co símbolo Ca. Inscrición no campo reactivo 1 cambios: "Primeiro reactivo Ca 40.078 dado 10 g."

Fai clic en LMB na cela da táboa co símbolo C. Inscrición no campo reactivo 1 cambios: "Primeiro reactivo CaC 52.089 dado 10 g." Eses. A calculadora sumou os pesos atómicos do calcio e do carbono.

Fai clic en LMB na cela da táboa co símbolo O. Inscrición no campo reactivo 1 cambios: "Primeiro reactivo CaCO 68.088 administrado 10 g." A calculadora engadiu o peso atómico do osíxeno á suma.

Fai clic en LMB na cela da táboa co símbolo O. Inscrición no campo reactivo 1 cambios: "Primeiro reactivo CaCO2 84.087 dado 10 g." A calculadora engadiu unha vez máis o peso atómico do osíxeno á suma.

Fai clic en LMB na cela da táboa co símbolo O. Inscrición no campo reactivo 1 cambios: "Primeiro reactivo CaCO3 100.086 dado 10 g." A calculadora engadiu de novo o peso atómico do osíxeno á suma.

Preme Intro no teclado do teu ordenador. Conclúese a introdución do primeiro reactivo e cámbiase ao campo reactivo 2. Teña en conta que neste exemplo proporcionamos unha versión mínima. Se o desexa, pode organizar facilmente multiplicadores de átomos do mesmo tipo, de modo que, por exemplo, non teña que facer clic sete veces seguidas na cela de osíxeno ao introducir a fórmula do cromo (K2Cr2O7).

Fai clic en LMB na cela da táboa co símbolo H. Inscrición no campo reactivo 2 cambios: "Segundo reactivo H 1.008 atopar x".

Fai clic en LMB na cela da táboa co símbolo Cl. Inscrición no campo reactivo 2 cambios: "Segundo reactivo HCl 36.458 atopar x." A calculadora sumou os pesos atómicos do hidróxeno e do cloro. Na ecuación de reacción anterior, o cloruro de hidróxeno vai precedido dun coeficiente de 2. Polo tanto, fai clic en LMB no campo reactivo 2. O peso molecular duplícase (triplica cando se presiona dúas veces, etc.). Inscrición no campo reactivo 2 cambios: "Segundo reactivo 2HCl 72.916 atopar x."

Preme Intro no teclado do teu ordenador. A entrada do segundo reactivo complétase e a calculadora atopa x a partir da proporción

Táboa periódica da informática escolar

Iso era o que necesitabamos atopar.

Nota 1. O significado da proporción resultante: por disolución 100.086 Da o giz require 72.916 Da ácido, e para disolver 10 g de giz necesitas x ácido.

Nota 2. Coleccións de problemas similares:

Khomchenko I. G., Colección de problemas e exercicios de química 2009 (grados 8-11).
Khomchenko G. P., Khomchenko I. G., Colección de problemas de química para candidatos a universidades, 2019.

Nota 3. Para simplificar a tarefa, pode simplificar a entrada da fórmula na versión inicial e simplemente engadir o símbolo do elemento ao final da liña da fórmula. Entón a fórmula do carbonato de calcio será:
CaCOOO
Pero é pouco probable que un profesor de química lle guste unha gravación así. Non é difícil facer a entrada correcta; para facelo, debes engadir unha matriz:

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

onde o índice é o número do elemento químico e o valor deste índice é o número de átomos (inicialmente todos os elementos da matriz restablecen a cero). Debe terse en conta a orde na que se escriben os átomos nunha fórmula, tal e como se adopta en química. Por exemplo, a poucas persoas tamén lles gustará O3CaC. Deixemos a responsabilidade ao usuario. Facendo unha matriz:

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

onde anotamos o número do elemento químico segundo o índice da súa aparición na fórmula. Engadindo un átomo currNo na fórmula:

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

Escribindo a fórmula nunha liña:

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. Ten sentido proporcionar a posibilidade de introducir alternativamente a fórmula do reactivo desde o teclado. Neste caso, terás que implementar un analizador sinxelo.

Paga a pena sinalar que:

Hoxe, hai varios centos de versións da táboa e os científicos ofrecen constantemente novas opcións. (Wikipedia)

Os estudantes poden mostrar o seu enxeño nesta dirección implementando algunha das opcións xa propostas ou tentando facer a súa propia orixinal. Pode parecer que esta é a dirección menos útil para as clases de informática. Non obstante, na forma da Táboa Periódica implementada neste artigo, é posible que algúns estudantes non vexan as vantaxes particulares das tarxetas de control sobre a solución alternativa que usa botóns estándar. Botón TB. A forma en espiral da táboa (onde as celas son de diferentes formas) demostrará máis claramente as vantaxes da solución aquí proposta.

Táboa periódica da informática escolar
(Sistema alternativo de elementos de Theodore Benfey, Orixe)

Engademos tamén que unha serie de programas informáticos actualmente existentes para a Táboa Periódica descríbense no recentemente publicado en Habré. Artigo.

Anexo 2: exemplos de tarefas para filtrosUsando filtros podes resolver, por exemplo, as seguintes tarefas:

1) Selecciona na táboa todos os elementos coñecidos na Idade Media.

2) Identifica todos os elementos coñecidos no momento do descubrimento da Lei Periódica.

3) Identifica sete elementos que os alquimistas consideraban metais.

4) Seleccione todos os elementos que estean en estado gasoso en condicións normais (n.s.).

5) Seleccione todos os elementos que estean en estado líquido no núm.

6) Seleccione todos os elementos que estean en estado sólido no núm.

7) Seleccione todos os elementos que poidan estar expostos ao aire durante moito tempo sen cambios notables en condicións normais.

8) Selecciona todos os metais que se disolvan en ácido clorhídrico.

9) Seleccione todos os metais que se disolvan en ácido sulfúrico no núm.

10) Selecciona todos os metais que se disolven en ácido sulfúrico cando se quentan.

11) Selecciona todos os metais que se disolvan en ácido nítrico.

12) Illar todos os metais que reaccionan violentamente coa auga en condicións ambientais.

13) Selecciona todos os metais.

14) Identificar elementos moi estendidos na natureza.

15) Identificar elementos que se atopan na natureza en estado libre.

16) Identificar os elementos que desempeñan o papel máis importante no corpo humano e animal.

17) Seleccionar elementos moi utilizados na vida cotiá (en forma libre ou en combinacións).

18) Identificar os elementos máis perigosos para traballar e requirir medidas especiais e equipos de protección.

19) Identifica os elementos que, en forma libre ou en forma de compostos, supoñen unha maior ameaza para o medio ambiente.

20) Selecciona metais preciosos.

21) Identifica os elementos que son máis caros que os metais preciosos.

Notas

1) Ten sentido proporcionar varios filtros. Por exemplo, se activas un filtro para resolver o problema 1 (todos os elementos coñecidos na Idade Media) e 20 (metais preciosos), resaltaranse as celas con metais preciosos coñecidos na Idade Media (por exemplo, pola cor) ( por exemplo, non se destacará paladio , inaugurado en 1803).

2) Ten sentido asegurarse de que varios filtros funcionen de tal modo que cada filtro seleccione celas coa súa propia cor, pero non elimina completamente a selección doutro filtro (parte da cela nunha cor, parte noutra). Despois, no caso do exemplo anterior, serán visibles elementos da intersección de conxuntos descubertos na Idade Media e metais preciosos, así como elementos pertencentes só ao primeiro e só ao segundo conxunto. Eses. metais preciosos descoñecidos na Idade Media, e elementos coñecidos na Idade Media pero non metais preciosos.

3) Ten sentido despois de aplicar o filtro para garantir a posibilidade de outros traballos cos resultados obtidos. Por exemplo, tendo seleccionados elementos coñecidos na Idade Media, o usuario fai clic en LMB sobre o elemento seleccionado e lévase ao artigo da Wikipedia sobre este elemento.

4) Ten sentido proporcionar ao usuario a posibilidade de anular a selección facendo clic en LMB na cela da táboa seleccionada. Por exemplo, para eliminar elementos xa vistos.

5) Ten sentido asegurarse de que a lista de celas seleccionadas se garda nun ficheiro e que este ficheiro se cargue coa selección automática de celas. Isto dará ao usuario a oportunidade de facer un descanso no traballo.

Usamos un mapa de control estático e predeterminado, pero hai moitas tarefas importantes nas que se poden usar mapas de control dinámicos que cambian a medida que se executa o programa. Un exemplo sería un editor de gráficos, no que o usuario utiliza o rato para indicar as posicións dos vértices nunha xanela e debuxar bordos entre eles. Para eliminar un vértice ou aresta, o usuario debe sinalalo. Pero se é bastante fácil sinalar un vértice marcado cun círculo, será máis difícil sinalar un bordo debuxado cunha liña fina. Un mapa de control axudará aquí, onde os vértices e as arestas ocupan barrios máis amplos que na figura visible.

Unha pregunta secundaria interesante relacionada con este método de adestramento complexo é: este método pode ser útil para adestrar a IA?

Fonte: www.habr.com

Engadir un comentario