Periodični sistem na šolski informatiki

(Upravljanje karticami)
(Posvečeno Međunarodnoj godini Periodičnog sustava kemijskih elemenata)
(Posljednji dodaci napravljeni 8. travnja 2019. Popis dodataka odmah ispod)

Periodični sistem na šolski informatiki
(Mendelejev cvijet, Source)

Sjećam se, prolazili smo kroz patku. To su bila tri odjednom: geografija, prirodoslovlje i hrvatski. Na času prirodoslovlja učila se patka kao patka: kakva su joj krila, kakve su joj šapice, kako pliva i tako dalje. Na geografiji se ta ista patka proučavala kao stanovnik Zemlje: trebalo je na karti pokazati gdje živi i gdje je nema. Na hrvatskom je učiteljica Serafima učila nas da pišemo "p-a-t-k-a" i čitala nešto o patkama iz Brema. Usput je spomenula da se na njemačkom patka zove ovako, a na francuskom onako. Čini se, to se tada zvalo "kompleksna metoda". Ukratko, sve je to išlo "usput".

Veniamin Kaverin, Dva kapitana

U citatu Veniamina Kaverina majstorski su prikazane mane kompleksne metode podučavanja, no u nekim (možda prilično rijetkim) slučajevima elementi te metode mogu biti opravdani. Jedan od takvih slučajeva je Periodični sustav D.I. Mendeljejeva na satovima školske informatike. Zadatak programske automatizacije tipičnih radnji s Mendeljejevom tablicom je očit za učenike koji su započeli s učenjem kemije i razbija se na mnoge tipične kemijske zadatke. U isto vrijeme, unutar informatike, taj zadatak omogućava jednostavno demonstriranje načina upravljačkih kartica, koji se može smatrati grafičkim programiranjem, shvaćenim u širokom smislu riječi kao programiranje pomoću grafičkih elemenata.

(8. travnja 2019. dodani su dodaci:
Dodatak 1: kako radi kemijski kalkulator
Dodatak 2: primjeri zadataka za filtere)

Počnimo s osnovnim zadatkom. U najjednostavnijem slučaju, na ekranu u prozoru forme treba se prikazati Periodični sustav, gdje će svaka ćelija sadržavati kemijski simbol elementa: H — vodik, He — helij itd. Ako pokazivač miša bude na ćeliji, u posebnom polju na našoj formi prikazat će se simbol elementa i njegov broj. Ako korisnik pritom klikne lijevom tipkom miša, u drugom polju forme bit će navedeni simbol i broj odabranog elementa.

Periodični sistem na šolski informatiki

Nalogo lahko rešujemo v kateremkoli univerzalnem programskem jeziku. Uporabili bomo preprost stari Delphi-7, ki je razumljiv skoraj vsakomur. Preden začnemo programirati v JAh, narišimo dve sliki, na primer v Photoshopu. Najprej bomo narisali periodni sistem v obliki, kot jo želimo videti v programu. Shranimo rezultat v grafični datoteki. table01.bmp.

Periodični sistem na šolski informatiki

Za drugo sliko uporabimo prvo. Počasi bomo barvali očiščene celice tabele z edinstvenimi barvami v barvnem modelu RGB. R in G bosta vedno 0, B=1 za vodik, 2 za helium itd. Ta slika bo naša kontrolna karta, ki jo shranimo v datoteko pod imenom. table2.bmp.

Periodični sistem na šolski informatiki

Prva faza grafičnega programiranja v Photoshopu je končana. Preidimo na grafično programiranje GUI v IDE Delphi-7. Odprejemo nov projekt, kjer na glavno obliko postavimo gumb za odprtje pogovora (tableDlg), v katerem bomo delali s tabelo. Nato delamo z obliko. tableDlg.

Na obliko postavimo komponento razreda TImage. Dobimo Image1. Opozarjamo, da je v splošnem primeru za velike projekte samodejno generirana imena, kot so ImageN, gde N , lahko dosežejo desetine in več — kar ni najboljši slog programiranja in je priporočljivo dati bolj smiselna imena. Vendar v našem malem projektu, kjer N ne bo preseglo 2, lahko pustimo tako, kot je bilo generirano.

