Tabel periodic despre informatica școlară

(carduri de control)
(Dedicat Anului Internațional al Tabelului Periodic al Elementelor Chimice)
(Ultimele completări au fost făcute pe 8 aprilie 2019. Lista completărilor este imediat sub reducere)

Tabel periodic despre informatica școlară
(floarea lui Mendeleev, Sursă)

Îmi amintesc că am trecut pe lângă rață. Acestea au fost trei lecții deodată: geografie, științe naturale și rusă. Într-o lecție de știință, o rață a fost studiată ca rață, ce aripi are, ce picioare are, cum înoată și așa mai departe. Într-o lecție de geografie, aceeași rață a fost studiată ca locuitor al globului: a fost necesar să se arate pe o hartă unde locuiește și unde nu. În rusă, Serafima Petrovna ne-a învățat să scriem „u-t-k-a” și să citim ceva despre rațele din Brem. În treacăt, ea ne-a informat că în germană rața este așa, iar în franceză așa. Cred că pe atunci se numea „metoda complexă”. În general, totul a ieșit „în treacăt”.

Veniamin Kaverin, Doi căpitani

În citatul de mai sus, Veniamin Kaverin a arătat cu măiestrie deficiențele metodei complexe de predare, totuși, în unele cazuri (poate destul de rare), elementele acestei metode sunt justificate. Un astfel de caz este tabelul periodic al lui D.I. Mendeleev la lecțiile de informatică din școală. Sarcina de automatizare software a acțiunilor tipice cu tabelul periodic este clară pentru școlari care au început să studieze chimia și este împărțită în multe sarcini chimice tipice. În același timp, în cadrul informaticii, această sarcină ne permite să demonstrăm într-o formă simplă metoda cardurilor de control, care poate fi atribuită programării grafice, înțeleasă în sensul larg al cuvântului ca programare folosind elemente grafice.

(Adăugări efectuate la 8 aprilie 2019:
Anexa 1: Cum funcționează calculatorul de chimie
Anexa 2: exemple de sarcini pentru filtre)

Să începem cu sarcina de bază. În cel mai simplu caz, tabelul periodic ar trebui să fie afișat pe ecran într-o formă de fereastră, unde în fiecare celulă va exista o denumire chimică a elementului: H - hidrogen, He - heliu etc. Dacă cursorul mouse-ului indică o celulă, atunci desemnarea elementului și numărul acestuia sunt afișate într-un câmp special din formularul nostru. Dacă utilizatorul apasă LMB, atunci denumirea și numărul acestui element selectat vor fi indicate într-un alt câmp al formularului.

Tabel periodic despre informatica școlară

Problema poate fi rezolvată folosind orice limbaj universal. Vom lua vechiul simplu Delpi-7, care este de înțeles pentru aproape toată lumea. Dar înainte de a programa în PL, să desenăm două imagini, de exemplu, în Photoshop. Mai întâi, să desenăm Tabelul Periodic în forma în care vrem să-l vedem în program. Salvați rezultatul într-un fișier grafic tabel01.bmp.

Tabel periodic despre informatica școlară

Pentru al doilea desen îl folosim pe primul. Vom umple secvenţial celulele tabelului, curăţate de toate elementele grafice, cu culori unice în modelul de culoare RGB. R și G vor fi întotdeauna 0, iar B=1 pentru hidrogen, 2 pentru heliu etc. Acest desen va fi cardul nostru de control, pe care îl vom salva într-un fișier numit tabel2.bmp.

Tabel periodic despre informatica școlară

Prima etapă de programare grafică în Photoshop este finalizată. Să trecem la programarea grafică GUI în IDE-ul Delpi-7. Pentru a face acest lucru, deschideți un nou proiect, unde pe formularul principal plasăm un buton de dialog (tableDlg), în care se va desfăşura lucrul cu masa. În continuare lucrăm cu formularul tableDlg.

