Tavola periodica dell'informatica scolastica

(Carte di controllo)
(Dedicato all'Anno Internazionale della Tavola Periodica degli Elementi Chimici)
(Le ultime aggiunte sono state effettuate l'8 aprile 2019. L'elenco delle aggiunte è immediatamente sotto il taglio)

Tavola periodica dell'informatica scolastica
(Il fiore di Mendeleev, Fonte)

Ricordo che superammo l'anatra. Erano tre lezioni contemporaneamente: geografia, scienze naturali e russo. In una lezione di scienze, un'anatra è stata studiata come un'anatra, quali ali ha, quali gambe ha, come nuota e così via. In una lezione di geografia, la stessa anatra è stata studiata come abitante del globo: era necessario mostrare su una mappa dove vive e dove no. In russo Serafima Petrovna ci ha insegnato a scrivere “u-t-k-a” e a leggere qualcosa sulle anatre di Brem. Di sfuggita ci ha informato che in tedesco anatra è così e in francese così. Penso che allora fosse chiamato il “metodo complesso”. In generale, tutto è uscito "di sfuggita".

Veniamin Kaverin, Due capitani

Nella citazione sopra, Veniamin Kaverin ha mostrato magistralmente le carenze del complesso metodo di insegnamento, tuttavia, in alcuni casi (forse piuttosto rari), gli elementi di questo metodo sono giustificati. Uno di questi casi è la tavola periodica di D.I. Mendeleev nelle lezioni di informatica a scuola. Il compito dell'automazione software delle azioni tipiche con la tavola periodica è chiaro per gli scolari che hanno iniziato a studiare chimica ed è suddiviso in molti compiti chimici tipici. Allo stesso tempo, nell'ambito dell'informatica, questo compito ci consente di dimostrare in forma semplice il metodo delle carte di controllo, che può essere attribuito alla programmazione grafica, intesa in senso lato come programmazione mediante elementi grafici.

(Integrazioni apportate l'8 aprile 2019:
Addendum 1: Come funziona il calcolatore chimico
Appendice 2: esempi di attività per i filtri)

Cominciamo con il compito di base. Nel caso più semplice, la tavola periodica dovrebbe essere visualizzata sullo schermo sotto forma di finestra, dove in ogni cella sarà presente la designazione chimica dell'elemento: H - idrogeno, He - elio, ecc. Se il cursore del mouse punta su una cella, la designazione dell'elemento e il suo numero vengono visualizzati in un campo speciale nel nostro modulo. Se l'utente preme LMB, la designazione e il numero di questo elemento selezionato verranno indicati in un altro campo del modulo.

Tavola periodica dell'informatica scolastica

Il problema può essere risolto utilizzando qualsiasi linguaggio universale. Prenderemo il semplice vecchio Delpi-7, che è comprensibile a quasi tutti. Ma prima di programmare in PL, disegniamo due immagini, ad esempio, in Photoshop. Per prima cosa disegniamo la tavola periodica nella forma in cui vogliamo vederla nel programma. Salvare il risultato in un file grafico tabella01.bmp.

Tavola periodica dell'informatica scolastica

Per il secondo disegno utilizziamo il primo. Riempiremo in sequenza le celle della tabella, ripulite da tutta la grafica, con colori unici nel modello di colore RGB. R e G saranno sempre 0, e B=1 per l'idrogeno, 2 per l'elio, ecc. Questo disegno sarà la nostra scheda di controllo, che salveremo in un file chiamato tabella2.bmp.

Tavola periodica dell'informatica scolastica

La prima fase di programmazione grafica in Photoshop è completata. Passiamo alla programmazione della GUI grafica nell'IDE Delpi-7. Per fare ciò, apri un nuovo progetto, dove nel modulo principale posizioniamo un pulsante di dialogo (tavoloDlg), in cui si svolgerà il lavoro con il tavolo. Successivamente lavoriamo con il modulo tavoloDlg.

Inserisci un componente di classe nel modulo TImage. Noi abbiamo Image1. Si noti che in generale, per progetti di grandi dimensioni, i nomi del modulo vengono generati automaticamente ImmagineNDove N può raggiungere diverse decine o più: questo non è lo stile di programmazione migliore e dovrebbero essere dati nomi più significativi. Ma nel nostro piccolo progetto, dove N non supererà 2, puoi lasciarlo così come è stato generato.

Alla proprietà Immagine1.Immagine caricare il file tabella01.bmp. Noi creiamo Image2 e caricare lì la nostra carta di controllo tabella2.bmp. In questo caso, rendiamo il file piccolo e invisibile all'utente, come mostrato nell'angolo in basso a sinistra del modulo. Aggiungiamo ulteriori elementi di controllo, il cui scopo è ovvio. La seconda fase della programmazione della GUI grafica nell'IDE Delpi-7 è completata.

Tavola periodica dell'informatica scolastica

Passiamo alla terza fase: scrivere il codice nell'IDE Delpi-7. Il modulo è costituito da soli cinque gestori di eventi: creazione del modulo (FormCreate), movimento del cursore Image1 (Immagine1MouseMouse), facendo clic con il LMB su una cella (Immagine1clic) e uscire dalla finestra di dialogo utilizzando i pulsanti OK (OKBtnClick) o Annulla (AnnullaBtnClick). Le intestazioni di questi gestori vengono generate in modo standard utilizzando l'IDE.

Codice sorgente del modulo:

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.

Nella nostra versione, abbiamo preso una tabella di 104 elementi (costante Taglia). Ovviamente questa dimensione può essere aumentata. Le designazioni degli elementi (simboli chimici) vengono scritte in un array TabellaSimboli. Tuttavia, per ragioni di compattezza del codice sorgente, sembra opportuno scrivere la sequenza di queste notazioni sotto forma di costanti stringa Tavola PeriodicaStr1..., Tavola PeriodicaStr4in modo che quando viene creato il modulo, il programma stesso disperde queste designazioni tra gli elementi dell'array. Ciascuna designazione di elemento è composta da una o due lettere latine, di cui la prima lettera è maiuscola e la seconda (se presente) minuscola. Questa semplice regola viene implementata durante il caricamento di un array. Pertanto, la sequenza delle notazioni può essere scritta in modo conciso senza spazi. Suddividere una sequenza in quattro parti (costanti Tavola PeriodicaStr1..., Tavola PeriodicaStr4) è dovuto a considerazioni sulla facilità di lettura del codice sorgente, perché Una linea troppo lunga potrebbe non adattarsi interamente allo schermo.

Quando il cursore del mouse si sposta su Image1 gestore Immagine1MouseMouse questo evento determina il valore della componente di colore blu del pixel della scheda di controllo Image2 per le coordinate correnti del cursore. Per costruzione Image2 questo valore è uguale al numero dell'elemento se il cursore è all'interno della cella; zero se al confine e 255 negli altri casi. Le restanti azioni eseguite dal programma sono banali e non richiedono spiegazioni.

Oltre alle tecniche di programmazione stilistica sopra menzionate, vale la pena notare lo stile dei commenti. A rigor di termini, il codice discusso è così piccolo e semplice che i commenti non sembrano particolarmente necessari. Tuttavia, sono stati aggiunti anche per ragioni metodologiche: il codice breve ci consente di trarre più chiaramente alcune conclusioni generali. Nel codice presentato viene dichiarata una classe (TtableDlg). I metodi di questa classe possono essere scambiati e ciò non influenzerà in alcun modo il funzionamento del programma, ma potrebbe influenzarne la leggibilità. Ad esempio, immagina la sequenza:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Potrebbe non essere molto evidente, ma diventerà un po’ più difficile da leggere e comprendere. Se non ci sono cinque, ma decine di volte più metodi nella sezione implementazione hanno un ordine completamente diverso rispetto alle descrizioni delle classi, quindi il caos non potrà che aumentare. Pertanto, anche se è difficile da dimostrare rigorosamente e potrebbe anche essere impossibile, si può sperare che l'introduzione di un ordine aggiuntivo migliori la leggibilità del codice. Questo ordine aggiuntivo è facilitato dal raggruppamento logico di diversi metodi che eseguono attività correlate. Ad ogni gruppo dovrebbe essere assegnato un titolo, ad esempio:

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

Questi titoli dovrebbero essere copiati all'inizio del modulo e formattati come un sommario. In alcuni casi di moduli piuttosto lunghi, tali indici forniscono opzioni di navigazione aggiuntive. Allo stesso modo, nel lungo corpo di un metodo, procedura o funzione, vale innanzitutto la pena segnare la fine di questo corpo:

end; // FormCreate

e, in secondo luogo, nelle istruzioni ramificate con parentesi di programma inizio - fine, contrassegnare l'istruzione a cui si riferisce la parentesi di chiusura:

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

Per evidenziare le intestazioni dei gruppi e la fine dei corpi dei metodi, è possibile aggiungere righe più lunghe della maggior parte delle istruzioni e costituite, ad esempio, rispettivamente dai caratteri “=" e "_".
Ancora una volta dobbiamo fare una riserva: il nostro esempio è troppo semplice. E quando il codice di un metodo non rientra in una schermata, può essere difficile comprendere sei estremità consecutive per apportare modifiche al codice. In alcuni vecchi compilatori, ad esempio Pascal 8000 per OS IBM 360/370, una colonna di servizio come questa veniva stampata a sinistra nell'elenco

B5
…
E5

Ciò significava che la parentesi di chiusura sulla riga E5 corrispondeva alla parentesi di apertura sulla riga B5.

Naturalmente, lo stile di programmazione è una questione molto controversa, quindi le idee qui espresse dovrebbero essere considerate nient'altro che spunti di riflessione. Può essere molto difficile per due programmatori abbastanza esperti, che hanno sviluppato e abituato a stili diversi in molti anni di lavoro, mettersi d'accordo. Diversa è la questione per uno studente che impara a programmare e non ha ancora avuto il tempo di trovare il proprio stile. Penso che in questo caso l'insegnante dovrebbe almeno trasmettere ai suoi studenti un'idea così semplice, ma non ovvia, che il successo di un programma dipende in gran parte dallo stile in cui è scritto il suo codice sorgente. Lo studente potrebbe non seguire lo stile consigliato, ma lascialo almeno pensare alla necessità di azioni “extra” per migliorare la progettazione del codice sorgente.

Ritornando al nostro problema fondamentale sulla tavola periodica: ulteriori sviluppi possono andare in direzioni diverse. Una delle direzioni è di riferimento: quando si posiziona il cursore del mouse su una cella della tabella, viene visualizzata una finestra informativa contenente informazioni aggiuntive sull'elemento specificato. Ulteriore sviluppo sono i filtri. Ad esempio, a seconda dell'installazione, la finestra delle informazioni conterrà solo: le informazioni fisiche e chimiche più importanti, informazioni sulla storia della scoperta, informazioni sulla distribuzione in natura, un elenco dei composti più importanti (che include questo elemento), proprietà fisiologiche, nome in una lingua straniera, ecc. e. Ricordando la "papera" di Kaverin con cui inizia questo articolo, possiamo dire che con questo sviluppo del programma otterremo un complesso di formazione completo nelle scienze naturali: oltre al computer scienza, fisica e chimica - biologia, geografia economica, storia della scienza e anche lingue straniere.

Ma un database locale non è il limite. Il programma si connette naturalmente a Internet. Quando selezioni un elemento, il collegamento viene attivato e l'articolo di Wikipedia su questo elemento viene aperto nella finestra del browser web. Wikipedia, come sai, non è una fonte autorevole. È possibile impostare collegamenti a fonti autorevoli, ad esempio enciclopedia chimica, TSB, riviste astratte, ordinare query nei motori di ricerca per questo elemento, ecc. Quello. Gli studenti saranno in grado di completare compiti semplici ma significativi su DBMS e argomenti relativi a Internet.

Oltre alle query su un singolo elemento, puoi creare funzionalità che, ad esempio, contrassegneranno le celle della tabella che soddisfano determinati criteri con colori diversi. Ad esempio, metalli e non metalli. Oppure cellule che vengono scaricate nei corpi idrici da un impianto chimico locale.

Puoi anche implementare le funzioni di un organizer per notebook. Ad esempio, evidenzia nella tabella gli elementi inclusi nell'esame. Evidenziare poi gli elementi studiati/ripetuti dallo studente in preparazione all'esame.

Ed ecco, ad esempio, uno dei tipici problemi di chimica scolastica:

Dati 10 g di gesso. Quanto acido cloridrico occorre prendere per sciogliere tutto questo gesso?

Per risolvere questo problema, è necessario annotare la chimica. reazione e inserendovi i coefficienti, calcolare i pesi molecolari del carbonato di calcio e dell'acido cloridrico, quindi comporre e risolvere la proporzione. Una calcolatrice basata sul nostro programma base può calcolare e risolvere. È vero, dovrai comunque tenere conto del fatto che l'acido deve essere assunto in un ragionevole eccesso e in una concentrazione ragionevole, ma questa è chimica, non informatica.
Addendum 1: Come funziona il calcolatore chimicoAnalizziamo il funzionamento della calcolatrice utilizzando l'esempio del problema sopra citato del gesso e del "miscuglio". Cominciamo con la reazione:

CaCO3 + 2HCl = CaCl2 + H2O

Da ciò vediamo che avremo bisogno dei pesi atomici dei seguenti elementi: calcio (Ca), carbonio (C), ossigeno (O), idrogeno (H) e cloro (Cl). Nel caso più semplice, possiamo scrivere questi pesi in un array unidimensionale definito come

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

dove l'indice dell'array corrisponde al numero dell'elemento. Maggiori informazioni sullo spazio libero del modulo tavoloDlg metti due campi. Nel primo campo è inizialmente scritto: "Il primo reagente è dato", nel secondo - "Il secondo reagente è trovare x". Indichiamo i campi reagente1, reagente2 rispettivamente. Altre aggiunte al programma risulteranno chiare dal seguente esempio di calcolatrice.

Digitiamo sulla tastiera del computer: 10 g Iscrizione nel campo reagente1 modifiche: “Al primo reagente vengono dati 10 g.” Ora inseriamo la formula di questo reagente e la calcolatrice calcolerà e mostrerà il suo peso molecolare mentre lo inserisci.

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo Ca. Iscrizione nel campo reagente1 modifiche: “Primo reagente Ca 40.078 dato 10 g.”

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo C. Iscrizione nel campo reagente1 modifiche: “Primo reagente CaC 52.089 somministrato 10 g.” Quelli. Il calcolatore sommava i pesi atomici del calcio e del carbonio.

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo O. Iscrizione nel campo reagente1 modifiche: “Primo reagente CaCO 68.088 somministrato 10 g.” Il calcolatore aggiunse alla somma il peso atomico dell'ossigeno.

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo O. Iscrizione nel campo reagente1 modifiche: “Primo reagente CaCO2 84.087 somministrato 10 g.” Il calcolatore aggiunse ancora una volta il peso atomico dell'ossigeno alla somma.

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo O. Iscrizione nel campo reagente1 modifiche: “Primo reagente CaCO3 100.086 dato 10 g.” Il calcolatore aggiunse nuovamente alla somma il peso atomico dell'ossigeno.

Premi Invio sulla tastiera del tuo computer. L'introduzione del primo reagente è completata e si passa al campo reagente2. Tieni presente che in questo esempio stiamo fornendo una versione minima. Se lo si desidera, è possibile organizzare facilmente moltiplicatori di atomi dello stesso tipo, in modo che, ad esempio, non sia necessario fare clic sette volte di seguito sulla cella dell'ossigeno quando si inserisce la formula del cromo (K2Cr2O7).

Fare clic con il tasto sinistro del mouse sulla cella della tabella con il simbolo H. Iscrizione nel campo reagente2 modifiche: “Secondo reagente H 1.008 trova x.”

Fare clic con il pulsante sinistro del mouse sulla cella della tabella con il simbolo Cl. Iscrizione nel campo reagente2 modifiche: “Secondo reagente HCl 36.458 trova x.” Il calcolatore sommava i pesi atomici dell'idrogeno e del cloro. Nell'equazione di reazione di cui sopra, l'acido cloridrico è preceduto da un coefficiente pari a 2. Pertanto, fare clic su LMB nel campo reagente2. Il peso molecolare raddoppia (triplica se premuto due volte, ecc.). Iscrizione nel campo reagente2 modifiche: “Secondo reagente 2HCl 72.916 trova x.”

Premi Invio sulla tastiera del tuo computer. L'immissione del secondo reagente è completata e la calcolatrice trova x dalla proporzione

Tavola periodica dell'informatica scolastica

Questo è ciò che dovevamo trovare.

Nota 1 Il significato della proporzione risultante: per scioglimento 100.086 Da il gesso richiede 72.916 Da di acido e per sciogliere 10 g di gesso sono necessari x acido.

Nota 2 Raccolte di problemi simili:

Khomchenko I. G., Raccolta di problemi ed esercizi di chimica 2009 (classi 8-11).
Khomchenko G. P., Khomchenko I. G., Raccolta di problemi di chimica per i candidati alle università, 2019.

Nota 3 Per semplificare l'attività, puoi semplificare l'immissione della formula nella versione iniziale e aggiungere semplicemente il simbolo dell'elemento alla fine della riga della formula. Quindi la formula del carbonato di calcio sarà:
CaCOOO
Ma è improbabile che a un insegnante di chimica piaccia una registrazione del genere. Non è difficile inserire la voce corretta: per fare ciò è necessario aggiungere un array:

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

dove l'indice è il numero dell'elemento chimico e il valore di questo indice è il numero di atomi (inizialmente tutti gli elementi dell'array vengono ripristinati a zero). Dovrebbe essere preso in considerazione l'ordine in cui gli atomi sono scritti in una formula, come adottato in chimica. Ad esempio, a poche persone piacerà anche O3CaC. Spostiamo la responsabilità sull'utente. Creare una matrice:

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

dove scriviamo il numero dell'elemento chimico in base all'indice del suo aspetto nella formula. Aggiunta di un atomo correnteNo nella formula:

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

Scrivere la formula su una riga:

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 È opportuno fornire in alternativa la possibilità di inserire la formula del reagente dalla tastiera. In questo caso, dovrai implementare un semplice parser.

Vale la pena notare che:

Oggi esistono diverse centinaia di versioni della tabella e gli scienziati offrono costantemente nuove opzioni. (Wikipedia)

Gli studenti possono mostrare il loro ingegno in questa direzione implementando una delle opzioni già proposte o provare a crearne una propria originale. Può sembrare che questa sia la direzione meno utile per le lezioni di informatica. Tuttavia, nella forma della tavola periodica implementata in questo articolo, alcuni studenti potrebbero non vedere i vantaggi particolari delle carte di controllo rispetto alla soluzione alternativa che utilizza i pulsanti standard TButton. La forma a spirale della tabella (dove le celle hanno forme diverse) dimostrerà più chiaramente i vantaggi della soluzione qui proposta.

Tavola periodica dell'informatica scolastica
(Sistema alternativo di elementi di Theodore Benfey, Fonte)

Aggiungiamo anche che alcuni programmi informatici attualmente esistenti per la tavola periodica sono descritti nell'articolo recentemente pubblicato su Habré Articolo.

Appendice 2: esempi di attività per i filtriUtilizzando i filtri è possibile risolvere, ad esempio, le seguenti attività:

1) Seleziona nella tabella tutti gli elementi conosciuti nel Medioevo.

2) Identificare tutti gli elementi conosciuti al momento della scoperta della Legge Periodica.