V lastnost Image1.Picture naložimo datoteko table01.bmp. Ustvarimo Image2 in tja naložimo našo kontrolno karto. table2.bmpOb tem pa datoteko naredimo majhno in nevidno za uporabnika, kot je prikazano v levem spodnjem kotu oblike. Dodamo dodatne kontrolne elemente, katerih namen je očiten. Druga faza grafičnega programiranja GUI v IDE Delphi-7 je končana.

Periodični sistem na šolski informatiki

Preidimo na tretjo fazo — pisanje kode v IDE Delphi-7. Modul sestoji iz petih obdelovalcev dogodkov: ustvarjanje oblike (FormCreate), premikanje kurzorja po Image1 (Image1MouseMove), klik z levo miško na celico (Image1Click) in izhod iz pogovora s pomočjo gumbov OK (OKBtnClick) ali Prekliči (CancelBtnClick). Naslovi teh obdelovalcev so generirani na standarden način s pomočjo IDE.

Izvorna koda modula:

unit tableUnit;
// Periodična tabela hemijskih elemenata D.I. Mendeljeva
//
// third112
// https://habr.com/ru/users/third112/
//
// Sadržaj
// 1) kreiranje forme
// 2) rad sa tabelom: označavanje i izbor
// 3) izlaz iz dijaloga

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls;

const
 size = 104; // broj elemenata
 
type
 TtableDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    Image1: TImage;  // tabela hemijskih elemenata
    Label1: TLabel;
    Image2: TImage;  // upravljačka karta
    Label2: TLabel;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject); // kreiranje forme
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);                        // označavanje ćelije
    procedure Image1Click(Sender: TObject); // izbor ćelije
    procedure OKBtnClick(Sender: TObject);  // OK
    procedure CancelBtnClick(Sender: TObject); // Otkaži
  private
    { Privatne deklaracije }
    TableSymbols : array [1..size] of string [2]; // niz oznaka elemenata
  public
    { Javne deklaracije }
    selectedElement : string; // izabrani element
    currNo : integer;         // trenutni broj elementa
  end;

var
  tableDlg: TtableDlg;

implementation

{$R *.dfm}

const
PeriodicTableStr1=
'HHeLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLa';
PeriodicTableStr2='CePrNdPmSmEuGdTbDyHoErTmYbLu';
PeriodicTableStr3='HfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAc';
PeriodicTableStr4='ThPaUNpPuAmCmBkCfEsFmMdNoLrKu ';

// kreiranje forme  ==================================================

procedure TtableDlg.FormCreate(Sender: TObject);
// kreiranje forme
var
  s : string;
  i,j : integer;
begin
  currNo := 0;
// inicijalizacija niza oznaka elemenata:
  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 ____________________________________________________

// rad sa tabelom: označavanje i izbor =========================================

procedure TtableDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
// označavanje ćelije
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 := 'Odaberite element:';
end; // Image1MouseMove   ____________________________________________________

procedure TtableDlg.Image1Click(Sender: TObject);
begin
  if currNo  0 then
   begin
    selectedElement := TableSymbols[currNo];
    Label2.Caption := intToStr(currNo) + ' ' + selectedElement + ' izabran';
    Edit1.Text := selectedElement;
   end;
end; // Image1Click  ____________________________________________________

// izlaz iz dijaloga  ==================================================

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 velikosti 104 elementov (konstanta size). Očitno je, da lahko to velikost povečamo. Označbe elementov (kemijski simboli) so zapisane v niz TableSymbols. Vendar pa se z vidika kompaktne kode zdi smiselno zapisati zaporedje teh označb kot niza konstant PeriodicTableStr1,…, PeriodicTableStr4, tako da ob dogodku ustvarjanja obrazca program sam razporedi te označbe po elementih niza. Vsaka označba elementa se sestavlja iz ene ali dveh latinskih črk, pri čemer je prva črka velika, druga (če obstaja) pa mala. To enostavno pravilo se izvede pri nalaganju niza. Tako je možno zaporedje označb zapisati v skrajšani obliki brez presledkov. Razdelitev zaporedja na štiri dele (konstante PeriodicTableStr1,…, PeriodicTableStr4) je posledica praktičnosti branja izvorne kode, saj predolga vrstica morda ne bo popolnoma vidna na zaslonu.

Ob dogodku premikanja kazalca miške po Image1 obdelovalec Image1MouseMove tega dogodka določa vrednost modre komponente barve piksla upravljalne karte Image2 za trenutne koordinate kazalca. Po zgradbi Image2 je ta vrednost enaka številu elementa, če je kazalec znotraj celice; nič, če je na meji, in 255 v drugih primerih. Preostali postopki, ki jih izvaja program, so trivialni in ne zahtevajo pojasnil.

