Periodisk system om skoledatalogi

(Kontrolkort)
(Dedikeret til det internationale år for det periodiske system for kemiske grundstoffer)
(De seneste tilføjelser er foretaget den 8. april 2019. Listen over tilføjelser er umiddelbart under snittet)

Periodisk system om skoledatalogi
(Mendeleevs blomst, Kilde)

Jeg kan huske, at vi passerede anden. Det var tre lektioner på én gang: geografi, naturvidenskab og russisk. I en naturfagslektion blev en and studeret som en and, hvilke vinger den har, hvilke ben den har, hvordan den svømmer og så videre. I en geografilektion blev den samme and studeret som indbygger på kloden: det var nødvendigt at vise på et kort, hvor den bor, og hvor den ikke gør. På russisk lærte Serafima Petrovna os at skrive "u-t-k-a" og læse noget om ænder fra Brem. I forbifarten fortalte hun os, at på tysk er and sådan her, og på fransk sådan. Jeg tror, ​​det blev kaldt den "komplekse metode" dengang. Generelt kom alt "i forbifarten".

Veniamin Kaverin, To kaptajner

I ovenstående citat viste Veniamin Kaverin mesterligt manglerne ved den komplekse undervisningsmetode, men i nogle (måske ret sjældne) tilfælde er elementer af denne metode berettiget. Et sådant tilfælde er D.I. Mendeleevs periodiske system i skoletimer i datalogi. Opgaven med softwareautomatisering af typiske handlinger med det periodiske system er klar for skolebørn, der er begyndt at studere kemi, og er opdelt i mange typiske kemiske opgaver. Samtidig giver denne opgave os inden for rammerne af datalogi mulighed for i en enkel form at demonstrere metoden til kontrolkort, som kan henføres til grafisk programmering, forstået i ordets brede forstand som programmering ved hjælp af grafiske elementer.

(8. april 2019 tilføjelser:
Tillæg 1: Sådan fungerer kemiberegneren
Bilag 2: eksempler på opgaver til filtre)

Lad os starte med den grundlæggende opgave. I det enkleste tilfælde skal det periodiske system vises på skærmen i en vinduesform, hvor der i hver celle vil være en kemisk betegnelse af grundstoffet: H - brint, He - helium osv. Hvis musemarkøren peger på en celle, vises betegnelsen af ​​elementet og dets nummer i et særligt felt på vores formular. Hvis brugeren trykker på LMB, vil betegnelsen og nummeret på dette valgte element blive angivet i et andet felt i formularen.

Periodisk system om skoledatalogi

Problemet kan løses ved hjælp af ethvert universelt sprog. Vi tager den simple gamle Delpi-7, som er forståelig for næsten alle. Men før programmering i PL, lad os tegne to billeder, for eksempel i Photoshop. Lad os først tegne det periodiske system i den form, vi ønsker at se det i programmet. Gem resultatet i en grafisk fil table01.bmp.

Periodisk system om skoledatalogi

Til den anden tegning bruger vi den første. Vi vil sekventielt udfylde tabelcellerne, ryddet for al grafik, med unikke farver i RGB-farvemodellen. R og G vil altid være 0, og B=1 for brint, 2 for helium osv. Denne tegning vil være vores kontrolkort, som vi gemmer i en fil, der hedder table2.bmp.

Periodisk system om skoledatalogi

Den første fase af grafisk programmering i Photoshop er afsluttet. Lad os gå videre til grafisk GUI-programmering i Delpi-7 IDE. For at gøre dette skal du åbne et nyt projekt, hvor vi på hovedformularen placerer en dialogknap (tableDlg), hvor der arbejdes med bordet. Dernæst arbejder vi med formularen tableDlg.

Placer en klassekomponent på formularen BILLEDE. Vi får Image1. Bemærk, at generelt, for store projekter, automatisk genererede navne på formularen ImageNHvor N kan nå flere dusin eller mere - dette er ikke den bedste programmeringsstil, og mere meningsfulde navne bør gives. Men i vores lille projekt, hvor N ikke vil overstige 2, kan du lade det være som genereret.

Til ejendom Billede 1.Billede uploade filen table01.bmp. Vi skaber Image2 og indlæs vores kontrolkort der table2.bmp. I dette tilfælde gør vi filen lille og usynlig for brugeren, som vist i nederste venstre hjørne af formularen. Vi tilføjer yderligere kontrolelementer, hvis formål er indlysende. Den anden fase af grafisk GUI-programmering i Delpi-7 IDE er afsluttet.

Periodisk system om skoledatalogi

