Periodická tabuľka na školskej informatike

(kontrolné karty)
(Venované Medzinárodnému roku periodickej tabuľky chemických prvkov)
(Najnovšie prírastky boli urobené 8. apríla 2019. Zoznam prírastkov je hneď pod zostrihom)

Periodická tabuľka na školskej informatike
(Mendelejevov kvet, Zdroj)

Pamätám si, že sme prešli okolo kačice. Boli to tri hodiny naraz: zemepis, prírodoveda a ruština. Na hodine prírodovedy sa kačica skúmala ako kačica, aké má krídla, aké nohy má, ako pláva atď. Na hodine zemepisu bola tá istá kačica študovaná ako obyvateľ zemegule: bolo potrebné ukázať na mape, kde žije a kde nie. Serafima Petrovna nás v ruštine naučila písať „u-t-k-a“ a prečítať si niečo o kačkách z Brema. Medzi rečou nás informovala, že po nemecky je kačica takto a po francúzsky takto. Myslím, že sa to vtedy nazývalo „komplexná metóda“. Vo všeobecnosti všetko vyšlo „mimochodom“.

Veniamin Kaverin, Dvaja kapitáni

Vo vyššie uvedenom citáte Veniamin Kaverin majstrovsky ukázal nedostatky komplexnej vyučovacej metódy, avšak v niektorých (možno dosť zriedkavých) prípadoch sú prvky tejto metódy opodstatnené. Jedným z takýchto prípadov je periodická tabuľka D.I. Mendelejeva na hodinách informatiky v škole. Úloha softvérovej automatizácie typických akcií s periodickou tabuľkou je pre školákov, ktorí začali študovať chémiu, jasná a je rozdelená do mnohých typických chemických problémov. Zároveň nám táto úloha umožňuje v rámci informatiky jednoduchou formou demonštrovať spôsob ovládacích kariet, ktorý možno priradiť ku grafickému programovaniu, chápanému v širokom zmysle slova ako programovanie pomocou grafických prvkov.

(8. apríla 2019 boli urobené dodatky:
Dodatok 1: Ako funguje chemická kalkulačka
Príloha 2: príklady úloh pre filtre)

Začnime základnou úlohou. V najjednoduchšom prípade by sa periodická tabuľka mala zobraziť na obrazovke vo forme okna, kde v každej bunke bude chemické označenie prvku: H - vodík, He - hélium atď. Ak kurzor myši ukazuje na bunku, potom sa označenie prvku a jeho číslo zobrazí v špeciálnom poli nášho formulára. Ak používateľ stlačí LMB, potom sa v inom poli formulára uvedie označenie a číslo tohto vybraného prvku.

Periodická tabuľka na školskej informatike

Problém je možné vyriešiť pomocou akéhokoľvek univerzálneho jazyka. Vezmeme si jednoduchý starý Delpi-7, ktorý je zrozumiteľný takmer každému. Pred programovaním v PL si však nakreslíme dva obrázky, napríklad vo Photoshope. Najprv si nakreslíme periodickú tabuľku v podobe, v akej ju chceme vidieť v programe. Uložte výsledok do grafického súboru tabuľka01.bmp.

Periodická tabuľka na školskej informatike

Pre druhý výkres použijeme prvý. Postupne vyplníme bunky tabuľky, zbavené všetkej grafiky, jedinečnými farbami vo farebnom modeli RGB. R a G budú vždy 0 a B=1 pre vodík, 2 pre hélium atď. Tento výkres bude našou kontrolnou kartou, ktorú si uložíme do súboru s názvom tabuľka2.bmp.

Periodická tabuľka na školskej informatike

Prvá fáza grafického programovania vo Photoshope je dokončená. Prejdime ku grafickému programovaniu GUI v IDE Delpi-7. Ak to chcete urobiť, otvorte nový projekt, kde na hlavný formulár umiestnime dialógové tlačidlo (tableDlg), v ktorej bude práca s tabuľkou prebiehať. Ďalej pracujeme s formulárom tableDlg.