Poleg zgoraj omenjenih stilskih prijemov pri programiranju je treba opozoriti na slog komentarjev. Strogo gledano, obravnavana koda je tako majhna in preprosta, da komentarji ne izgledajo posebej potrebni. Vendar so bili dodani tudi zaradi metodoloških razlogov - kratka koda omogoča jasnejše nekatere splošne sklepe. V predstavljeni kodi je deklariran razred (TtableDlg). Metode tega razreda je mogoče zamenjati in to ne bo vplivalo na delovanje programa, lahko pa vpliva na njegovo berljivost. Na primer, predstavljamo si zaporedje:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Morda ni zelo opazno, a branje in razumevanje bo postalo nekoliko težje. Če metod ni pet, temveč desetkrat več in v sekciji implementation Oni imajo popolnoma drugačen red, kot je opisano v razredih, zato se bo kaos le še povečeval. Zato, čeprav je težko in morda celo nemogoče strogo dokazati, lahko upamo, da bo dodajanje dodatnega reda izboljšalo berljivost kode. Temu dodatnemu redu pripomore logična grupacija več metod, ki izvajajo podobne naloge. Vsaki skupini je smiselno dati naslov, na primer:

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

Te naslove je smiselno kopirati na začetek modula in jih oblikovati kot vsebino. V nekaterih primerih, ko so moduli dovolj dolgi, ta vsebina ponuja dodatne možnosti navigacije. Podobno v dolgem telesu ene metode, procedure ali funkcije je najprej smiselno označiti konec tega telesa:

end; // FormCreate

in drugič, pri razvejanih operatorjih s programskimi oklepaji begin – end označiti operator, na katerega se nanaša zaklepni oklepaj:

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

Za poudarjanje naslovov skupin in koncev teles metod lahko dodamo vrstice, ki presegajo dolžino večine operatorjev in so sestavljene, na primer, iz simbolov ‚=‘ in ‚_‘.
Spet je treba poudariti: imamo preveč preprost primer. Če koda metode ne spravi na en ekran, je v šestih zaporednih end-ih težko razumeti, da bi izvedli spremembe na kodi. V nekaterih starih prevajalnikih, na primer, Pascal 8000 za OS IBM 360/370 je na levem seznamu tiskala pomožna kolona v obliki

B5
…
E5

To je pomenilo, da se zaklepni programski oklepaj na vrsti E5 ujema z odpirajočim oklepajem na vrsti B5.

Seveda, stil programiranja je zelo ambivalentno vprašanje, zato je ideje, predstavljene tukaj, treba obravnavati le kot informacije za razmislek. Dva izkušena programerja, ki sta skozi leta dela razvila in se navadila na različne sloge, sta lahko zelo težko dogovorita. Drugače je pri učencu, ki se šele uči programirati, in ki še ni imel časa razviti svojega lastnega sloga. Mislim, da bi moral učitelj v tem primeru vsaj predati svojim učencem preprosto, a ne očitno misel, da je uspeh programa v veliki meri odvisen od sloga, v katerem je napisan njegov izvorni koda. Učenec morda ne bo sledil priporočlemu slogu, a naj se vsaj zamisli o nujnosti „odvečnih“ dejanj za izboljšanje oblikovanja izvornega kode.

Vrnimo se k naši osnovni nalogi o Periodični tabeli: nadaljnji razvoj lahko poteka v različnih smereh. Ena od smeri je informativna: ob premiku miške nad celico tabele se odpre informacijsko okno, ki vsebuje dodatne podatke o navedenem elementu. Nadaljnji razvoj vključuje filtre. Na primer, v odvisnosti od nastavitev v informativnem oknu bodo prikazani samo: najpomembnejši fizikalno-kemijski podatki, informacije o zgodovini odkritja, informacije o razširjenosti v naravi, seznam najpomembnejših spojin (v katere ta element vstopa), fiziološke lastnosti, ime v tujem jeziku itd. Spomnimo se „račke“ Kaverina, s katero se ta članek začne, lahko rečemo, da bomo s takim razvojem programa dobili popoln učni kompleks o naravoslovnih vedah: poleg informatike, fizike in kemije — biologija, ekonomska geografija, zgodovina znanosti in celo tuji jeziki.