3) Identificare sette elementi che gli alchimisti consideravano metalli.

4) Selezionare tutti gli elementi che si trovano allo stato gassoso in condizioni normali (n.s.).

5) Selezionare tutti gli elementi che sono allo stato liquido al n.

6) Selezionare tutti gli elementi che sono allo stato solido al n.

7) Selezionare tutti gli elementi che possono essere esposti all'aria per lungo tempo senza cambiamenti evidenti in condizioni normali.

8) Selezionare tutti i metalli che si sciolgono nell'acido cloridrico.

9) Selezionare tutti i metalli che si sciolgono nell'acido solforico al n.

10) Selezionare tutti i metalli che si dissolvono nell'acido solforico quando riscaldati.

11) Seleziona tutti i metalli che si dissolvono nell'acido nitrico.

12) Isolare tutti i metalli che reagiscono violentemente con l'acqua in condizioni ambientali.

13) Seleziona tutti i metalli.

14) Identificare gli elementi diffusi in natura.

15) Individuare gli elementi che si trovano in natura allo stato libero.

16) Identificare gli elementi che svolgono il ruolo più importante nel corpo umano e animale.

17) Selezionare elementi ampiamente utilizzati nella vita di tutti i giorni (in forma libera o in combinazioni).

18) Identificare gli elementi con cui è più pericoloso lavorare e che richiedono misure speciali e dispositivi di protezione.