Plasați o componentă de clasă pe formular TImagine. Obținem Image1. Rețineți că, în general, pentru proiecte mari, nume generate automat ale formularului ImagineNUnde N poate ajunge la câteva zeci sau mai multe - acesta nu este cel mai bun stil de programare și ar trebui date nume mai semnificative. Dar în micul nostru proiect, unde N nu va depăși 2, îl puteți lăsa așa cum este generat.

La proprietate Imagine1.Imagine încărcați fișierul tabel01.bmp. Noi creăm Image2 și încărcați cardul nostru de control acolo tabel2.bmp. În acest caz, facem fișierul mic și invizibil pentru utilizator, așa cum se arată în colțul din stânga jos al formularului. Adăugăm elemente de control suplimentare, al căror scop este evident. A doua etapă a programării grafice GUI în IDE-ul Delpi-7 este finalizată.

Tabel periodic despre informatica școlară

Să trecem la a treia etapă - scrierea codului în IDE-ul Delpi-7. Modulul este format din doar cinci handlere de evenimente: crearea formularelor (FormCreate), mișcarea cursorului Image1 (Imagine1MouseMove), făcând clic pe LMB pe o celulă (Imagine1Click) și ieșiți din dialog folosind butoanele OK (OKBtnClick) sau Anulați (AnuleazăBtnClick). Antetele acestor handlere sunt generate într-un mod standard folosind IDE-ul.

Cod sursa modulului:

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.

În versiunea noastră, am luat un tabel de 104 elemente (constante mărimea). Evident, această dimensiune poate fi mărită. Denumirile elementelor (simboluri chimice) sunt scrise într-o matrice TabelSimboluri. Totuși, din motive de compactitate a codului sursă, pare recomandabil să scrieți succesiunea acestor notații sub formă de constante șir. PeriodicTableStr1..., PeriodicTableStr4astfel încât atunci când formularul este creat, programul însuși împrăștie aceste denumiri printre elementele matricei. Fiecare desemnare a elementului constă din una sau două litere latine, prima literă fiind majuscule și a doua (dacă există) minuscule. Această regulă simplă este implementată la încărcarea unui tablou. Astfel, succesiunea de notații poate fi scrisă într-o manieră concisă, fără spații. Împărțirea unei secvențe în patru părți (constante PeriodicTableStr1..., PeriodicTableStr4) se datorează unor considerente de ușurință în citirea codului sursă, deoarece Este posibil ca o linie prea lungă să nu se potrivească în întregime pe ecran.

Când cursorul mouse-ului se deplasează peste Image1 manipulator Imagine1MouseMove acest eveniment determină valoarea componentei de culoare albastră a pixelului cardului de control Image2 pentru coordonatele curente ale cursorului. Prin constructie Image2 această valoare este egală cu numărul elementului dacă cursorul se află în interiorul celulei; zero dacă se află la graniță și 255 în alte cazuri. Restul acțiunilor efectuate de program sunt banale și nu necesită explicații.

Pe lângă tehnicile de programare stilistică menționate mai sus, merită remarcat stilul de comentariu. Strict vorbind, codul discutat este atât de mic și simplu încât comentariile nu par deosebit de necesare. Cu toate acestea, au fost adăugate și din motive metodologice - codul scurt ne permite să facem mai clar câteva concluzii generale. În codul prezentat este declarată o clasă (TtableDlg). Metodele acestei clase pot fi schimbate și acest lucru nu va afecta în niciun fel funcționarea programului, dar poate afecta lizibilitatea acestuia. De exemplu, imaginați-vă secvența:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Poate că nu este foarte vizibil, dar va deveni puțin mai dificil de citit și de înțeles. Dacă nu există cinci, dar de zeci de ori mai multe metode în secțiune implementarea au o cu totul altă ordine decât în ​​descrierile clasei, atunci haosul nu va face decât să crească. Prin urmare, deși este dificil de dovedit strict și poate fi chiar imposibil, se poate spera că introducerea unei comenzi suplimentare va îmbunătăți lizibilitatea codului. Această ordine suplimentară este facilitată de gruparea logică a mai multor metode care realizează sarcini conexe. Fiecare grup ar trebui să primească un titlu, de exemplu:

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