A lokalna baza podatkov ni meja. Program se naravno poveže z Internetom. Ob izbiri elementa se sproži povezava, in v oknu spletnega brskalnika se odpre članek Wikipedije o tem elementu. Kot je znano, Wikipedija ni avtoritativni vir. Lahko so navedene povezave na avtoritativne vire, na primer kemijska enciklopedija, BSE, referenčni časopisi, lahko so izvedene poizvedbe v iskalnikih o tem elementu itd. Tako bodo učenci lahko izvajali preproste, a vsebinske naloge na teme SDB in Internet.

Poleg zaprosov po ločenem elementu je mogoče ustvariti funkcionalnost, ki na primer označuje celice v tabeli z različnimi barvami, ki ustrezajo določenim kriterijem. Na primer, kovine in nekovine. Ali celice, ki jih izpusti lokalna kemična tovarna v vodotoke.

Prav tako je mogoče uresničiti funkcije beležnice-organizatorja. Na primer, označiti v tabeli elemente, ki so vključeni v izpit. Kasneje izpostaviti elemente, ki jih je učenec preučil/pregledal pri pripravi na izpit.

Tukaj je na primer ena od tipičnih nalog šolske kemije:

Danih je 10 g apna. Koliko klorovodika je potrebno, da raztopimo vse to apno?

Za rešitev te naloge je potrebno najprej zapisati kemijsko reakcijo in določiti koeficiente, nato izračunati molekulske mase kalcijevega karbonata in klorovodikove kisline, ter sestaviti in rešiti proporcijo. Izračunati in rešiti bo lahko kalkulator, ki temelji na naši osnovni programski opremi. Vendar pa je potrebno upoštevati, da je treba kisline vzeti z razumnim viška in v razumni koncentraciji, vendar je to že kemija, ne informatika.
Dodatak 1: kako radi kemijski kalkulatorOglejmo si delovanje kalkulatorja na primeru zgoraj navedene naloge z apnom in 'soljo'. Začeli bomo z reakcijo:

CaCO3 + 2HCl = CaCl2 + H2O

Od tod vidimo, da bomo potrebovali atomskim mase naslednjih elementov: kalcija (Ca), ogljika (C), kisika (O), vodika (H) in klora (Cl). V najpreprostejši obliki lahko zapišemo te mase v enodimenzionalni tabeli, opredeljeni kot

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

kjer indeks tabele ustreza številu elementa. Še na prostem mestu obrazca tableDlg postavimo dve polji. V prvem polju je sprva napisano: 'Prvi reagent dano', v drugem - 'Drugi reagent najti x'. Označimo polja reagent1, reagent2 ustrezno. Druge dopolnitve v program bodo jasne iz naslednjega primera delovanja kalkulatorja.

Na tipkovnici računalnika vpišemo: 10 g. Napis v polju reagent1 se spremeni: 'Prvi reagent dano 10 g'. Zdaj vpišemo formulo tega reagenta, kalkulator pa bo med vnosom izračunaval in prikazoval njegovo molekulsko maso.

Kliknemo z левым нажатие мыши на клетку таблицы с символом Ca. Нoverdin v polju reagent1 se spremeni: 'Prvi reagent Ca 40.078 dano 10 g'.

Kliknemo z левым нажатие мыши на клетку таблицы с символом C. Нoverdin v polju reagent1 se spremeni: 'Prvi reagent CaC 52.089 dano 10 g'. T.j., kalkulator je sešteval atomskih mase kalcija in ogljika.

Kliknite LKM na ćeliju tabele sa simbolom O. Natpis u polju reagent1 se menja: “Prvi reagens CaCO 68.088 dato 10 g”. K calculator je dodao atomsku težinu kiseonika u zbir.

Kliknite LKM na ćeliju tabele sa simbolom O. Natpis u polju reagent1 se menja: “Prvi reagens CaCO2 84.087 dato 10 g”. K calculator je ponovo dodao atomsku težinu kiseonika u zbir.

Kliknite LKM na ćeliju tabele sa simbolom O. Natpis u polju reagent1 se menja: “Prvi reagens CaCO3 100.086 dato 10 g”. K calculator je ponovo dodao atomsku težinu kiseonika u zbir.

