(Riadiace karty)
(Venované Medzinárodnému roku Periodickej tabličky chemických prvkov)
(Posledné doplnenia boli vykonané 8. apríla 2019. Zoznam doplnkov je hneď pod textom)

(, )
Pamätám si, že sme sa učili o kačkách. Boli to tri hodiny: geografia, prírodoveda a slovenčina. Na hodine prírodovedy sa kačka skúmala ako kačka - aké má krídla, aké nohy, ako pláva a podobne. Na hodine geografie sa tá istá kačka skúmala ako obyvateľ zemského povrchu: bolo potrebné na mape ukázať, kde žije a kde nie. Na slovenčine nás Seraфima Petrova učila písať "k-a-čka" a čítala niečo o kačkách z Brema. Mimochodom, sledujúcými slovami nám oznamovala, že po nemecky sa kačka povie takto, a po francúzsky takto. Zdá sa, že to bolo vtedy nazývané "komplexná metóda". V podstate sa všetko učilo "mimochodom".
Veniamin Kavерин, Dva kapitáni
V citáte od Veniamina Kavерina majstrovsky vykreslil nedostatky komplexnej metódy vyučovania, avšak v niektorých (možno dosť zriedkavých) prípadoch sú prvky tejto metódy ospravedlniteľné. Jeden z takýchto prípadov je Periodická tablička D.I. Mendeléjeva na hodinách školských informatiky. Úloha programovej automatizácie typických činností s Mendeléjevovou tabuľkou je pre školákov, ktorí začínajú študovať chémiu, zreteľná a rozdeľuje sa na mnohé typické chemické úlohy. Zároveň v rámci informatiky táto úloha umožňuje jednoducho demonštrovať spôsob riadiacich kariet, ktorý možno považovať za grafické programovanie, chápané v širokom zmysle slova ako programovanie pomocou grafických prvkov.
(8. apríla 2019 boli vykonané doplnenia:
Začneme od základnej úlohy. V najjednoduchšom prípade by sa na obrazovke v okne formulára mala zobraziť Periodická tablička, kde v každej bunke bude chemický symbol prvku: H — vodík, He — hélium atď. Ak kurzor myši ukazuje na bunku, tak v špeciálnom poli na našej forme sa zobrazuje označenie prvku a jeho číslo. Ak používateľ pritom stlačí LKM, v inom poli formy sa uvedú označenie a číslo tohto vybraného prvku.

Úlohu je možné riešiť v akomkoľvek univerzálnom programovacom jazyku. Pre ilustráciu vezmeme jednoduchý starý Delphi-7, ktorý je takmer každému zrozumiteľný. Ale predtým, ako začneme programovať v programovacom jazyku, nakreslíme dve obrázky, napríklad vo Photoshope. Najprv nakreslíme Periodickú tabuľku tak, ako ju chceme vidieť v programe. Výsledok uložíme do grafického súboru. table01.bmp.

Na druhý obrázok použijeme prvý. Po jednotnom vyplnení buniek tabuľky číslami odstránime všetku grafiku a naplníme ich unikátnymi farbami v RGB farebných modeloch. R a G budú vždy 0, ale B=1 pre vodík, 2 pre hélium atď. Tento obrázok bude našou riadiacou mapou, ktorú uložíme pod názvom. table2.bmp.

Prvá etapa grafického programovania vo Photoshope je ukončená. Pozrime sa na grafické programovanie GUI v IDE Delphi-7. Na to otvoríme nový projekt, kde na hlavnú formu umiestnime tlačidlo vyvolania dialógu (tableDlg), v ktorom bude prebiehať práca s tabuľkou. Ďalej pracujeme s formou. tableDlg.
Na formu umiestnime komponent triedy TImage. Získame Image1. Všimnime si, že vo všeobecnom prípade pre veľké projekty automaticky generované názvy typu ImageN, kde N môžu dosahovať počet niekoľkých desiatok a viac — nie je to najlepší štýl programovania, a mali by sme dávať výstižnejšie názvy. Ale v našom malom projekte, kde N nepresiahne 2, môžeme nechať ako sa vygenerovalo.
Do vlastnosti Image1.Picture nahráme súbor table01.bmp. Vytvoríme Image2 a nahráme tam našu riadiacu mapu. table2.bmpPri tom súbor urobíme malý a neviditeľný pre užívateľa, ako je znázornené v ľavom dolnom rohu formy. Pridáme ďalšie ovládacie prvky, ktorých účel je zrejmý. Druhá etapa grafického programovania GUI v IDE Delphi-7 je uzavretá.

Prechádzame k tretej etape — písaniu kódu v IDE Delphi-7. Modul sa skladá z celkových piatich obslužných funkcií: vytvorenie formy (FormCreate), pohyb kurzora po Image1 (Image1MouseMove), stlačenie LMB na bunke (Image1Click) a odchod z dialógu pomocou tlačidiel OK (OKBtnClick) alebo Cancel (CancelBtnClick). Hlavičky týchto obslužných funkcií sa generujú štandardným spôsobom pomocou IDE.
Zdrojový kód modulu:
unit tabulkaUnit;
// Periodická tabuľka chemických prvkov D.I. Mendelejeva
//
// third112
// https://habr.com/ru/users/third112/
//
// Obsah
// 1) vytvorenie formulára
// 2) práca s tabuľkou: označenie a výber
// 3) odchod z dialógu
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;
const
velkost = 104; // počet prvkov
type
TtabulkaDlg = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
Image1: TImage; // tabuľka chemických prvkov
Label1: TLabel;
Image2: TImage; // ovládací panel
Label2: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject); // vytvorenie formulára
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); // označenie bunky
procedure Image1Click(Sender: TObject); // výber bunky
procedure OKBtnClick(Sender: TObject); // OK
procedure CancelBtnClick(Sender: TObject); // Zrušiť
private
{ Privatné deklarácie }
TableSymbols : array [1..velkost] of string [2]; // pole označení prvkov
public
{ Verejné deklarácie }
vybranyPrvok : string; // vybraný prvok
currNo : integer; // aktuálne číslo prvku
end;
var
tabulkaDlg: TtabulkaDlg;
implementation
{$R *.dfm}
const
PeriodicTableStr1=
'HHeLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLa';
PeriodicTableStr2='CePrNdPmSmEuGdTbDyHoErTmYbLu';
PeriodicTableStr3='HfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAc';
PeriodicTableStr4='ThPaUNpPuAmCmBkCfEsFmMdNoLrKu';
// vytvorenie formulára ==================================================
procedure TtabulkaDlg.FormCreate(Sender: TObject);
// vytvorenie formulára
var
s : string;
i,j : integer;
begin
currNo := 0;
// inicializácia poľa označení prvkov:
s := PeriodicTableStr1 + PeriodicTableStr2 + PeriodicTableStr3 + PeriodicTableStr4;
j := 1;
for i := 1 to velkost 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 ____________________________________________________
// práca s tabuľkou: označenie a výber =========================================
procedure TtabulkaDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
// označenie bunky
var
sl : integer;
begin
sl := GetBValue(Image2.Canvas.Pixels [x,y]);
if sl in [1..velkost] then
begin
Label1.Caption := intToStr (sl) + ' ' + TableSymbols [sl];
currNo := sl;
end
else
Label1.Caption := 'Vyberte prvok:';
end; // Image1MouseMove ____________________________________________________
procedure TtabulkaDlg.Image1Click(Sender: TObject);
begin
if currNo 0 then
begin
vybranyPrvok := TableSymbols [currNo];
Label2.Caption := intToStr (currNo) + ' ' + vybranyPrvok + ' vybraný';
Edit1.Text := vybranyPrvok;
end;
end; // Image1Click ____________________________________________________
// odchod z dialógu ==================================================
procedure TtabulkaDlg.OKBtnClick(Sender: TObject);
begin
vybranyPrvok := Edit1.Text;
hide;
end; // OKBtnClick ____________________________________________________
procedure TtabulkaDlg.CancelBtnClick(Sender: TObject);
begin
hide;
end; // CancelBtnClick ____________________________________________________
end.V našej verzii sme vzali tabuľku o veľkosti 104 prvkov (konštanta size). Tento rozmer môže byť očividne zvýšený. Označenia prvkov (chemické symboly) sú zapísané v poli TableSymbols. Z dôvodu kompaktnosti zdrojového kódu sa však zdá rozumné zapísať sekvenciu týchto označení vo forme reťazcových konštánt PeriodicTableStr1,…, PeriodicTableStr4, aby program pri udalosti vytvorenia formulára sám rozmiestnil tieto označenia po prvkoch poľa. Každé označenie prvku sa skladá z jednej alebo dvoch latinských písmen, pričom prvé písmeno je veľké a druhé (ak existuje) malé. Toto jednoduché pravidlo je realizované pri načítaní poľa. Týmto spôsobom sa podarí zapísať sekvenciu označení kompaktným spôsobom bez medzier. Rozdelenie sekvencie na štyri časti (konštanty PeriodicTableStr1,…, PeriodicTableStr4) je dané úvahou o pohodlí pri čítaní zdrojového kódu, pretože príliš dlhý reťazec sa nemusí zmestiť úplne na obrazovku.
Pri udalosti pohybu myši po Image1 nástroj Image1MouseMove tejto udalosti určuje hodnotu modrej složky farby pixelu riadiacej mapy Image2 pre aktuálne súradnice kurzora. Podľa konštrukcie Image2 táto hodnota zodpovedá číslu prvku, ak sa kurzor nachádza v bunke; nule, ak je na hranici, a 255 v iných prípadoch. Ostatné akcie vykonávané programom sú triviálne a nevyžadujú vysvetlenia.
Okrem vyššie uvedených stylistických prostriedkov programovania stojí za zmienku štýl komentárov. Prísne povedané, preskúmaný kód je tak malý a jednoduchý, že komentáre sa zdajú byť menej potrebné. Avšak boli pridané aj z metodických dôvodov — krátky kód umožňuje prehľadnejšie vyvodiť niektoré všeobecné závery. V predloženom kóde je deklarovaná jedna trieda (TtableDlg). Metódy tejto triedy sa dajú zameniť a to nijako neovplyvní fungovanie programu, ale môže to mať vplyv na jeho čitateľnosť. Napríklad si predstaviť sekvenciu:
OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.
Možno to nie je veľmi viditeľné, ale čítať a rozumieť tomu bude o niečo ťažšie. Ak nie je metód päť, ale o desiatky viac a v sekcii implementation Ich má in úplne iný poriadok, ako je opísané v triedach, chaos sa bude len zvyšovať. Preto, aj keď je ťažké to prísne dokázať a môže byť dokonca nemožné, môžeme dúfať, že zavedenie ďalšieho poriadku zlepší čitateľnosť kódu. Tento ďalší poriadok podporuje logické zoskupenie niekoľkých metód, ktoré vykonávajú blízke úlohy. Každej skupine by sa malo dať nadpis, napríklad:
// работа с таблицей: указание и выбор
Tieto nadpisy by sa mali skopírovať na začiatok modulu a zformátovať ako obsah. V niektorých prípadoch dlhých modulov takéto obsahy poskytujú dodatočné možnosti navigácie. Rovnako v dlhom tele jednej metódy, procedúry alebo funkcie by sa malo, po prvé, vyznačiť koniec tohto tela:
koniec; // FormCreatea, po druhé, v rozvetvených operátoroch s programovými zátvorkami begin – koniec vyznačiť operátor, ktorému sa uzatvárajúca zátvorka vzťahuje:
koniec; // ak s [j] v
koniec; // pre i := 1
koniec; // FormCreate
Na vyznačenie nadpisov skupín a koncov telies metód je možné pridať riadky prekračujúce dĺžku väčšiny operátorov a pozostávajúce, napríklad, zo znakov „=” a „_“ v príslušnom poriadku.
Opäť treba poznamenať: máme príliš jednoduchý príklad. A keď kód metódy nezapadá na jeden displej, v šiestich nasledujúcich koncoch sa môže byť ťažké sa zorientovať a zmeniť kód. V niektorých starých kompilátoroch, napríklad Pascal 8000 pre OS IBM 360/370 sa vľavo na výpočte tlačila pomocná kolónka v tvare
B5
…
E5
To znamenalo, že uzatvárajúca programová zátvorka na riadku E5 sa zhoduje s otvorenou zátvorkou na riadku B5.
Určite, štýl programovania je veľmi subjektívna otázka, preto by sa tu vyjadrené myšlienky mali vnímať len ako informačný podnet na zamyslenie. Dvom dostatočne skúseným programátorom, ktorí si počas dlhých rokov práce osvojili a zvykli na rôzne štýly, môže byť veľmi ťažké dohodnúť sa. Iná je situácia školáka, ktorý sa učí programovať a ešte nemal čas vytvoriť si vlastný štýl. Myslím, že v tomto prípade by učiteľ mal aspoň sprostredkovať svojim žiakom túto jednoduchú, no pre nich nejasnú myšlienku, že úspech programu do veľkej miery závisí od štýlu, v ktorom je napísaný jeho zdrojový kód. Žiak sa nemusí riadiť odporúčaným štýlom, ale aspoň by sa mal zamyslieť nad potrebou „zbytočných“ krokov na zlepšenie formátovania zdrojového kódu.
Vraciame sa k našej základnej úlohe týkajúcej sa Periodickej tabuľky: ďalší vývoj môže ísť rôznymi smermi. Jedným z smerov je referenčný: pri najetí kurzora myši na bunku tabulky sa otvorí informačné okno, ktoré obsahuje dodatočné informácie o danom prvku. Ďalší vývoj — filtre. Napríklad, v závislosti od nastavenia v informačnom okne budú zobrazené iba: najdôležitejšie fyzikálno-chemické údaje, informácie o histórii objavu, informácie o výskyte v prírode, zoznam najdôležitejších zlúčenín (do ktorých patrí daný prvok), fyziologické vlastnosti, názov v cudzom jazyku atď. Spomínajúc „kačicu“ Kaverina, s ktorou sa tento článok začína, môžeme povedať, že takýmto vývojom programu získame úplný vzdelávací komplex o prírodných vedách: okrem informatiky, fyziky a chémie — biológia, ekonomická geografia, história vedy a dokonca aj cudzí jazyky.
Ale lokálna databáza nie je konečná. Program sa prirodzene pripája na Internet. Pri výbere prvku sa spustí odkaz a v okne webového prehliadača sa otvorí článok Wikipédie o danom prvku. Ako je známe, Wikipedia nie je autoritatívny zdroj. Môžeme určiť odkazy na autoritatívne zdroje, napríklad chemickú encyklopédiu, BSE, referenčné časopisy, vyžadovať vyhľadávanie na daný prvok v vyhľadávačoch atď. Tým pádom budú žiaci schopní plniť jednoduché, no obsahovo bohaté úlohy na témy SÚDB a Internet.
Okrem požiadaviek na jednotlivé prvky je možné urobiť funkciu, ktorá označuje, napríklad, rôznymi farbami políčka v tabuľke, ktoré zodpovedajú určitým kritériám. Napríklad, kovy a nekovy. Alebo políčka, ktoré znečisťujú vodné zdroje miestne chemické závody.
Možno tiež implementovať funkcie zápisnej knižky-organizátora. Napríklad, zvýrazniť v tabuľke prvky, ktoré sú súčasťou skúšky. Potom zvýrazniť prvky, ktoré sa žiak naučil/opakoval pri príprave na skúšku.
A tu je napríklad jedna z typických úloh školských chémií:
Dané sú 10 g vápna. Koľko kyseliny chlorovodíkovej je potrebné, aby sa celé toto vápno rozpustilo?
Aby sme túto úlohu vyriešili, musíme zapísať chemickú reakciu a priradiť jej koeficienty, potom vypočítať molekulové hmotnosti uhličitanu vápenatého a kyseliny chlorovodíkovej, a následne zostaviť a vyriešiť pomer. Počítačka na základe našej základnej programu to zvládne. Treba však zohľadniť, že kyselinu treba vziať s primeraným prebytkom a v primeranej koncentrácii, ale to už je chémia, nie informatika.
Doplnok 1: ako funguje chemický kalkulátorPrejdeme si funkciu kalkulačky na príklade uvedenej úlohy s vápnom a „solným roztokom“. Začneme reakciou:
CaCO3 + 2HCl = CaCl2 + H2O
Odtiaľ vidíme, že budeme potrebovať atómové hmotnosti nasledujúcich prvkov: vápnika (Ca), uhlíka (C), kyslíka (O), vodíka (H) a chlóru (Cl). V najjednoduchšom prípade môžeme tieto hmotnosti zapísať do jednodimenzionálneho poľa, definovaného ako
AtomicMass : array [1..size] of real;kde index poľa zodpovedá číslu prvku. Na voľné miesto formulára tableDlg umiestnime dve polia. V prvom poli je pôvodne napísané: „Prvý reagents dané“, v druhom — „Druhý reagents nájsť x“. Označíme polia reagent1, reagent2 príslušne. Iné doplnky do programu budú jasné z nasledujúceho príkladu fungovania kalkulačky.
Na klávesnici počítača napíšeme: 10 g. Nápis v poli reagent1 sa mení: „Prvý reagents dané 10 g“. Teraz zadáme vzorec tohto reagents a kalkulačka bude počítať a ukazovať jeho molekulovú hmotnosť počas vstupu.
Klikneme LKM na políčko tabuľky so symbolom Ca. Nápis v poli reagent1 sa mení: „Prvý reagents Ca 40.078 dané 10 g“.
Klikneme LKM na políčko tabuľky so symbolom C. Nápis v poli reagent1 sa mení: „Prvý reagents CaC 52.089 dané 10 g“. T.j. kalkulačka sčítala atómové hmotnosti vápnika a uhlíka.
Kliknite LKM na bunku tabuľky so symbolom O. Nápis v poli reagent1 sa mení: „Prvý reagent CaCO 68.088 je daný 10 g“. Kalkulačka pridala k súčtu atómovú hmotnosť kyslíka.
Kliknite LKM na bunku tabuľky so symbolom O. Nápis v poli reagent1 sa mení: „Prvý reagent CaCO2 84.087 je daný 10 g“. Kalkulačka ešte raz pridala k súčtu atómovú hmotnosť kyslíka.
Kliknite LKM na bunku tabuľky so symbolom O. Nápis v poli reagent1 sa mení: „Prvý reagent CaCO3 100.086 je daný 10 g“. Kalkulačka znova pridala k súčtu atómovú hmotnosť kyslíka.
Stlačte Enter na klávesnici počítača. Zavedenie prvého reagenta je ukončené a prepína sa na pole reagent2. Poznamenajme, že v tomto príklade uvádzame minimálnu verziu. Pri želaní je možné jednoducho usporiadať násobiteľov atómov jedného typu, aby sa napríklad nemusela sedemkrát po sebe kliknúť na bunku kyslíka pri zadávaní vzorca chromanu (K2Cr2O7).
Kliknite LKM na bunku tabuľky so symbolom H. Nápis v poli reagent2 sa mení: „Druhý reagent H 1.008 nájsť x“.
Kliknite LKM na bunku tabuľky so symbolom Cl. Nápis v poli reagent2 sa mení: „Druhý reagent HCl 36.458 nájsť x“. Kalkulačka spočíta atómové hmotnosti vodíka a chlóru. V uvedenej reakčnej rovnici je pred chlorovodíkom koeficient 2. Preto kliknite LKM na pole reagent2. Molekulová hmotnosť sa zdvojnásobuje (pri dvojitom kliknutí sa ztrojnásobí atď.). Nápis v poli reagent2 sa mení: „Druhý reagent 2HCl 72.916 nájsť x“.
Stlačte Enter na klávesnici počítača. Zavedenie druhého reagenta je ukončené a kalkulačka nájde x z pomeru