19) Identificare gli elementi che, in forma libera o sotto forma di composti, rappresentano la maggiore minaccia per l'ambiente.

20) Seleziona i metalli preziosi.

21) Individuare gli elementi più costosi dei metalli preziosi.

Note

1) Ha senso fornire più filtri. Ad esempio, se attivi un filtro per risolvere il problema 1 (tutti gli elementi conosciuti nel Medioevo) e 20 (metalli preziosi), le celle con metalli preziosi conosciuti nel Medioevo verranno evidenziate (ad esempio, per colore) ( ad esempio non verrà messo in evidenza il palladio, inaugurato nel 1803).

2) È logico assicurarsi che più filtri funzionino in modo tale che ciascun filtro selezioni le celle con il proprio colore, ma non rimuova completamente la selezione di un altro filtro (parte della cella in un colore, parte in un altro). Quindi, nel caso dell'esempio precedente, saranno visibili elementi dell'intersezione di insiemi scoperti nel Medioevo e metalli preziosi, nonché elementi appartenenti solo al primo e solo al secondo insiemi. Quelli. metalli preziosi sconosciuti nel Medioevo ed elementi conosciuti nel Medioevo ma non metalli preziosi.

3) È opportuno dopo aver applicato il filtro garantire la possibilità di altro lavoro con i risultati ottenuti. Ad esempio, dopo aver selezionato elementi conosciuti nel Medioevo, l'utente fa clic con il LMB sull'elemento selezionato e viene indirizzato all'articolo di Wikipedia su questo elemento.