Umiestnite komponent triedy do formulára TImage. Dostaneme Image1. Všimnite si, že vo všeobecnosti sa pri veľkých projektoch automaticky generujú názvy formulárov ImageNKde N môže dosiahnuť niekoľko desiatok alebo viac - toto nie je najlepší štýl programovania a mali by sa uvádzať zmysluplnejšie názvy. Ale v našom malom projekte, kde N nepresiahne 2, môžete ho nechať vygenerovaný.

K majetku Obrázok1.Obrázok nahrajte súbor tabuľka01.bmp. Tvoríme Image2 a nahrať tam našu kontrolnú kartu tabuľka2.bmp. V tomto prípade urobíme súbor malý a pre používateľa neviditeľný, ako je znázornené v ľavom dolnom rohu formulára. Pridávame ďalšie ovládacie prvky, ktorých účel je zrejmý. Druhá fáza programovania grafického GUI v IDE Delpi-7 je dokončená.

Periodická tabuľka na školskej informatike

Prejdime k tretej fáze – písanie kódu v IDE Delpi-7. Modul pozostáva iba z piatich obslužných programov udalostí: vytváranie formulárov (FormCreate), pohyb kurzora Image1 (Image1MouseMove), kliknutím LMB na bunku (Obrázok1 Kliknite) a opustite dialóg pomocou tlačidiel OK (OKBtnClick) alebo Zrušiť (CancelBtnClick). Hlavičky týchto handlerov sa generujú štandardným spôsobom pomocou IDE.

Zdrojový kód modulu:

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šej verzii sme vzali tabuľku 104 prvkov (konšt veľkosť). Táto veľkosť sa samozrejme dá zväčšiť. Označenia prvkov (chemické symboly) sa zapisujú do poľa TableSymbols. Z dôvodu kompaktnosti zdrojového kódu sa však zdá byť vhodné napísať postupnosť týchto zápisov vo forme reťazcových konštánt PeriodicTableStr1, ..., PeriodicTableStr4takže pri vytváraní formulára program sám rozhádže tieto označenia medzi prvky poľa. Každé označenie prvku pozostáva z jedného alebo dvoch latinských písmen, pričom prvé písmeno je veľké a druhé (ak existuje) malé. Toto jednoduché pravidlo sa implementuje pri načítavaní poľa. Postupnosť zápisov teda možno písať stručne bez medzier. Rozdelenie sekvencie na štyri časti (konštanty PeriodicTableStr1, ..., PeriodicTableStr4) je spôsobené úvahami o jednoduchosti čítania zdrojového kódu, pretože Príliš dlhý riadok sa nemusí úplne zmestiť na obrazovku.

Keď sa kurzor myši presunie nad Image1 psovod Image1MouseMove táto udalosť určuje hodnotu modrej zložky pixelu kontrolnej karty Image2 pre aktuálne súradnice kurzora. Podľa konštrukcie Image2 táto hodnota sa rovná číslu prvku, ak je kurzor vo vnútri bunky; nula, ak je na hranici, a 255 v ostatných prípadoch. Zostávajúce akcie vykonávané programom sú triviálne a nevyžadujú vysvetlenie.

Okrem vyššie uvedených techník štylistického programovania stojí za zmienku aj štýl komentárov. Presne povedané, diskutovaný kód je taký malý a jednoduchý, že komentáre sa nezdajú byť obzvlášť potrebné. Boli však pridané aj z metodických dôvodov - krátky kód nám umožňuje jasnejšie vyvodiť niektoré všeobecné závery. V predloženom kóde je deklarovaná jedna trieda (TtableDlg). Metódy tejto triedy je možné zamieňať a to nijako neovplyvní fungovanie programu, môže to však ovplyvniť jeho čitateľnosť. Predstavte si napríklad postupnosť:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Možno to nebude veľmi nápadné, ale bude to trochu ťažšie čítať a pochopiť. Ak v sekcii nie je päť, ale desaťkrát viac metód uskutočnenie majú úplne iné poradie ako v popisoch tried, potom bude chaos len narastať. Preto, aj keď je to ťažké striktne dokázať a môže to byť dokonca nemožné, možno dúfať, že zavedením dodatočného poriadku sa zlepší čitateľnosť kódu. Toto dodatočné poradie je uľahčené logickým zoskupením niekoľkých metód, ktoré vykonávajú súvisiace úlohy. Každá skupina by mala mať názov, napríklad:

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

