Periodni sistem šolskega računalništva

(Kontrolne kartice)
(Posvečeno mednarodnemu letu periodnega sistema kemijskih elementov)
(Zadnji dodatki so bili narejeni 8. aprila 2019. Seznam dodatkov je takoj pod rezom)

Periodni sistem šolskega računalništva
(Mendelejeva roža, Vir)

Spomnim se, da smo šli mimo race. To so bile tri ure hkrati: geografija, naravoslovje in ruščina. Pri pouku naravoslovja so raco preučevali kot raco, kakšna krila ima, kakšne noge ima, kako plava itd. Pri pouku geografije so isto raco preučevali kot prebivalca sveta: na zemljevidu je bilo treba pokazati, kje živi in ​​kje ne. V ruščini nas je Serafima Petrovna naučila pisati "u-t-k-a" in prebrati nekaj o racah iz Brema. Mimogrede nam je sporočila, da je raca v nemščini takole, v francoščini pa takole. Mislim, da se je takrat imenovala "kompleksna metoda". Na splošno je vse prišlo "mimogrede".

Veniamin Kaverin, Dva kapitana

V zgornjem citatu je Veniamin Kaverin mojstrsko prikazal pomanjkljivosti kompleksne metode poučevanja, vendar so v nekaterih (morda zelo redkih) primerih elementi te metode upravičeni. Eden takih primerov je periodični sistem D. I. Mendelejeva pri pouku računalništva v šoli. Naloga programske avtomatizacije tipičnih dejanj s periodnim sistemom je jasna za šolarje, ki so začeli študirati kemijo, in je razdeljena na številne tipične kemijske naloge. Hkrati nam ta naloga v okviru računalništva omogoča, da v preprosti obliki prikažemo metodo krmilnih kartic, ki jo lahko pripišemo grafičnemu programiranju, razumljenem v širšem pomenu besede kot programiranje z uporabo grafičnih elementov.

(Dodatki dne 8. aprila 2019:
Dodatek 1: Kako deluje kemijski kalkulator
Dodatek 2: primeri nalog za filtre)

Začnimo z osnovno nalogo. V najpreprostejšem primeru je treba periodični sistem prikazati na zaslonu v obliki okna, kjer bo v vsaki celici kemijska oznaka elementa: H - vodik, He - helij itd. Če kazalec miške pokaže na celico, se oznaka elementa in njegova številka prikažeta v posebnem polju na našem obrazcu. Če uporabnik pritisne LMB, bo oznaka in številka tega izbranega elementa navedena v drugem polju obrazca.

Periodni sistem šolskega računalništva

Težavo je mogoče rešiti s katerim koli univerzalnim jezikom. Vzeli bomo preprost stari Delpi-7, ki je razumljiv skoraj vsem. Toda preden programiramo v PL, narišimo dve sliki, na primer v Photoshopu. Najprej narišimo periodni sistem v obliki, kot jo želimo videti v programu. Rezultat shranite v grafično datoteko table01.bmp.

Periodni sistem šolskega računalništva

Za drugo risbo uporabimo prvo. Celice tabele, očiščene vseh grafik, bomo zaporedno zapolnili z edinstvenimi barvami v barvnem modelu RGB. R in G bosta vedno 0, B=1 za vodik, 2 za helij itd. Ta risba bo naša kontrolna kartica, ki jo bomo shranili v datoteko z imenom table2.bmp.

Periodni sistem šolskega računalništva

Prva faza grafičnega programiranja v Photoshopu je končana. Preidimo na grafično programiranje GUI v Delpi-7 IDE. Če želite to narediti, odprite nov projekt, kjer na glavni obrazec postavite pogovorni gumb (tabelaDlg), v kateri bo potekalo delo s tabelo. Nato delamo z obrazcem tabelaDlg.

Postavite komponento razreda na obrazec TImage. Dobimo Image1. Upoštevajte, da so na splošno za velike projekte samodejno ustvarjena imena obrazcev SlikaNČe N lahko doseže več deset ali več - to ni najboljši stil programiranja, zato je treba dati bolj smiselna imena. Toda v našem malem projektu, kje N ne bo presegel 2, ga lahko pustite kot ustvarjenega.

Na lastnino Slika1.Slika naložite datoteko table01.bmp. Mi ustvarjamo Image2 in tja naložimo našo kontrolno kartico table2.bmp. V tem primeru naredimo datoteko majhno in uporabniku nevidno, kot je prikazano v spodnjem levem kotu obrazca. Dodamo dodatne krmilne elemente, katerih namen je očiten. Druga faza programiranja grafičnega GUI v Delpi-7 IDE je zaključena.