Čo sa malo nájsť.
Poznámka 1. Zmysel získaného pomeru: na rozpustenie 100.086 mela je potrebných 72.916 Da kyseliny, a na rozpustenie 10 g mela je potrebné x kyseliny.
Poznámka 2. Zbierky podobných úloh:
Chomčenko I. G., Zbierka úloh a cvičení z chémie 2009 (8-11 ročník).
Chomčenko G. P., Chomčenko I. G., Zbierka úloh z chémie pre prijímacie skúšky na vysoké školy, 2019.
Poznámka 3. Na zjednodušenie úlohy je možné v počiatočnej verzii zjednodušiť zadávanie vzorca a jednoducho doplniť symbol prvku na koniec riadku vzorca. Potom vzorec uhličitanu vápenatého bude mať tvar:
CaCOOO
Ale taký zápis zrejme nebude vyhovovať učiteľovi chémie. Správny zápis nie je ťažké vytvoriť — na to je potrebné pridať pole:
formula : array [1..size] of integer;kde index – číslo chemického prvku a hodnota na tomto indexe – počet atómov (pôvodne sú všetky prvky poľa nulové). Je potrebné zohľadniť poradie zápisu atómov v vzorci, ktoré je v chémii akceptované. Napríklad, O3CaC tiež málokomu vyhovuje. Prenesme zodpovednosť na používateľa. Vytvoríme pole:
formulaOrder : array [1..size] of integer; // môže byť aj kratšiekam zapisujeme číslo chemického prvku podľa indexu jeho výskytu vo vzorci. Pridanie atómu currNo do vzorca:
if formula [currNo]=0 then // tento atóm sa objavil prvýkrát
begin
orderIndex := orderIndex+1; // na začiatku zadávania vzorca orderIndex=0
formulaOrder [orderIndex] := currNo;
end;
formula [currNo]:=formula [currNo]+1;Zápis vzorca do reťazca:
s := ''; // prázdny reťazec pre vzorec
for i:=1 to orderIndex do // pre všetky chemické symboly vo vzorci
begin
s:=s+TableSymbols [ formulaOrder[i]]; // pridáva chemický symbol
if formula [formulaOrder[i]]1 then // pridáva počet atómov
s:=s+ intToStr(formula [formulaOrder[i]]);
end;
Poznámka 4. Má zmysel zabezpečiť možnosť alternatívneho zadania vzorca reagenta z klávesnice. V tomto prípade bude potrebné implementovať jednoduchý syntaktický analyzátor.
Stojí za zmienku, že:
Dnes existuje niekoľko stoviek variantov tabuľky, pričom vedci navrhujú stále nové varianty. ()
Žiaci môžu preukázať dôvtip aj v tomto smere, realizujúc niektorý z už navrhnutých variantov alebo sa pokúsiť vytvoriť svoj originálny. Môže sa zdať, že toto je najmenej užitočná smer pre hodiny informatiky. Avšak v realizovanej v tomto článku forme Periodickej tabuľky niektorí žiaci možno nezbadali osobitné výhody riadiacich kariet pred alternatívnym riešením pomocou štandardných tlačidiel TButton. Špirálová forma tabuľky (kde sú bunky rôznych tvarov) názorne predvedie výhody navrhovaného tu riešenia.