Lad os gå videre til den tredje fase - at skrive kode i Delpi-7 IDE. Modulet består af kun fem hændelseshandlere: formularoprettelse (FormCreate), markørbevægelse Image1 (Image1MouseMove), ved at klikke på LMB på en celle (Billede 1 Klik) og forlad dialogen med OK-knapperne (OKBtnKlik) eller Annuller (CancelBtnClick). Headerne på disse behandlere genereres på en standard måde ved hjælp af IDE.

Modul kildekode:

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.

I vores version tog vi en tabel med 104 elementer (konstant størrelse). Denne størrelse kan naturligvis øges. Elementbetegnelser (kemiske symboler) skrives til et array Bordsymboler. Af hensyn til kildekodens kompakthed synes det dog tilrådeligt at skrive sekvensen af ​​disse notationer i form af strengkonstanter Periodisk TabelStr1, ..., Periodisk TabelStr4så når formularen er oprettet, spreder programmet selv disse betegnelser blandt elementerne i arrayet. Hver elementbetegnelse består af et eller to latinske bogstaver, hvor det første bogstav er stort og det andet (hvis nogen) lille bogstav. Denne simple regel implementeres ved indlæsning af et array. Således kan notationsrækkefølgen skrives på en kortfattet måde uden mellemrum. At opdele en sekvens i fire dele (konstanter Periodisk TabelStr1, ..., Periodisk TabelStr4) skyldes overvejelser om nem læsning af kildekoden, fordi En linje, der er for lang, passer muligvis ikke helt på skærmen.

Når musemarkøren bevæger sig hen over Image1 handler Image1MouseMove denne hændelse bestemmer værdien af ​​den blå farvekomponent på kontrolkortets pixel Image2 for de aktuelle markørkoordinater. Ved konstruktion Image2 denne værdi er lig med elementnummeret, hvis markøren er inde i cellen; nul hvis på grænsen, og 255 i andre tilfælde. De resterende handlinger udført af programmet er trivielle og kræver ikke forklaring.

Ud over de stilistiske programmeringsteknikker, der er nævnt ovenfor, er det værd at bemærke kommentarstilen. Strengt taget er den omtalte kode så lille og enkel, at kommentarer ikke synes særligt nødvendige. De blev dog tilføjet også af metodiske årsager - den korte kode giver os mulighed for at drage nogle generelle konklusioner klarere. I den præsenterede kode er en klasse erklæret (TtableDlg). Metoder i denne klasse kan udskiftes, og dette vil ikke påvirke programmets funktion på nogen måde, men kan påvirke dets læsbarhed. Forestil dig for eksempel rækkefølgen:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Det er måske ikke særlig mærkbart, men det bliver lidt sværere at læse og forstå. Hvis der ikke er fem, men titusinder flere metoder i afsnittet implementering de har en helt anden rækkefølge end i klassebeskrivelserne, så bliver kaosset kun tiltaget. Derfor, selvom det er svært at bevise strengt og måske endda er umuligt, kan man håbe, at indførelsen af ​​yderligere ordre vil forbedre kodens læsbarhed. Denne yderligere ordre lettes af den logiske gruppering af flere metoder, der udfører relaterede opgaver. Hver gruppe skal have en titel, for eksempel:

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

Disse overskrifter skal kopieres til begyndelsen af ​​modulet og formateres som en indholdsfortegnelse. I nogle tilfælde af ret lange moduler giver sådanne indholdsfortegnelser yderligere navigationsmuligheder. På samme måde er det i den lange krop af en metode, procedure eller funktion værd for det første at markere slutningen af ​​denne krop:

end; // FormCreate

og for det andet, i forgrenede sætninger med programparenteser start - end, marker den erklæring, som den afsluttende parentes refererer til:

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

For at fremhæve gruppeoverskrifter og enderne af metodelegemer kan du tilføje linjer, der er længere end de fleste udsagn, og som f.eks. består af henholdsvis tegnene "=" og "_".
Igen skal vi tage et forbehold: vores eksempel er for simpelt. Og når koden for en metode ikke passer på én skærm, kan det være svært at forstå seks på hinanden følgende ende for at foretage kodeændringer. I nogle gamle compilere, for eksempel Pascal 8000 til OS IBM 360/370, blev en servicekolonne som denne udskrevet til venstre i listen

B5
…
E5

Det betød, at den afsluttende parentes på linje E5 svarede til åbningsparentesen på linje B5.