Tieto nadpisy by sa mali skopírovať na začiatok modulu a naformátovať ako obsah. V niektorých prípadoch pomerne dlhých modulov takéto obsahy poskytujú ďalšie možnosti navigácie. Podobne v dlhom tele jednej metódy, postupu alebo funkcie stojí za to najprv označiť koniec tohto tela:

end; // FormCreate

a po druhé, v rozvetvených príkazoch s programovými zátvorkami begin - end označte príkaz, na ktorý sa vzťahuje koncová zátvorka:

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

Ak chcete zvýrazniť hlavičky skupín a konce tiel metód, môžete pridať riadky, ktoré presahujú dĺžku väčšiny operátorov a pozostávajú napríklad zo znakov „=“ a „_“.
Opäť musíme urobiť rezerváciu: náš príklad je príliš jednoduchý. A keď sa kód metódy nezmestí na jednu obrazovku, môže byť ťažké porozumieť šiestim po sebe idúcim koncom na vykonanie zmien kódu. V niektorých starých kompilátoroch, napríklad Pascal 8000 pre OS IBM 360/370, bol servisný stĺpec vytlačený vľavo v zozname

B5
…
E5

To znamenalo, že uzatváracia zátvorka na riadku E5 zodpovedala otváracej zátvorke na riadku B5.

Samozrejme, štýl programovania je veľmi kontroverzná záležitosť, takže myšlienky vyjadrené v tomto dokumente by ste nemali brať ako nič iné, než len na zamyslenie. Pre dvoch pomerne skúsených programátorov, ktorí sa za dlhé roky práce vyvinuli a zvykli si na rôzne štýly, môže byť veľmi ťažké dohodnúť sa. Iná vec je pre študenta učiaceho sa programovať, ktorý si ešte nestihol nájsť svoj vlastný štýl. Myslím si, že v tomto prípade by učiteľ mal svojim žiakom sprostredkovať aspoň takú jednoduchú, no nie samozrejmú myšlienku, že úspech programu do veľkej miery závisí od štýlu, akým je napísaný jeho zdrojový kód. Študent sa nemusí držať odporúčaného štýlu, ale nech sa aspoň zamyslí nad potrebou „extra“ akcií na zlepšenie dizajnu zdrojového kódu.

Vráťme sa k nášmu základnému problému o periodickej tabuľke: ďalší vývoj sa môže uberať rôznymi smermi. Jeden z pokynov je orientačný: keď umiestnite kurzor myši na bunku tabuľky, zobrazí sa informačné okno s ďalšími informáciami o zadanom prvku. Ďalším vývojom sú filtre. Napríklad v závislosti od inštalácie bude informačné okno obsahovať iba: najdôležitejšie fyzikálne a chemické informácie, informácie o histórii objavu, informácie o rozšírení v prírode, zoznam najdôležitejších zlúčenín (ktorý obsahuje tento prvok), fyziologické vlastnosti, meno v cudzom jazyku atď. e. Keď si spomenieme na Kaverinovu „kačicu“, ktorou tento článok začína, môžeme povedať, že týmto vývojom programu získame kompletný tréningový komplex v prírodných vedách: okrem počítačovej techniky veda, fyzika a chémia - biológia, ekonomická geografia, dejiny vedy a dokonca aj cudzie jazyky.

Ale lokálna databáza nie je limitom. Program sa prirodzene pripája k internetu. Keď vyberiete prvok, aktivuje sa odkaz a v okne webového prehliadača sa otvorí článok Wikipédie o tomto prvku. Wikipedia, ako viete, nie je autoritatívnym zdrojom. Môžete nastaviť odkazy na autoritatívne zdroje, napríklad chemickú encyklopédiu, TSB, abstraktné časopisy, objednať si dopyty vo vyhľadávačoch pre tento prvok atď. To. Študenti budú schopní dokončiť jednoduché, ale zmysluplné zadania na témy DBMS a internetu.