(, )
Pridáme tiež, že o rade existujúcich počítačových programov pre Periodickú tabuľku bolo povedané v nedávno publikovanej správe na Habre .
Doplnok 2: príklady úloh pre filtreS pomocou filtrov môžeme riešiť napríklad takéto úlohy:
1) Vybrať v tabuľke všetky prvky známe v stredoveku.
2) Vybrať všetky prvky známe v čase objavenia Periodického zákona.
3) Vyberte sedem prvkov, ktoré alchymisti považovali za kovy.
4) Vyberte všetky prvky, ktoré sú v plynnom stave pri normálnych podmienkach (n.p.).
5) Vyberte všetky prvky, ktoré sú v kvapalnom stave pri n.p.
6) Vyberte všetky prvky, ktoré sú v pevném stave pri n.p.
7) Vyberte všetky prvky, ktoré môžu dlhú dobu existovať na vzduchu bez zjavnej zmeny pri n.p.
8) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline soľnej.
9) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline sírovej pri n.p.
10) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline sírovej pri zahriatí.
11) Vyberte všetky kovy, ktoré sa rozpúšťajú v kyseline dusičnej.
12) Vyberte všetky kovy, ktoré prudko reagujú s vodou pri n.p.
13) Vyberte všetky kovy.
14) Vyberte prvky, ktoré sú vo voľnej prírode hojné.
15) Vyberte prvky, ktoré sa v prírode vyskytujú vo voľnom stave.
16) Vyberte prvky, ktoré zohrávajú veľmi dôležitú úlohu v organizmoch ľudí a zvierat.
17) Vyberte prvky, ktoré sa široko používajú v domácnosti (vo voľnej forme alebo v zlúčeninách).
18) Vyberte prvky, ktorých práca je najnebezpečnejšia a vyžaduje špeciálne opatrenia a ochranné prostriedky.
19) Vyberte prvky, ktoré vo voľnej forme alebo vo forme zlúčenín predstavujú najväčšie nebezpečenstvo pre životné prostredie.
20) Vyberte drahé kovy.
21) Vyberte prvky, ktoré sú drahšie ako drahé kovy.
Poznámky
1) Má zmysel zabezpečiť prevádzku viacerých filtrov. Napríklad, ak zapneme filter na riešenie úlohy 1 (všetky prvky známe v stredoveku) a 20 (drahé kovy), budú vybrané (napríklad farbou) bunky s drahými kovmi známe v stredoveku (napríklad palládium, objavené v roku 1803, nebude vybrané).
2) Má zmysel zabezpečiť funkciu viacerých filtrov tak, aby každý filter zvýrazňoval bunky svojou farbou, ale úplne neodstránil zvýraznenie iného filtra (časť bunky jednou farbou, časť druhou). Potom v prípade predchádzajúceho príkladu budú viditeľné prvky prieniku množín, ktoré sa používali v stredoveku a drahých kovov, ako aj prvky patriace iba prvej a iba druhej množine. T.j. drahé kovy, ktoré neboli známe v stredoveku, a prvky, ktoré sú známe v stredoveku, ale nie sú drahými kovmi.
3) Má zmysel po aplikácii filtra zabezpečiť možnosť iných prác s dosiahnutými výsledkami. Napríklad, keď používateľ vyberie prvky známe v stredoveku, klikne LKM na vybraný prvok a dostane sa na článok Wikipédie o tomto prvku.
4) Má zmysel umožniť používateľovi odstrániť zvýraznenie kliknutím LKM na zvýraznenú bunku tabuľky. Napríklad, aby odstránil už prezerané prvky.
5) Má zmysel zabezpečiť ukladanie zoznamu zvýraznených buniek do súboru a načítanie tohto súboru s automatickým zvýraznením buniek. To dá používateľovi možnosť dať si prestávku v práci.
Použili sme statickú vopred určenú riadiacu mapu, avšak existuje mnoho dôležitých úloh, kde sa môžu používať dynamické riadiace mapy, ktoré sa menia počas prevádzky programu. Príkladom môže byť editor grafov, v ktorom používateľ pomocou myši určuje umiestnenie vrcholov v okne a kreslí hrany medzi nimi. Aby odstránil vrchol alebo hranu, musí na ňu upozorniť. Ale ak je vrchol, označený kruhom, ľahko viditeľný, na hranu, nakreslenú tenkou líniou, je ťažšie upozorniť. Tu pomôže riadiaca mapa, kde vrcholy a hrany zaberajú širšie okolie, ako je na viditeľnom obrázku.
Z dotknutou metódou komplexného učenia súvisí zaujímavá vedľajšia otázka: môže byť táto metóda prospešná pri učení AI?
Zdroj: habr.com