Selvfølgelig er programmeringsstil et meget kontroversielt spørgsmål, så de ideer, der er udtrykt her, bør ikke tages som andet end stof til eftertanke. Det kan være meget svært for to ret erfarne programmører, som har udviklet og vænnet sig til forskellige stilarter gennem mange års arbejde, at blive enige. Det er en anden sag for en studerende, der lærer at programmere, som endnu ikke har haft tid til at finde sin egen stil. Jeg tror, ​​at læreren i dette tilfælde i det mindste bør formidle til sine elever en så enkel, men ikke indlysende idé til dem, at et programs succes i høj grad afhænger af den stil, som dets kildekode er skrevet i. Eleven følger måske ikke den anbefalede stil, men lad ham i det mindste tænke over behovet for "ekstra" handlinger for at forbedre designet af kildekoden.

Tilbage til vores grundlæggende problem om det periodiske system: videre udvikling kan gå i forskellige retninger. En af anvisningerne er til reference: Når du holder musemarkøren over en tabelcelle, vises et informationsvindue, der indeholder yderligere information om det angivne element. Videreudvikling er filtre. For eksempel, afhængigt af installationen, vil informationsvinduet kun indeholde: den vigtigste fysiske og kemiske information, information om opdagelseshistorien, information om fordeling i naturen, en liste over de vigtigste forbindelser (som inkluderer dette element), fysiologiske egenskaber, navn på et fremmedsprog osv. e. Når vi husker Kaverins "and", som denne artikel begynder med, kan vi sige, at vi med denne udvikling af programmet vil få et komplet træningskompleks i naturvidenskab: udover computer videnskab, fysik og kemi - biologi, økonomisk geografi, videnskabshistorie og endda fremmedsprog.

Men en lokal database er ikke grænsen. Programmet forbinder naturligt til internettet. Når du vælger et element, aktiveres linket, og Wikipedia-artiklen om dette element åbnes i webbrowservinduet. Wikipedia er som bekendt ikke en autoritativ kilde. Du kan sætte links til autoritative kilder, for eksempel kemisk encyklopædi, TSB, abstrakte tidsskrifter, bestille forespørgsler i søgemaskiner for dette element osv. At. Studerende vil være i stand til at udføre enkle, men meningsfulde opgaver om DBMS og internet-emner.

Udover forespørgsler på et individuelt element, kan du oprette funktionalitet, der for eksempel markerer celler i tabellen, der opfylder bestemte kriterier, med forskellige farver. For eksempel metaller og ikke-metaller. Eller celler, der dumpes i vandområder af en lokal kemisk fabrik.

Du kan også implementere funktionerne i en notebook-arrangør. Fremhæv f.eks. i tabellen de elementer, der indgår i eksamen. Fremhæv derefter de elementer, som den studerende har studeret/gentaget som forberedelse til eksamen.

Og her er for eksempel et af de typiske skolekemiproblemer:

Givet 10 g kridt. Hvor meget saltsyre skal der tages for at opløse alt dette kridt?

For at løse dette problem er det nødvendigt at skrive kemien ned. reaktion og anbring koefficienterne i den, beregn molekylvægtene af calciumcarbonat og hydrogenchlorid, komponer og løs derefter forholdet. En lommeregner baseret på vores grundprogram kan beregne og løse. Sandt nok skal du stadig tage højde for, at syren skal tages i rimeligt overskud og i en rimelig koncentration, men det er kemi, ikke datalogi.
Tillæg 1: Sådan fungerer kemiberegnerenLad os analysere regnemaskinens funktion ved at bruge eksemplet på ovenstående problem med kridt og "hodgepodge". Lad os starte med reaktionen:

CaCO3 + 2HCl = CaCl2 + H2O

Ud fra dette ser vi, at vi får brug for atomvægtene af følgende grundstoffer: calcium (Ca), kulstof (C), oxygen (O), brint (H) og klor (Cl). I det enkleste tilfælde kan vi skrive disse vægte ind i et endimensionelt array defineret som

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

hvor array-indekset svarer til elementnummeret. Mere om formularens frirum tableDlg sætte to felter. I det første felt står der indledningsvis: "Den første reagens er givet", i det andet - "Den anden reagens skal finde x". Lad os betegne felterne reagens 1, reagens 2 henholdsvis. Andre tilføjelser til programmet vil fremgå af det følgende eksempel på lommeregneren.

Vi taster på computerens tastatur: 10 g. Indskrift i feltet reagens 1 ændringer: "Den første reagens gives 10 g." Nu indtaster vi formlen for dette reagens, og lommeregneren vil beregne og vise dens molekylvægt, når du indtaster den.

Klik på LMB på tabelcellen med Ca-symbolet. Indskrift i feltet reagens 1 ændringer: "Første reagens Ca 40.078 givet 10 g."