Periodni sistem šolskega računalništva

Preidimo na tretjo stopnjo - pisanje kode v Delpi-7 IDE. Modul je sestavljen iz samo petih obdelovalcev dogodkov: ustvarjanje obrazca (FormCreate), premikanje kazalca Image1 (Image1MouseMove), kliknite LMB na celico (Slika 1 Kliknite) in zapustite pogovorno okno z gumboma V redu (OKBtnClick) ali Prekliči (CancelBtnClick). Glave teh obdelovalcev so generirane na standarden način z uporabo IDE.

Izvorna koda modula:

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.

V naši različici smo vzeli tabelo 104 elementov (konstanta velikost). Očitno je to velikost mogoče povečati. Oznake elementov (kemični simboli) so zapisane v polje TabelaSimboli. Vendar se zaradi kompaktnosti izvorne kode zdi priporočljivo zapisati zaporedje teh zapisov v obliki nizovnih konstant Periodični sistemStr1..., Periodični sistemStr4tako da program ob izdelavi obrazca te oznake sam razprši med elemente polja. Vsaka oznaka elementa je sestavljena iz ene ali dveh latiničnih črk, pri čemer je prva črka velika, druga (če obstaja) pa mala. To preprosto pravilo se izvaja pri nalaganju matrike. Tako lahko zaporedje zapisov zapišemo jedrnato brez presledkov. Razbijanje zaporedja na štiri dele (konstante Periodični sistemStr1..., Periodični sistemStr4) je posledica pomislekov o lažjem branju izvorne kode, ker Predolga vrstica se morda ne bo v celoti prilegala zaslonu.

Ko se kazalec miške premakne nad Image1 vodja Image1MouseMove ta dogodek določa vrednost modre barvne komponente slikovne točke nadzorne kartice Image2 za trenutne koordinate kazalca. Po konstrukciji Image2 ta vrednost je enaka številki elementa, če je kazalec znotraj celice; nič, če je na meji, in 255 v drugih primerih. Preostala dejanja, ki jih izvaja program, so trivialna in ne zahtevajo razlage.

Poleg zgoraj omenjenih slogovnih tehnik programiranja je vredno omeniti slog komentarja. Strogo gledano je obravnavana koda tako majhna in preprosta, da se komentarji ne zdijo posebej potrebni. Vendar so bili dodani tudi iz metodoloških razlogov - kratka koda nam omogoča jasnejše sklepanje nekaterih splošnih zaključkov. V predstavljeni kodi je deklariran en razred (TtableDlg). Metode tega razreda je mogoče zamenjati in to nikakor ne bo vplivalo na delovanje programa, lahko pa vpliva na njegovo berljivost. Na primer, predstavljajte si zaporedje:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Morda ne bo zelo opazno, vendar bo postalo nekoliko težje brati in razumeti. Če v razdelku ni pet, ampak desetkrat več metod Izvajanje imajo popolnoma drugačen red kot v opisih razredov, potem se bo kaos samo še povečal. Čeprav je to težko strogo dokazati in morda celo nemogoče, lahko upamo, da bo uvedba dodatnega reda izboljšala berljivost kode. Ta dodatni vrstni red olajša logično združevanje več metod, ki izvajajo povezane naloge. Vsaka skupina mora imeti naslov, na primer:

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

Te naslove je treba kopirati na začetek modula in oblikovati kot kazalo vsebine. V nekaterih primerih precej dolgih modulov takšna kazala vsebine nudijo dodatne možnosti navigacije. Podobno je v dolgem telesu ene metode, postopka ali funkcije vredno najprej označiti konec tega telesa:

end; // FormCreate

in drugič, v razvejanih stavkih s programskimi oklepaji začetek - konec označite stavek, na katerega se nanaša zaključni oklepaj:

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

Če želite poudariti glave skupin in konce teles metod, lahko dodate vrstice, ki so daljše od večine stavkov in so sestavljene na primer iz znakov »=« oziroma »_«.
Ponovno moramo narediti pridržek: naš primer je preveč preprost. In ko se koda metode ne prilega enemu zaslonu, je lahko težko razumeti šest zaporednih koncev spreminjanja kode. V nekaterih starih prevajalnikih, na primer Pascal 8000 za OS IBM 360/370, je bil stolpec storitve, kot je ta, natisnjen na levi v seznamu

B5
…
E5

To je pomenilo, da se zaključni oklepaj v vrstici E5 ujema z začetnim oklepajem v vrstici B5.