Aceste titluri trebuie copiate la începutul modulului și formatate ca un cuprins. În unele cazuri de module destul de lungi, astfel de cuprinsuri oferă opțiuni de navigare suplimentare. În mod similar, în corpul lung al unei metode, proceduri sau funcție, merită, mai întâi, să marchezi sfârșitul acestui corp:

end; // FormCreate

și, în al doilea rând, în instrucțiunile ramificate cu paranteze de program început - sfârșit, marcați instrucțiunea la care se referă paranteza de închidere:

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

Pentru a evidenția antetele de grup și capetele corpurilor metodei, puteți adăuga linii care depășesc lungimea majorității operatorilor și constau, de exemplu, din caracterele „=” și, respectiv, „_”.
Din nou, trebuie să facem o rezervare: exemplul nostru este prea simplu. Și când codul unei metode nu se potrivește pe un ecran, poate fi dificil să înțelegeți șase sfârșituri consecutive pentru a face modificări de cod. În unele compilatoare vechi, de exemplu, Pascal 8000 pentru OS IBM 360/370, o coloană de servicii ca aceasta a fost tipărită în partea stângă a listei

B5
…
E5

Aceasta însemna că paranteza de închidere de pe linia E5 corespundea parantezei de deschidere de pe linia B5.

Desigur, stilul de programare este o problemă foarte controversată, așa că ideile exprimate aici ar trebui luate ca nimic mai mult decât hrană de gândit. Poate fi foarte dificil pentru doi programatori destul de experimentați, care s-au dezvoltat și s-au obișnuit cu stiluri diferite de-a lungul multor ani de muncă, să ajungă la un acord. Este o problemă diferită pentru un student care învață să programeze și care nu a avut încă timp să-și găsească propriul stil. Cred că în acest caz profesorul ar trebui măcar să le transmită elevilor săi o idee atât de simplă, dar deloc evidentă, că succesul unui program depinde în mare măsură de stilul în care este scris codul sursă al acestuia. Este posibil ca elevul să nu urmeze stilul recomandat, dar lăsați-l să se gândească cel puțin la necesitatea unor acțiuni „extra” pentru a îmbunătăți designul codului sursă.

Revenind la problema noastră de bază despre Tabelul Periodic: dezvoltarea ulterioară poate merge în direcții diferite. Una dintre direcții este de referință: când treceți cursorul mouse-ului peste o celulă de tabel, apare o fereastră de informații care conține informații suplimentare despre elementul specificat. Dezvoltarea ulterioară este filtrele. De exemplu, în funcție de instalație, fereastra de informații va conține doar: cele mai importante informații fizice și chimice, informații despre istoria descoperirii, informații despre distribuția în natură, o listă a celor mai importanți compuși (care include acest element), proprietăți fiziologice, nume într-o limbă străină etc. e. Amintindu-ne de „răța” lui Kaverin cu care începe acest articol, putem spune că prin această dezvoltare a programului vom obține un complex complet de pregătire în științele naturii: pe lângă computer. știință, fizică și chimie - biologie, geografie economică, istoria științei și chiar limbi străine.

Dar o bază de date locală nu este limita. Programul se conectează în mod natural la Internet. Când selectați un element, linkul este activat, iar articolul Wikipedia despre acest element este deschis în fereastra browserului web. Wikipedia, după cum știți, nu este o sursă autorizată. Puteți seta link-uri către surse autorizate, de exemplu, enciclopedia chimică, TSB, reviste de rezumate, interogări de comandă în motoarele de căutare pentru acest element etc. Acea. Elevii vor fi capabili să finalizeze sarcini simple, dar semnificative pe subiecte DBMS și Internet.

Pe lângă interogările pe un element individual, puteți crea funcționalități care, de exemplu, vor marca celulele din tabel care îndeplinesc anumite criterii cu culori diferite. De exemplu, metale și nemetale. Sau celule care sunt aruncate în corpurile de apă de către o fabrică chimică locală.