Klik på LMB på tabelcellen med symbolet C. Indskrift i feltet reagens 1 ændringer: "Første reagens CaC 52.089 givet 10 g." De der. Lommeregneren summerede atomvægtene af calcium og kulstof.

Klik på LMB på tabelcellen med symbolet O. Indskrift i feltet reagens 1 ændringer: "Første reagens CaCO 68.088 givet 10 g." Lommeregneren tilføjede atomvægten af ​​oxygen til summen.

Klik på LMB på tabelcellen med symbolet O. Indskrift i feltet reagens 1 ændringer: "Første reagens CaCO2 84.087 givet 10 g." Lommeregneren tilføjede igen atomvægten af ​​oxygen til summen.

Klik på LMB på tabelcellen med symbolet O. Indskrift i feltet reagens 1 ændringer: "Første reagens CaCO3 100.086 givet 10 g." Lommeregneren tilføjede igen atomvægten af ​​oxygen til summen.

Tryk på Enter på dit computertastatur. Introduktionen af ​​det første reagens er afsluttet og skifter til feltet reagens 2. Bemærk, at i dette eksempel leverer vi en minimal version. Hvis det ønskes, kan du nemt organisere multiplikatorer af atomer af samme type, så du for eksempel ikke skal klikke syv gange i træk på iltcellen, når du indtaster kromformlen (K2Cr2O7).

Klik på LMB på tabelcellen med symbolet H. Indskrift i feltet reagens 2 ændringer: "Anden reagens H 1.008 find x."

Klik på LMB på tabelcellen med Cl-symbolet. Indskrift i feltet reagens 2 ændringer: "Anden reagens HCl 36.458 find x." Lommeregneren summerede atomvægtene af brint og klor. I ovenstående reaktionsligning er hydrogenchlorid foran en koefficient på 2. Klik derfor LMB på feltet reagens 2. Molekylvægten fordobles (tredobles, når den trykkes to gange osv.). Indskrift i feltet reagens 2 ændringer: "Andet reagens 2HCl 72.916 find x."

Tryk på Enter på dit computertastatur. Indtastningen af ​​det andet reagens er fuldført, og lommeregneren finder x fra forholdet

Periodisk system om skoledatalogi

Det var det, vi skulle finde.

Bemærk 1. Betydningen af ​​den resulterende andel: for opløsning 100.086 Da kridt kræver 72.916 Da syre, og for at opløse 10 g kridt skal du bruge x syre.

Bemærk 2. Samlinger af lignende problemer:

Khomchenko I. G., Samling af problemer og øvelser i kemi 2009 (klasse 8-11).
Khomchenko G. P., Khomchenko I. G., Indsamling af problemer i kemi for ansøgere til universiteter, 2019.

Bemærk 3. For at forenkle opgaven kan du forenkle indtastningen af ​​formlen i den oprindelige version og blot tilføje elementsymbolet til slutningen af ​​formellinjen. Så vil formlen for calciumcarbonat være:
CaCOOO
Men en kemilærer vil næppe kunne lide sådan en optagelse. Det er ikke svært at lave den korrekte indtastning - for at gøre dette skal du tilføje et array:

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

hvor indekset er nummeret på det kemiske element, og værdien ved dette indeks er antallet af atomer (til at begynde med er alle elementer i arrayet nulstillet). Den rækkefølge, hvori atomer er skrevet i en formel, som vedtaget i kemi, bør tages i betragtning. For eksempel vil de færreste heller lide O3CaC. Lad os flytte ansvaret over på brugeren. Lav et array:

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

hvor vi skriver ned nummeret på det kemiske grundstof i henhold til indekset for dets udseende i formlen. Tilføjelse af et atom currNo ind i formlen:

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

At skrive formlen til en linje:

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;

Bemærk 4. Det giver mening at give mulighed for alternativt at indtaste reagensformlen fra tastaturet. I dette tilfælde skal du implementere en simpel parser.

Det er værd at bemærke, at:

I dag er der flere hundrede versioner af bordet, og videnskabsmænd tilbyder konstant nye muligheder. (Wikipedia)

Studerende kan vise deres opfindsomhed i denne retning ved at implementere en af ​​de allerede foreslåede muligheder eller prøve at lave deres egen originale. Det kan se ud til, at dette er den mindst brugbare retning for undervisning i datalogi. Men i form af det periodiske system implementeret i denne artikel kan nogle elever muligvis ikke se de særlige fordele ved kontrolkort i forhold til den alternative løsning ved hjælp af standardknapper TBnap. Spiralformen af ​​bordet (hvor cellerne har forskellige former) vil tydeligere demonstrere fordelene ved den her foreslåede løsning.