Seveda je slog programiranja zelo kontroverzno vprašanje, zato je treba tukaj izražene zamisli jemati le kot hrano za razmislek. Dokaj izkušena programerja, ki sta se v dolgih letih dela razvila in navadila na različne sloge, se lahko zelo težko sporazumeta. Druga stvar je študent, ki se uči programirati in še ni imel časa, da bi našel svoj slog. Mislim, da bi moral učitelj v tem primeru svojim učencem vsaj posredovati tako preprosto, a jim ne očitno idejo, da je uspeh programa v veliki meri odvisen od sloga, v katerem je napisana njegova izvorna koda. Študent morda ne bo sledil priporočenemu slogu, vendar naj vsaj pomisli na potrebo po "dodatnih" ukrepih za izboljšanje zasnove izvorne kode.

Če se vrnemo k našemu osnovnemu problemu periodnega sistema: nadaljnji razvoj lahko gre v različne smeri. Eno od navodil je za referenco: ko kazalec miške premaknete nad celico tabele, se prikaže okno z informacijami, ki vsebuje dodatne informacije o določenem elementu. Nadaljnji razvoj so filtri. Na primer, odvisno od namestitve bo informacijsko okno vsebovalo samo: najpomembnejše fizikalne in kemijske podatke, podatke o zgodovini odkritja, podatke o razširjenosti v naravi, seznam najpomembnejših spojin (ki vključuje ta element), fiziološke lastnosti, ime v tujem jeziku, itd. e. Če se spomnimo Kaverinove »race«, s katero se ta članek začne, lahko rečemo, da bomo s tem razvojem programa dobili celoten vadbeni kompleks v naravoslovju: poleg računalnika znanost, fizika in kemija - biologija, ekonomska geografija, zgodovina znanosti in celo tuji jeziki.

Vendar lokalna zbirka podatkov ni meja. Program se naravno poveže z internetom. Ko izberete element, se aktivira povezava, v oknu spletnega brskalnika pa se odpre članek Wikipedije o tem elementu. Wikipedia, kot veste, ni verodostojen vir. Nastavite lahko povezave do verodostojnih virov, na primer kemijske enciklopedije, TSB, abstraktnih revij, naročite poizvedbe v iskalnikih za ta element itd. to. Študenti bodo sposobni dokončati preproste, a smiselne naloge o DBMS in internetnih temah.

Poleg poizvedb po posameznem elementu lahko ustvarite funkcionalnost, ki bo na primer z različnimi barvami označila celice v tabeli, ki ustrezajo določenim kriterijem. Na primer kovine in nekovine. Ali celice, ki jih lokalna kemična tovarna vrže v vodna telesa.

Izvajate lahko tudi funkcije organizatorja zvezkov. Na primer, v tabeli označite elemente, ki so vključeni v izpit. Nato poudarite elemente, ki jih je študent preučil/ponovil med pripravo na izpit.

In tukaj je na primer ena od tipičnih šolskih kemijskih težav:

Glede na 10 g krede. Koliko klorovodikove kisline je treba vzeti, da se vsa ta kreda raztopi?

Za rešitev tega problema je potrebno zapisati kem. reakcijo in vanjo umestimo koeficiente, izračunamo molekulski masi kalcijevega karbonata in vodikovega klorida, nato sestavimo in rešimo delež. Kalkulator, ki temelji na našem osnovnem programu, lahko računa in rešuje. Res je, vseeno boste morali upoštevati, da je treba kislino jemati v razumnem presežku in v razumni koncentraciji, a to je kemija, ne računalništvo.
Dodatek 1: Kako deluje kemijski kalkulatorAnalizirajmo delovanje kalkulatorja na primeru zgornjega problema krede in "hodgepodge". Začnimo z reakcijo:

CaCO3 + 2HCl = CaCl2 + H2O

Iz tega vidimo, da bomo potrebovali atomske teže naslednjih elementov: kalcij (Ca), ogljik (C), kisik (O), vodik (H) in klor (Cl). V najpreprostejšem primeru lahko te uteži zapišemo v enodimenzionalni niz, definiran kot

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

kjer indeks matrike ustreza številki elementa. Več o prostem prostoru obrazca tabelaDlg postavite dve polji. V prvem polju je na začetku zapisano: "Prvi reagent je dan", v drugem - "Drugi reagent je iskanje x". Označimo polja reagent 1, reagent 2 oz. Drugi dodatki k programu bodo razvidni iz naslednjega primera kalkulatorja.

Na računalniško tipkovnico vtipkamo: 10 g Napis v polju reagent 1 spremembe: "Prvi reagent se daje 10 g." Zdaj vnesemo formulo tega reagenta in kalkulator bo izračunal in prikazal njegovo molekulsko maso, ko jo vnesete.