Okrem dotazov na jednotlivý prvok môžete vytvoriť funkcionalitu, ktorá napríklad označí bunky v tabuľke, ktoré spĺňajú určité kritériá, rôznymi farbami. Napríklad kovy a nekovy. Alebo bunky, ktoré do vodných plôch vysype miestna chemická továreň.

Môžete tiež implementovať funkcie organizéra notebookov. Napríklad v tabuľke zvýraznite prvky, ktoré sú súčasťou skúšky. Potom zvýraznite prvky, ktoré študent študoval/opakoval pri príprave na skúšku.

A tu je napríklad jeden z typických problémov školskej chémie:

Dané 10 g kriedy. Koľko kyseliny chlorovodíkovej treba prijať, aby sa všetka táto krieda rozpustila?

Na vyriešenie tohto problému je potrebné zapísať si chem. reakciu a umiestnením koeficientov do nej, vypočítajte molekulové hmotnosti uhličitanu vápenatého a chlorovodíka, potom zostavte a vyriešte pomer. Kalkulačka založená na našom základnom programe dokáže počítať a riešiť. Pravda, ešte bude treba počítať s tým, že kyselinu treba brať v primeranom nadbytku a v primeranej koncentrácii, ale to je chémia, nie informatika.
Dodatok 1: Ako funguje chemická kalkulačkaAnalyzujme fungovanie kalkulačky na príklade vyššie uvedeného problému kriedy a „hodgepodge“. Začnime s reakciou:

CaC3 + 2HCl = CaCl2 + H2

Z toho vidíme, že budeme potrebovať atómové hmotnosti nasledujúcich prvkov: vápnik (Ca), uhlík (C), kyslík (O), vodík (H) a chlór (Cl). V najjednoduchšom prípade môžeme tieto váhy zapísať do jednorozmerného poľa definovaného ako

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

kde index poľa zodpovedá číslu prvku. Viac o voľnom priestore formulára tableDlg vložte dve polia. V prvom poli je na začiatku napísané: „Je dané prvé činidlo“, v druhom - „Druhé činidlo je nájsť x“. Označme polia činidlo1, činidlo2 resp. Ďalšie doplnky k programu budú zrejmé z nasledujúceho príkladu kalkulačky.

Na klávesnici počítača napíšeme: 10 g Nápis v poli činidlo1 zmeny: "Prvé činidlo sa podáva 10 g." Teraz zadáme vzorec tohto činidla a kalkulačka vypočíta a zobrazí jeho molekulovú hmotnosť, keď ju zadáte.

Kliknite na LMB na bunku tabuľky so symbolom Ca. Nápis v poli činidlo1 zmeny: "Prvé činidlo Ca 40.078 podané 10 g."

Kliknite na LMB na bunku tabuľky so symbolom C. Nápis v poli činidlo1 zmeny: "Prvé činidlo CaC 52.089 podané 10 g." Tie. Kalkulačka sčítala atómové hmotnosti vápnika a uhlíka.

Kliknite na LMB na bunku tabuľky so symbolom O. Nápis v poli činidlo1 zmeny: "Prvé činidlo CaCO 68.088 podané 10 g." Kalkulačka pripočítala k súčtu atómovú hmotnosť kyslíka.

Kliknite na LMB na bunku tabuľky so symbolom O. Nápis v poli činidlo1 zmeny: "Prvé činidlo CaCO2 84.087 podané 10 g." Kalkulačka ešte raz pripočítala k súčtu atómovú hmotnosť kyslíka.

Kliknite na LMB na bunku tabuľky so symbolom O. Nápis v poli činidlo1 zmeny: "Prvé činidlo CaCO3 100.086 podané 10 g." Kalkulačka opäť pripočítala k súčtu atómovú hmotnosť kyslíka.

Stlačte kláves Enter na klávesnici počítača. Zavedenie prvého činidla je dokončené a prepne sa do poľa činidlo2. Všimnite si, že v tomto príklade poskytujeme minimálnu verziu. Na želanie môžete jednoducho usporiadať násobiče atómov rovnakého typu, takže napríklad pri zadávaní vzorca chrómu (K2Cr2O7) nemusíte klikať sedemkrát za sebou na kyslíkový článok.