Periodisk system om skoledatalogi
(Alternativt system af elementer af Theodore Benfey, Kilde)

Lad os også tilføje, at en række aktuelt eksisterende computerprogrammer til det periodiske system er beskrevet i det nyligt offentliggjorte på Habré artiklen.

Bilag 2: eksempler på opgaver til filtreVed hjælp af filtre kan du for eksempel løse følgende opgaver:

1) Vælg i tabellen alle de grundstoffer, der er kendt i middelalderen.

2) Identificer alle grundstoffer kendt på tidspunktet for opdagelsen af ​​den periodiske lov.

3) Identificer syv grundstoffer, som alkymister betragtede som metaller.

4) Vælg alle elementer, der er i en gasformig tilstand under normale forhold (n.s.).

5) Vælg alle elementer, der er i flydende tilstand ved nr.

6) Vælg alle elementer, der er i fast tilstand ved nr.

7) Vælg alle elementer, der kan udsættes for luft i lang tid uden mærkbare ændringer under normale forhold.

8) Vælg alle metaller, der opløses i saltsyre.

9) Vælg alle metaller, der opløses i svovlsyre ved nr.

10) Vælg alle metaller, der opløses i svovlsyre ved opvarmning.

11) Vælg alle metaller, der opløses i salpetersyre.

12) Isoler alle metaller, der reagerer voldsomt med vand under omgivende forhold.

13) Vælg alle metaller.

14) Identificer elementer, der er udbredt i naturen.

15) Identificer elementer, der findes i naturen i fri tilstand.

16) Identificer de elementer, der spiller den vigtigste rolle i menneske- og dyrekroppen.

17) Vælg elementer, der er meget brugt i hverdagen (i fri form eller i kombinationer).

18) Identificer de elementer, der er mest farlige at arbejde med og kræver særlige foranstaltninger og værnemidler.

19) Identificer de grundstoffer, der i fri form eller i form af forbindelser udgør den største trussel mod miljøet.

20) Vælg ædle metaller.

21) Identificer elementer, der er dyrere end ædle metaller.

noter

1) Det giver mening at levere flere filtre. For eksempel, hvis du tænder for et filter for at løse opgave 1 (alle grundstoffer kendt i middelalderen) og 20 (ædelmetaller), så vil celler med ædelmetaller kendt i middelalderen blive fremhævet (for eksempel efter farve) ( for eksempel vil palladium ikke blive fremhævet, åbnet i 1803).

2) Det giver mening at sikre, at flere filtre fungerer i en sådan tilstand, at hvert filter vælger celler med sin egen farve, men ikke helt fjerner valget af et andet filter (del af cellen i én farve, del i en anden). Så, i tilfældet med det foregående eksempel, vil elementer af skæringspunktet mellem sæt opdaget i middelalderen og ædle metaller, såvel som elementer, der kun tilhører det første og kun det andet sæt, være synlige. De der. ædelmetaller ukendt i middelalderen, og grundstoffer kendt i middelalderen, men ikke ædelmetaller.

3) Det giver mening efter påføring af filteret at sikre muligheden for andet arbejde med de opnåede resultater. For eksempel, når brugeren har udvalgte elementer kendt i middelalderen, klikker brugeren LMB på det valgte element og føres til Wikipedia-artiklen om dette element.

4) Det giver mening at give brugeren mulighed for at fravælge ved at klikke på LMB på den valgte tabelcelle. For eksempel for at fjerne allerede sete elementer.

5) Det giver mening at sikre, at listen over udvalgte celler gemmes i en fil, og at en sådan fil indlæses med automatisk udvælgelse af celler. Dette vil give brugeren mulighed for at holde en pause fra arbejdet.

Vi brugte et statisk, forudbestemt kontrolkort, men der er mange vigtige opgaver, hvor dynamiske kontrolkort, der ændrer sig, efterhånden som programmet kører, kan bruges. Et eksempel kunne være en grafeditor, hvor brugeren bruger musen til at angive positionerne af hjørner i et vindue og tegne kanter mellem dem. For at slette en top eller kant skal brugeren pege på den. Men hvis det er ret nemt at pege på et toppunkt markeret med en cirkel, så vil det være sværere at pege på en kant tegnet med en tynd linje. Et kontrolkort vil hjælpe her, hvor spidser og kanter optager bredere kvarterer end i den synlige figur.

Et interessant sidespørgsmål relateret til denne metode til kompleks træning er: kan denne metode være nyttig til træning af AI?

Kilde: www.habr.com

Tilføj en kommentar