Pritiskamo Enter na tastaturi. Unos prvog reagensa je završen i prelazi na polje reagent2. Napominjemo da u ovom primeru dajemo minimalnu verziju. Po želji, možete lako organizovati multiplikatore atoma jednog tipa, kako ne biste, na primer, sedam puta zaredom pritiskali na ćeliju kiseonika prilikom unosa formule hrompika (K2Cr2O7).

Kliknite LKM na ćeliju tabele sa simbolom H. Natpis u polju reagent2 se menja: “Drugi reagens H 1.008 da nađemo x”.

Kliknite LKM na ćeliju tabele sa simbolom Cl. Natpis u polju reagent2 se menja: “Drugi reagens HCl 36.458 da nađemo x”. K calculator je sabrao atomske težine vodonika i hlora. U datoj hemijskoj jednačini ispred hlorovodika stoji koeficijent 2. Zato kliknite LKM na polje reagent2. Molekulska težina se udvostručuje (pritiskom dva puta se utrostručuje itd.). Natpis u polju reagent2 se menja: “Drugi reagens 2HCl 72.916 da nađemo x”.

Pritiskamo Enter na tastaturi. Unos drugog reagensa je završen, a calculator pronalazi x iz proporcije

Periodični sistem na šolski informatiki

Što je trebalo da se nađe.

Napomena 1. Značenje dobijene proporcije: za rastvaranje 100.086 Da kreča je potrebno 72.916 Da kiseline, a za rastvaranje 10 g kreča potrebno je x kiseline.

Opomba 2. Zbirke sličnih zadataka:

Homčenko I. G., Zbirka zadataka i vežbi iz hemije 2009. (8-11 razred).
Homčenko G. P., Homčenko I. G., Zbirka zadataka iz hemije za upis u visoke škole, 2019.

Opomba 3. Da biste pojednostavili zadatak, u osnovnoj verziji možete pojednostaviti unos formule i jednostavno dopisivati simbol elementa na kraj niza formule. Tada će formula kalcijum karbonata biti u obliku:
CaCOOO
Ali takav zapis verovatno neće biti po volji učitelju hemije. Ispravno zapisivanje nije teško — za to je potrebno dodati niz:

formula : niz [1..size] celih brojeva;

kjer indeks je številka kemijskega elementa, vrednost na tej indeksni položaj pa število atomov (sprva so vsi elementi matrice nastavljeni na nič). Upoštevati je treba vrstni red zapisa atomov v formuli, kot je sprejeto v kemiji. Na primer, O3CaC prav tako ne bo prav veliko pritegnil. Prevzemimo odgovornost uporabnika. Ustvarimo matrico:

 formulaOrder : array [1..size] of integer; // lahko bo krajša

kam zapisujemo številko kemijskega elementa glede na njegov indeks v formuli. Dodajanje atoma currNo v formulo:

if formula [currNo]=0 then // ta atom se srečuje prvič
 begin
 orderIndex := orderIndex+1; // ob začetku vnosa formule je orderIndex=0
 formulaOrder [orderIndex] := currNo;
 end;
formula [currNo]:=formula [currNo]+1;

Zapis formule v niz:

s := ''; // prazen niz za formulo
for i:=1 to orderIndex do // za vse kemijske simbole v formuli 
 begin
 s:=s+TableSymbols [ formulaOrder[i]]; // dodajamo kemijski simbol
 if formula [formulaOrder[i]]1 then // dodajamo število atomov
  s:=s+ intToStr(formula [formulaOrder[i]]);
 end;

Opomba 4. Smiselno je omogočiti alternativni vnos formule reagenta s tipkovnico. V tem primeru bo potrebno uresničiti preprost sintaktični analizator.

Treba je opozoriti, da:

Danes obstaja več sto različic mize, pri čemer znanstveniki predlagajo vedno nove različice. (KB podjetja Fortinet)

Učenci lahko pokažejo domišljijo tudi v tej smeri, realizirajoč katero od že predlaganih različic ali poskusijo ustvariti svojo izvirno. Zdi se lahko, da je to najmanj koristna usmeritev za ure informatike. Vendar pa lahko nekateri učenci v uresničeni obliki Periodične tabele v tem članku ne opazijo posebnih prednosti upravljavskih kart v primerjavi z alternativno rešitvijo s standardnimi gumbi. TButton. Spiralna oblika tabele (kjer so celice raznih oblik) bo nazorno pokazala prednosti predlaganega rešenja tukaj.