De asemenea, puteți implementa funcțiile unui organizator de notebook. De exemplu, evidențiați în tabel elementele care sunt incluse în examen. Apoi evidențiați elementele studiate/repetate de elev în pregătirea examenului.

Și iată, de exemplu, una dintre problemele tipice de chimie școlară:

Se dau 10 g de cretă. Cât acid clorhidric trebuie luat pentru a dizolva toată această cretă?

Pentru a rezolva această problemă, este necesar să scrieți chimia. reacție și plasând coeficienții în ea, se calculează greutățile moleculare ale carbonatului de calciu și acidului clorhidric, apoi se compune și se rezolvă proporția. Un calculator bazat pe programul nostru de bază poate calcula și rezolva. Adevărat, va trebui totuși să țineți cont de faptul că acidul trebuie luat în exces rezonabil și într-o concentrație rezonabilă, dar aceasta este chimie, nu informatică.
Anexa 1: Cum funcționează calculatorul de chimieSă analizăm funcționarea calculatorului folosind exemplul problemei de mai sus a cretei și a „mezului”. Să începem cu reacția:

CaCO3 + 2HCl = CaCl2 + H2O

Din aceasta vedem că vom avea nevoie de greutățile atomice ale următoarelor elemente: calciu (Ca), carbon (C), oxigen (O), hidrogen (H) și clor (Cl). În cel mai simplu caz, putem scrie aceste greutăți într-o matrice unidimensională definită ca

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

unde indexul matricei corespunde numărului elementului. Mai multe despre spațiul liber al formularului tableDlg pune două câmpuri. În primul câmp se scrie inițial: „Se dă primul reactiv”, în al doilea - „Al doilea reactiv este să găsești x”. Să notăm câmpurile reactiv 1, reactiv 2 respectiv. Alte completări la program vor fi clare din următorul exemplu de calculator.

Tastam pe tastatura calculatorului: 10 g. Inscripție în câmp reactiv 1 modificări: „Primului reactiv i se administrează 10 g.” Acum introducem formula acestui reactiv, iar calculatorul va calcula și va afișa greutatea moleculară pe măsură ce o introduceți.

Faceți clic pe LMB pe celula tabelului cu simbolul Ca. Inscripție în teren reactiv 1 modificări: „Primul reactiv Ca 40.078 dat 10 g.”

Faceți clic pe LMB pe celula tabelului cu simbolul C. Inscripție în câmp reactiv 1 modificări: „Primul reactiv CaC 52.089 dat 10 g.” Acestea. Calculatorul a adunat greutățile atomice ale calciului și carbonului.

Faceți clic pe LMB pe celula tabelului cu simbolul O. Inscripție în câmp reactiv 1 modificări: „Primul reactiv CaCO 68.088 dat 10 g.” Calculatorul a adăugat greutatea atomică a oxigenului la sumă.

Faceți clic pe LMB pe celula tabelului cu simbolul O. Inscripție în câmp reactiv 1 modificări: „Primul reactiv CaCO2 84.087 dat 10 g.” Calculatorul a adăugat din nou greutatea atomică a oxigenului la sumă.

Faceți clic pe LMB pe celula tabelului cu simbolul O. Inscripție în câmp reactiv 1 modificări: „Primul reactiv CaCO3 100.086 dat 10 g.” Calculatorul a adăugat din nou greutatea atomică a oxigenului la sumă.

Apăsați Enter pe tastatura computerului dvs. Introducerea primului reactiv este finalizată și trece pe teren reactiv 2. Rețineți că în acest exemplu oferim o versiune minimă. Dacă doriți, puteți organiza cu ușurință multiplicatori de atomi de același tip, astfel încât, de exemplu, să nu fie nevoie să faceți clic de șapte ori la rând pe celula de oxigen atunci când introduceți formula cromului (K2Cr2O7).

Faceți clic pe LMB pe celula tabelului cu simbolul H. Inscripție în câmp reactiv 2 modificări: „Al doilea reactiv H 1.008 găsiți x.”