Kliknite LMB na celico tabele s simbolom Ca. Napis v polju reagent 1 spremembe: "Prvi reagent Ca 40.078 dan 10 g."

Kliknite LMB na celico tabele s simbolom C. Vpis v polje reagent 1 spremembe: "Prvi reagent CaC 52.089 dan 10 g." Tisti. Kalkulator je seštel atomski masi kalcija in ogljika.

Kliknite LMB na celico tabele s simbolom O. Vpis v polje reagent 1 spremembe: "Prvi reagent CaCO 68.088 dan 10 g." Kalkulator je vsoti dodal atomsko težo kisika.

Kliknite LMB na celico tabele s simbolom O. Vpis v polje reagent 1 spremembe: "Prvi reagent CaCO2 84.087, dan 10 g." Kalkulator je vsoti še enkrat dodal atomsko težo kisika.

Kliknite LMB na celico tabele s simbolom O. Vpis v polje reagent 1 spremembe: "Prvi reagent CaCO3 100.086, dan 10 g." Kalkulator je vsoti spet dodal atomsko težo kisika.

Pritisnite Enter na tipkovnici računalnika. Vnos prvega reagenta je končan in preklopi na polje reagent 2. Upoštevajte, da v tem primeru nudimo minimalno različico. Po želji lahko preprosto organizirate množitelje atomov iste vrste, tako da vam na primer ni treba sedemkrat zaporedoma klikniti na kisikovo celico pri vnosu formule za krom (K2Cr2O7).

Kliknite LMB na celico tabele s simbolom H. Vpis v polje reagent 2 spremembe: "Drugi reagent H 1.008 najdi x."

Kliknite LMB na celico tabele s simbolom Cl. Napis v polju reagent 2 spremembe: "Drugi reagent HCl 36.458 najdi x." Kalkulator je seštel atomski masi vodika in klora. V zgornji reakcijski enačbi je pred vodikovim kloridom koeficient 2. Zato kliknite LMB na polje reagent 2. Molekulska masa se podvoji (potroji ob dvakratnem pritisku itd.). Napis v polju reagent 2 spremembe: "Drugi reagent 2HCl 72.916 najdi x."

Pritisnite Enter na tipkovnici računalnika. Vnos drugega reagenta je končan in kalkulator najde x iz deleža

Periodni sistem šolskega računalništva

To smo morali najti.

Opomba 1 Pomen dobljenega deleža: za raztapljanje 100.086 Da kreda zahteva 72.916 Da kisline, za raztapljanje 10 g krede pa potrebujete x kislino.

Opomba 2 Zbirke podobnih težav:

Khomchenko I. G., Zbirka problemov in vaj iz kemije 2009 (8-11 razred).
Khomchenko G. P., Khomchenko I. G., Zbirka problemov iz kemije za kandidate na univerzah, 2019.

Opomba 3 Za poenostavitev naloge lahko poenostavite vnos formule v začetni različici in preprosto dodate simbol elementa na konec vrstice formule. Potem bo formula kalcijevega karbonata:
CaCOOO
Toda učitelju kemije takšen posnetek verjetno ne bo všeč. Ni težko narediti pravilnega vnosa - za to morate dodati matriko:

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

kjer je indeks številka kemijskega elementa, vrednost pri tem indeksu pa je število atomov (na začetku se vsi elementi niza ponastavijo na nič). Upoštevati je treba vrstni red zapisa atomov v formuli, kot je sprejet v kemiji. Na primer, malo ljudem bo všeč tudi O3CaC. Prevalimo odgovornost na uporabnika. Izdelava niza:

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

kjer zapišemo številko kemijskega elementa glede na indeks pojavljanja v formuli. Dodajanje atoma št v formulo:

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

Zapis formule v vrstico:

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;

Opomba 4 Smiselno je zagotoviti možnost alternativnega vnosa formule reagenta s tipkovnice. V tem primeru boste morali implementirati preprost razčlenjevalnik.

Omeniti velja, da:

Danes obstaja več sto različic mize, znanstveniki pa nenehno ponujajo nove možnosti. (Wikipedia)

Študenti lahko pokažejo svojo iznajdljivost v tej smeri z izvajanjem ene od že predlaganih možnosti ali poskusijo narediti svojo izvirno. Morda se zdi, da je to najmanj uporabna smer za pouk računalništva. Vendar pa v obliki periodnega sistema, implementiranega v tem članku, nekateri učenci morda ne vidijo posebnih prednosti kontrolnih kartic pred alternativno rešitvijo z uporabo standardnih gumbov TButton. Spiralna oblika mize (kjer so celice različnih oblik) bo nazorneje prikazala prednosti tukaj predlagane rešitve.