Kliknite na LMB na bunku tabuľky so symbolom H. Nápis v poli činidlo2 zmeny: "Druhé činidlo H 1.008 nájdi x."

Kliknite na LMB na bunku tabuľky so symbolom Cl. Nápis v poli činidlo2 zmeny: "Druhé činidlo HCl 36.458 nájdi x." Kalkulačka sčítala atómové hmotnosti vodíka a chlóru. Vo vyššie uvedenej reakčnej rovnici predchádza chlorovodíku koeficient 2. Preto kliknite na pole LMB činidlo2. Molekulová hmotnosť sa zdvojnásobí (pri dvojitom stlačení sa strojnásobí atď.). Nápis v poli činidlo2 zmeny: "Druhé činidlo 2HCl 72.916 nájdi x."

Stlačte kláves Enter na klávesnici počítača. Zadávanie druhého činidla je dokončené a kalkulačka nájde x z pomeru

Periodická tabuľka na školskej informatike

To sme potrebovali nájsť.

Poznámka 1. Význam výsledného podielu: pre rozpustenie 100.086 Da krieda vyžaduje 72.916 Da kyseliny a na rozpustenie 10 g kriedy potrebujete x kys.

Poznámka 2. Súbory podobných problémov:

Khomchenko I. G., Zbierka úloh a cvičení z chémie 2009 (ročníky 8-11).
Khomchenko G. P., Khomchenko I. G., Zbierka úloh z chémie pre uchádzačov o štúdium na univerzitách, 2019.

Poznámka 3. Pre zjednodušenie úlohy môžete zjednodušiť zadávanie vzorca v počiatočnej verzii a jednoducho pridať symbol prvku na koniec riadku vzorca. Potom vzorec uhličitanu vápenatého bude:
CaCOOO
Ale je nepravdepodobné, že by sa takáto nahrávka páčila učiteľovi chémie. Nie je ťažké urobiť správny záznam - na to musíte pridať pole:

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

kde index je číslo chemického prvku a hodnota tohto indexu je počet atómov (na začiatku sú všetky prvky poľa vynulované). Malo by sa brať do úvahy poradie, v ktorom sú atómy zapísané vo vzorci, ako sa používa v chémii. Napríklad O3CaC bude mať rád tiež málokto. Prenesme zodpovednosť na používateľa. Vytvorenie poľa:

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

kde zapíšeme číslo chemického prvku podľa indexu jeho výskytu vo vzorci. Pridanie atómu currNo do vzorca:

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

Zápis vzorca do riadku:

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;

Poznámka 4. Má zmysel poskytnúť možnosť alternatívneho zadávania receptúry činidla z klávesnice. V tomto prípade budete musieť implementovať jednoduchý syntaktický analyzátor.

Stojí za zmienku, že:

Dnes existuje niekoľko stoviek verzií tabuľky a vedci neustále ponúkajú nové možnosti. (Wikipedia)

Študenti môžu v tomto smere ukázať svoju vynaliezavosť realizáciou jednej z už navrhnutých možností alebo sa pokúsiť vyrobiť si vlastnú originálnu. Môže sa zdať, že toto je najmenej užitočný smer na hodinách informatiky. Vo forme periodickej tabuľky implementovanej v tomto článku však niektorí študenti nemusia vidieť konkrétne výhody ovládacích kariet oproti alternatívnemu riešeniu pomocou štandardných tlačidiel. TButton. Špirálovitý tvar stola (kde sú bunky rôznych tvarov) názornejšie ukáže výhody tu navrhovaného riešenia.

Periodická tabuľka na školskej informatike
(Alternatívny systém prvkov od Theodora Benfeyho, Zdroj)

Dodajme tiež, že množstvo v súčasnosti existujúcich počítačových programov pre periodickú tabuľku je popísaných v nedávno publikovanom na Habré článok.

Príloha 2: príklady úloh pre filtrePomocou filtrov môžete riešiť napríklad nasledujúce úlohy:

1) Vyberte v tabuľke všetky prvky známe v stredoveku.

2) Identifikujte všetky prvky známe v čase objavu periodického zákona.

3) Identifikujte sedem prvkov, ktoré alchymisti považovali za kovy.