Faceți clic pe LMB pe celula tabelului cu simbolul Cl. Inscripție în teren reactiv 2 modificări: „Al doilea reactiv HCl 36.458 găsiți x.” Calculatorul a adunat greutățile atomice ale hidrogenului și clorului. În ecuația de reacție de mai sus, clorura de hidrogen este precedată de un coeficient de 2. Prin urmare, faceți clic pe LMB în câmp reactiv 2. Greutatea moleculară se dublează (triplă la apăsare de două ori etc.). Inscripție în teren reactiv 2 modificări: „Al doilea reactiv 2HCl 72.916 găsiți x.”

Apăsați Enter pe tastatura computerului dvs. Introducerea celui de-al doilea reactiv este finalizată, iar calculatorul găsește x din proporție

Tabel periodic despre informatica școlară

Asta trebuia să găsim.

Notă 1. Semnificația proporției rezultate: pentru dizolvare 100.086 Da creta necesită 72.916 Da acid, iar pentru a dizolva 10 g de cretă ai nevoie de x acid.

Notă 2. Colecții de probleme similare:

Khomchenko I. G., Culegere de probleme și exerciții de chimie 2009 (clasele 8-11).
Khomchenko G. P., Khomchenko I. G., Culegere de probleme în chimie pentru solicitanții la universități, 2019.

Notă 3. Pentru a simplifica sarcina, puteți simplifica introducerea formulei în versiunea inițială și pur și simplu adăugați simbolul elementului la sfârșitul liniei formulei. Atunci formula carbonatului de calciu va fi:
CaCOOO
Dar unui profesor de chimie este puțin probabil să-i placă o astfel de înregistrare. Nu este dificil să faci intrarea corectă - pentru a face acest lucru trebuie să adăugați o matrice:

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

unde indicele este numărul elementului chimic, iar valoarea la acest indice este numărul de atomi (inițial toate elementele matricei sunt resetate la zero). Ar trebui luată în considerare ordinea în care atomii sunt scriși într-o formulă, așa cum este adoptată în chimie. De exemplu, puțini oameni le vor plăcea nici O3CaC. Să transferăm responsabilitatea către utilizator. Realizarea unei matrice:

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

unde notăm numărul elementului chimic în funcție de indicele apariției acestuia în formulă. Adăugarea unui atom currNr în formula:

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

Scrierea formulei pe o linie:

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;

Notă 4. Este logic să oferiți posibilitatea de a introduce alternativ formula reactivului de la tastatură. În acest caz, va trebui să implementați un parser simplu.

Este demn de remarcat faptul că:

Astăzi, există câteva sute de versiuni ale tabelului, iar oamenii de știință oferă în mod constant noi opțiuni. (Wikipedia)

Elevii își pot arăta ingeniozitatea în această direcție prin implementarea uneia dintre opțiunile deja propuse sau încearcă să-și realizeze propria lor originală. Poate părea că aceasta este cea mai puțin utilă direcție pentru lecțiile de informatică. Cu toate acestea, sub forma Tabelului periodic implementat în acest articol, este posibil ca unii studenți să nu vadă avantajele particulare ale cardurilor de control față de soluția alternativă care utilizează butoanele standard. TBbuton. Forma spirală a mesei (unde celulele sunt de forme diferite) va demonstra mai clar avantajele soluției propuse aici.

Tabel periodic despre informatica școlară
(Sistem alternativ de elemente de Theodore Benfey, Sursă)

Să adăugăm, de asemenea, că o serie de programe de calculator existente în prezent pentru Tabelul Periodic sunt descrise în recent publicat pe Habré. articol.

Anexa 2: exemple de sarcini pentru filtreFolosind filtre, puteți rezolva, de exemplu, următoarele sarcini:

1) Selectați în tabel toate elementele cunoscute în Evul Mediu.

2) Identificați toate elementele cunoscute la momentul descoperirii Legii Periodice.

3) Identificați șapte elemente pe care alchimiștii le considerau metale.

4) Selectați toate elementele care sunt în stare gazoasă în condiții normale (n.s.).