Periodni sistem šolskega računalništva
(Alternativni sistem elementov Theodora Benfeya, Vir)

Naj še dodamo, da je vrsta trenutno obstoječih računalniških programov za periodni sistem opisanih v nedavno objavljenem na Habréju članek.

Dodatek 2: primeri nalog za filtreZ uporabo filtrov lahko rešite na primer naslednje naloge:

1) V tabeli izberite vse elemente, ki so bili znani v srednjem veku.

2) Identificirajte vse elemente, znane v času odkritja periodičnega zakona.

3) Identificirajte sedem elementov, ki so jih alkimisti imeli za kovine.

4) Izberite vse elemente, ki so v normalnih pogojih v plinastem stanju (n.s.).

5) Izberite vse elemente, ki so v tekočem stanju na št.

6) Izberite vse elemente, ki so v trdnem stanju na št.

7) Izberite vse elemente, ki so lahko dolgo časa izpostavljeni zraku brez opaznih sprememb pri normalnih pogojih.

8) Izberi vse kovine, ki se topijo v klorovodikovi kislini.

9) Izberi vse kovine, ki se topijo v žveplovi kislini pri št.

10) Izberite vse kovine, ki se pri segrevanju raztopijo v žveplovi kislini.

11) Izberite vse kovine, ki se topijo v dušikovi kislini.

12) Izolirajte vse kovine, ki burno reagirajo z vodo pri okoljskih pogojih.

13) Izberite vse kovine.

14) Prepoznajte elemente, ki so v naravi razširjeni.

15) Določite elemente, ki jih v naravi najdemo v prostem stanju.

16) Določite elemente, ki imajo najpomembnejšo vlogo v telesu človeka in živali.

17) Izberite elemente, ki se pogosto uporabljajo v vsakdanjem življenju (v prosti obliki ali v kombinacijah).

18) Določite elemente, ki so najbolj nevarni za delo in zahtevajo posebne ukrepe in zaščitno opremo.

19) Določite elemente, ki v prosti obliki ali v obliki spojin najbolj ogrožajo okolje.

20) Izberite plemenite kovine.

21) Prepoznajte elemente, ki so dražji od plemenitih kovin.

Opombe

1) Smiselno je zagotoviti več filtrov. Na primer, če vklopite filter za rešitev problema 1 (vsi elementi, znani v srednjem veku) in 20 (plemenite kovine), bodo celice s plemenitimi kovinami, znanimi v srednjem veku, označene (na primer z barvo) ( na primer paladij ne bo poudarjen , odprt leta 1803).

2) Smiselno je zagotoviti, da več filtrov deluje tako, da vsak filter izbere celice s svojo barvo, vendar ne odstrani popolnoma izbire drugega filtra (del celice v eni barvi, del v drugi). Takrat bodo v primeru prejšnjega primera vidni elementi presečišča nizov, odkritih v srednjem veku in plemenitih kovin, ter elementi, ki pripadajo samo prvemu in samo drugemu nizu. Tisti. plemenite kovine, neznane v srednjem veku, in elementi, znani v srednjem veku, vendar ne plemenite kovine.

3) Po uporabi filtra je smiselno zagotoviti možnost drugega dela z dobljenimi rezultati. Na primer, ko uporabnik izbere elemente, znane v srednjem veku, klikne LMB na izbrani element in se preusmeri na članek Wikipedije o tem elementu.

4) Uporabniku je smiselno omogočiti preklic izbire s klikom LMB na izbrano celico tabele. Na primer za odstranitev že ogledanih elementov.

5) Smiselno je zagotoviti, da je seznam izbranih celic shranjen v datoteki in da je taka datoteka naložena s samodejno izbiro celic. To bo uporabniku omogočilo odmor od dela.

Uporabili smo statično, vnaprej določeno kontrolno karto, vendar obstaja veliko pomembnih nalog, pri katerih je mogoče uporabiti dinamične kontrolne karte, ki se spreminjajo med izvajanjem programa. Primer bi bil urejevalnik grafov, v katerem uporabnik z miško označi položaje oglišč v oknu in nariše robove med njimi. Če želite izbrisati vozlišče ali rob, mora uporabnik pokazati nanj. Toda če je precej enostavno pokazati na oglišče, označeno s krogom, bo težje pokazati na rob, narisan s tanko črto. Tukaj bo v pomoč kontrolni zemljevid, kjer oglišča in robovi zasedajo širše soseske kot na vidni sliki.

Zanimivo stransko vprašanje v zvezi s to metodo kompleksnega usposabljanja je: ali je ta metoda uporabna pri usposabljanju AI?

Vir: www.habr.com

Dodaj komentar