4) Vyberte všetky prvky, ktoré sú za normálnych podmienok v plynnom stave (n.s.).

5) Vyberte všetky prvky, ktoré sú v tekutom stave na č.

6) Vyberte všetky prvky, ktoré sú v pevnom stave na č.

7) Vyberte všetky prvky, ktoré môžu byť za normálnych podmienok dlhodobo vystavené pôsobeniu vzduchu bez viditeľných zmien.

8) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline chlorovodíkovej.

9) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline sírovej pri č.

10) Vyberte všetky kovy, ktoré sa pri zahrievaní rozpúšťajú v kyseline sírovej.

11) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline dusičnej.

12) Izolujte všetky kovy, ktoré pri okolitých podmienkach prudko reagujú s vodou.

13) Vyberte všetky kovy.

14) Identifikujte prvky, ktoré sú v prírode rozšírené.

15) Identifikujte prvky, ktoré sa nachádzajú v prírode vo voľnom stave.

16) Identifikujte prvky, ktoré zohrávajú najdôležitejšiu úlohu v ľudskom a zvieracom tele.

17) Vyberte prvky, ktoré sú široko používané v každodennom živote (vo voľnej forme alebo v kombináciách).

18) Identifikujte prvky, s ktorými je práca najnebezpečnejšia a vyžadujú si špeciálne opatrenia a ochranné prostriedky.

19) Identifikujte prvky, ktoré vo voľnej forme alebo vo forme zlúčenín predstavujú najväčšiu hrozbu pre životné prostredie.

20) Vyberte drahé kovy.

21) Identifikujte prvky, ktoré sú drahšie ako drahé kovy.

poznámky

1) Má zmysel poskytnúť viacero filtrov. Ak napríklad zapnete filter na vyriešenie problému 1 (všetky prvky známe v stredoveku) a 20 (drahé kovy), bunky s drahými kovmi známymi v stredoveku sa zvýraznia (napríklad farbou) ( napríklad paládium nebude zvýraznené, otvorené v roku 1803).

2) Má zmysel zabezpečiť, aby viacero filtrov pracovalo v takom režime, že každý filter vyberie bunky s vlastnou farbou, ale úplne neodstráni výber iného filtra (časť bunky jednou farbou, časť druhou). Potom v prípade predchádzajúceho príkladu budú viditeľné prvky priesečníka súborov objavených v stredoveku a drahých kovov, ako aj prvky patriace len do prvého a iba do druhého súboru. Tie. drahé kovy neznáme v stredoveku a prvky známe v stredoveku, ale nie drahé kovy.

3) Má zmysel po aplikácii filtra zabezpečiť možnosť ďalšej práce so získanými výsledkami. Napríklad po vybratí prvkov známych v stredoveku používateľ klikne na vybraný prvok LMB a dostane sa na článok o tomto prvku na Wikipédii.

4) Má zmysel poskytnúť používateľovi možnosť zrušiť výber kliknutím na LMB na vybranú bunku tabuľky. Napríklad na odstránenie už zobrazených položiek.

5) Má zmysel zabezpečiť, aby sa zoznam vybraných buniek uložil do súboru a aby sa takýto súbor načítal s automatickým výberom buniek. Používateľ tak dostane príležitosť oddýchnuť si od práce.

Použili sme statickú, vopred určenú kontrolnú mapu, ale existuje veľa dôležitých úloh, kde je možné použiť dynamické kontrolné mapy, ktoré sa menia počas behu programu. Príkladom môže byť editor grafov, v ktorom používateľ pomocou myši označuje polohy vrcholov v okne a kreslí medzi nimi hrany. Ak chcete odstrániť vrchol alebo okraj, musí naň používateľ ukázať. Ale ak je celkom ľahké ukázať na vrchol označený krúžkom, potom bude ťažšie ukázať na hranu nakreslenú tenkou čiarou. Tu pomôže kontrolná mapa, kde vrcholy a hrany zaberajú širšie susedstvá ako na viditeľnom obrázku.

Zaujímavá vedľajšia otázka súvisiaca s touto metódou komplexného tréningu znie: môže byť táto metóda užitočná pri tréningu AI?

Zdroj: hab.com

Pridať komentár