4) È opportuno fornire all'utente la possibilità di deselezionare facendo clic su LMB sulla cella della tabella selezionata. Ad esempio, per rimuovere elementi già visualizzati.

5) È opportuno assicurarsi che l'elenco delle celle selezionate venga salvato in un file e che tale file venga caricato con la selezione automatica delle celle. Ciò darà all'utente l'opportunità di prendersi una pausa dal lavoro.

Abbiamo utilizzato una mappa di controllo statica e predeterminata, ma ci sono molte attività importanti in cui è possibile utilizzare mappe di controllo dinamiche che cambiano durante l'esecuzione del programma. Un esempio potrebbe essere un editor grafico, in cui l'utente utilizza il mouse per indicare le posizioni dei vertici in una finestra e disegnare i bordi tra di loro. Per eliminare un vertice o uno spigolo, l'utente deve puntarlo. Ma se è abbastanza semplice indicare un vertice contrassegnato da un cerchio, allora sarà più difficile indicare uno spigolo tracciato con una linea sottile. Una mappa di controllo aiuterà qui, dove vertici e bordi occupano quartieri più ampi rispetto alla figura visibile.

Un’interessante domanda a margine relativa a questo metodo di addestramento complesso è: questo metodo può essere utile nell’addestramento dell’IA?

Fonte: habr.com

Aggiungi un commento