5) Selectați toate elementele care sunt în stare lichidă la nr.

6) Selectați toate elementele care sunt în stare solidă la nr.

7) Selectați toate elementele care pot fi expuse la aer pentru o perioadă lungă de timp fără modificări vizibile în condiții normale.

8) Selectați toate metalele care se dizolvă în acid clorhidric.

9) Selectați toate metalele care se dizolvă în acid sulfuric la nr.

10) Selectați toate metalele care se dizolvă în acid sulfuric când sunt încălzite.

11) Selectați toate metalele care se dizolvă în acid azotic.

12) Izolați toate metalele care reacționează violent cu apa în condiții ambientale.

13) Selectați toate metalele.

14) Identificați elementele care sunt larg răspândite în natură.

15) Identificați elementele care se găsesc în natură în stare liberă.

16) Identificați elementele care joacă cel mai important rol în corpul uman și animal.

17) Selectați elemente care sunt utilizate pe scară largă în viața de zi cu zi (în formă liberă sau în combinații).

18) Identificați elementele cu care se lucrează cel mai periculos și necesită măsuri speciale și echipamente de protecție.

19) Identificați elementele care, sub formă liberă sau sub formă de compuși, reprezintă cea mai mare amenințare pentru mediu.

20) Selectați metale prețioase.

21) Identificați elementele care sunt mai scumpe decât metalele prețioase.

Notițe

1) Este logic să furnizați mai multe filtre. De exemplu, dacă activați un filtru pentru a rezolva problema 1 (toate elementele cunoscute în Evul Mediu) și 20 (metale prețioase), atunci celulele cu metale prețioase cunoscute în Evul Mediu vor fi evidențiate (de exemplu, după culoare) ( de exemplu, paladiu nu va fi evidențiat , deschis în 1803).

2) Este logic să vă asigurați că mai multe filtre funcționează într-un astfel de mod încât fiecare filtru selectează celule cu propria sa culoare, dar nu elimină complet selecția unui alt filtru (parte a celulei într-o culoare, parte în alta). Apoi, în cazul exemplului anterior, vor fi vizibile elemente de intersecție a mulțimilor descoperite în Evul Mediu și metale prețioase, precum și elemente aparținând doar primului și numai celui de-al doilea set. Acestea. metale prețioase necunoscute în Evul Mediu și elemente cunoscute în Evul Mediu, dar nu metale prețioase.

3) Are sens după aplicarea filtrului pentru a asigura posibilitatea altor lucrări cu rezultatele obținute. De exemplu, având selectate elemente cunoscute în Evul Mediu, utilizatorul face clic pe LMB pe elementul selectat și este dus la articolul Wikipedia despre acest element.

4) Este logic să oferim utilizatorului posibilitatea de a deselecta făcând clic pe LMB pe celula selectată a tabelului. De exemplu, pentru a elimina elementele deja vizualizate.

5) Este logic să vă asigurați că lista celulelor selectate este salvată într-un fișier și că un astfel de fișier este încărcat cu selecția automată a celulelor. Acest lucru va oferi utilizatorului posibilitatea de a lua o pauză de la muncă.

Am folosit o hartă de control statică, predeterminată, dar există multe sarcini importante în care pot fi folosite hărți de control dinamice care se modifică pe măsură ce programul rulează. Un exemplu ar fi un editor de grafice, în care utilizatorul folosește mouse-ul pentru a indica pozițiile vârfurilor într-o fereastră și a desena marginile între ele. Pentru a șterge un vârf sau o muchie, utilizatorul trebuie să indice spre el. Dar dacă este destul de ușor să indicați un vârf marcat cu un cerc, atunci va fi mai dificil să indicați o margine desenată cu o linie subțire. O hartă de control va ajuta aici, unde vârfurile și marginile ocupă cartiere mai largi decât în ​​figura vizibilă.

O întrebare secundară interesantă legată de această metodă de antrenament complex este: poate fi această metodă utilă în antrenamentul AI?

Sursa: www.habr.com

Adauga un comentariu