Periodični sistem na šolski informatiki
(Alternativni sistem elementov Teodora Benfeja, Source)

Prav tako dodajamo, da je o številnih obstoječih računalniških programih za Periodično tabelo nedavno objavljeno na Habr članku.

Dopolnilo 2: primeri nalog za filtreS pomočjo filtrov lahko rešujemo, na primer, take naloge:

1) Izdvojiti v tabeli vse elemente, znane v srednjem veku.

2) Izdvojiti vse elemente, znane do odkritja Periodičnega zakona.

3) Izolirajte sedem elementov, ki so jih alkimisti šteli za metale.

4) Izolirajte vse elemente, ki so v plinastem stanju pri normalnih pogojih (n.p.).

5) Izolirajte vse elemente, ki so v tekočem stanju pri n.p.

6) Izolirajte vse elemente, ki so v trdem stanju pri n.p.

7) Izolirajte vse elemente, ki lahko dolgo časa ostanejo na zraku brez opaznih sprememb pri n.p.

8) Izolirajte vse kovine, ki se raztopijo v klorovodikovi kislini.

9) Izolirajte vse kovine, ki se raztopijo v žveplovi kislini pri n.p.

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

11) Izolirajte vse kovine, ki se raztopijo v dušikovi kislini.

12) Izolirajte vse kovine, ki violently react with water at n.p.

13) Izolirajte vse kovine.

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

15) Izolirajte elemente, ki se v naravi pojavljajo v prosti obliki.

16) Izolirajte elemente, ki igrajo najpomembnejšo vlogo v organizmu človeka in živali.

17) Izolirajte elemente, ki se široko uporabljajo v gospodinjstvu (v prosti obliki ali v spojinah).

18) Izolirajte elemente, katerih delo je najbolj nevarno in zahteva posebne ukrepe in zaščitna sredstva.

19) Izolirajte elemente, ki v prosti obliki ali v obliki spojin predstavljajo največjo grožnjo za ekologijo.

20) Izolirajte plemenite kovine.

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

Opombe

1) Ima smisel omogočiti delovanje več filtrov. Na primer, če vključite filter za rešitev naloge 1 (vse elemente, znane v srednjem veku) in 20 (plemenite kovine), bodo označene (na primer, z barvo) celice s plemenitimi kovinami, znanimi v srednjem veku (na primer, paladij, odkrit leta 1803, ne bo označen).

2) Smiselno je omogočiti delovanje več filtrov na način, da vsak filter označuje celice s svojo barvo, vendar ne odstrani popolnoma označbe drugega filtra (del celice eno barvo, del drugo). Tako bodo v primeru prejšnjega primera vidni elementi preseka množic, odkritih v srednjem veku, in dragih kovin, pa tudi elementi, ki pripadajo samo prvi in samo drugi množici. T.j. drage kovine, ki so bile v srednjem veku neznane, in elementi, znani v srednjem veku, vendar niso drage kovine.

3) Smiselno je po uporabi filtra omogočiti druge dejavnosti z dobljenimi rezultati. Na primer, ko uporabnik označi elemente, znane v srednjem veku, in s klikom z levo miško na označen element preide na članek Wikipedije o tem elementu.

4) Smiselno je omogočiti uporabniku, da odstrani označitev s klikom z levo miško na označeno celico tabele. Na primer, da odstrani že ogledane elemente.

5) Smiselno je omogočiti shranjevanje seznama označenih celic v datoteko in nalaganje te datoteke z avtomatskim označevanjem celic. To bo uporabniku omogočilo, da si vzame odmor pri delu.

Uporabili smo statično vnaprej določeno kontrolno karto, vendar obstaja veliko pomembnih nalog, kjer lahko uporabimo dinamične kontrolne karte, ki se spreminjajo med delovanjem programa. Primer je urejevalnik grafov, kjer uporabnik z miško označi položaje vozlišč v oknu in riše robove med njimi. Da izbriše vozlišče ali rob, mora uporabnik pokazati nanj. Če je dovolj preprosto pokazati na vozlišče, označeno s krogom, pa je težje pokazati na rob, narisan s tanko črto. Tu bo pomagala kontrolna karta, kjer imajo vozlišča in robovi širše območje, kot je vidno na risbi.

Z obravnavano metodo kompleksnega učenja je povezan zanimiv stranski vprašanje: ali bi lahko bila ta metoda koristna pri učenju AI?

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster