Periodyk tabel oer kompjûterwittenskip fan skoallen

(Kontrôlekaarten)
(Opdroegen oan it Ynternasjonaal Jier fan it Periodyk systeem fan gemyske eleminten)
(De lêste tafoegings binne makke op 8 april 2019. De list mei tafoegings stiet fuort ûnder de besuniging)

Periodyk tabel oer kompjûterwittenskip fan skoallen
(Mendeleev syn blom, Boarne)

Ik wit noch dat wy foarby de duck passe. Dat wiene trije lessen tagelyk: ierdrykskunde, natuerwittenskip en Russysk. Yn in wittenskipsles waard in ein as in ein bestudearre, hokker wjukken it hat, hokker skonken er hat, hoe't er swimt, ensfh. Yn in ierdrykskundeles waard deselde ein as bewenner fan 'e wrâld studearre: it wie nedich om op in kaart sjen te litten wêr't it libbet en wêr't it net. Yn it Russysk learde Serafima Petrovna ús "u-t-k-a" te skriuwen en wat oer einen út Brem te lêzen. Yn it foarbygean liet se ús witte dat in it Dútsk sa is, en yn it Frânsk sa. Ik tink dat it doe de "komplekse metoade" waard neamd. Yn 't algemien kaam alles "yn it foarbygean".

Veniamin Kaverin, Twa kapteins

Yn it boppesteande sitaat Veniamin Kaverin masterlik toande de tekoartkommingen fan de komplekse learmetoade, lykwols, yn guon (miskien frij seldsum) gefallen, eleminten fan dizze metoade binne rjochtfeardige. Ien sa'n gefal is D.I. Mendeleev's periodyk tabel yn 'e lessen fan kompjûterwittenskippen. De taak fan software automatisearring fan typyske aksjes mei it periodyk systeem is dúdlik foar skoalbern dy't begûn te studearjen skiekunde, en is ferdield yn in protte typyske gemyske problemen. Tagelyk, yn it ramt fan kompjûterwittenskip, dizze taak lit ús sjen litte yn in ienfâldige foarm de metoade fan kontrôle kaarten, dat kin wurde taskreaun oan grafyske programmearring, begrepen yn 'e brede sin fan it wurd as programmearring mei help fan grafyske eleminten.

(8 april 2019 tafoegings makke:
Taheaksel 1: Hoe wurket de Chemistry Calculator
Bylage 2: foarbylden fan taken foar filters)

Lit ús begjinne mei de basis taak. Yn it ienfâldichste gefal moat it periodyk systeem op it skerm werjûn wurde yn in finsterfoarm, wêrby't yn elke sel in gemyske oantsjutting fan it elemint sil wêze: H - wetterstof, He - helium, ensfh. As de mûsoanwizer nei in sel wiist, dan wurde de oantsjutting fan it elemint en syn nûmer werjûn yn in spesjaal fjild op ús formulier. As de brûker op LMB drukt, dan sil de oantsjutting en nûmer fan dit selektearre elemint wurde oanjûn yn in oar fjild fan it formulier.

Periodyk tabel oer kompjûterwittenskip fan skoallen

It probleem kin oplost wurde mei elke universele taal. Wy nimme de ienfâldige âlde Delpi-7, dy't hast elkenien begrypt. Mar foardat jo programmearje yn PL, litte wy twa foto's tekenje, bygelyks yn Photoshop. Lit ús earst de periodyk tabel tekenje yn 'e foarm dy't wy wolle sjen yn it programma. Bewarje it resultaat yn in grafysk bestân table01.bmp.

Periodyk tabel oer kompjûterwittenskip fan skoallen

Foar de twadde tekening brûke wy de earste. Wy sille de tabelsellen sequentieel folje, wiske fan alle grafiken, mei unike kleuren yn it RGB-kleurmodel. R en G sille altyd 0 wêze, en B = 1 foar wetterstof, 2 foar helium, ensfh. Dizze tekening sil ús kontrôlekaart wêze, dy't wy sille bewarje yn in bestân neamd table2.bmp.

Periodyk tabel oer kompjûterwittenskip fan skoallen

De earste faze fan grafyske programmearring yn Photoshop is foltôge. Litte wy trochgean nei grafyske GUI-programmearring yn 'e Delpi-7 IDE. Om dit te dwaan, iepenje in nij projekt, wêr't wy op it haadformulier in dialoochknop pleatse (tableDlg), wêryn wurk mei de tafel plakfine sil. Dêrnei wurkje wy mei it formulier tableDlg.

Plak in klasse komponint op it formulier TIôfbylding. Wy krije Image1. Tink derom dat yn it algemien, foar grutte projekten, automatysk oanmakke nammen fan it formulier ImageNwêr N kin ferskate tsientallen of mear berikke - dit is net de bêste programmearringstyl, en mear betsjuttingsfolle nammen moatte wurde jûn. Mar yn ús lytse projekt, wêr N sil net mear as 2, kinne jo ferlitte it as oanmakke.

Oan eigendom Image1.Picture upload de triem table01.bmp. Wy meitsje Image2 en laden ús kontrôle card dêr table2.bmp. Yn dit gefal meitsje wy it bestân lyts en ûnsichtber foar de brûker, lykas werjûn yn 'e legere lofterhoeke fan it formulier. Wy foegje ekstra kontrôleeleminten ta, wêrfan it doel dúdlik is. De twadde etappe fan grafyske GUI-programmearring yn 'e Delpi-7 IDE is foltôge.

Periodyk tabel oer kompjûterwittenskip fan skoallen

Litte wy nei de tredde etappe gean - koade skriuwe yn 'e Delpi-7 IDE. De module bestiet út mar fiif evenemintehannelers: foarm oanmeitsjen (FormCreate), rinnerkebeweging Image1 (Image1 MouseMove), te klikken op LMB op in sel (Image 1 Klik) en gean út it dialoochfinster mei de OK-knoppen (OKBtnKlik) of ôfbrekke (CancelBtnClick). De kopteksten fan dizze handlers wurde op in standert wize generearre mei de IDE.

Module boarnekoade:

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.

Yn ús ferzje namen wy in tabel mei 104 eleminten (konstante grutte). Fansels kin dizze grutte wurde ferhege. Elemint oantsjuttings (gemyske symboalen) wurde skreaun oan in array TabelSymbolen. Om redenen fan kompaktheid fan 'e boarnekoade liket it lykwols oan te rieden om de folchoarder fan dizze notaasjes te skriuwen yn' e foarm fan tekenrige konstanten PeriodicTableStr1..., PeriodicTableStr4sadat as de foarm wurdt oanmakke, it programma sels ferspraat dizze oantsjuttings ûnder de eleminten fan de array. Elke elemintoantsjutting bestiet út ien of twa Latynske letters, wêrby't de earste letter in haadletter is en de twadde (as der is) lytse letters. Dizze ienfâldige regel wurdt ymplementearre by it laden fan in array. Sa kin de folchoarder fan notaasjes op in bondige wize sûnder spaasjes skreaun wurde. In sekwinsje brekke yn fjouwer dielen (konstanten PeriodicTableStr1..., PeriodicTableStr4) is te tankjen oan ôfwagings fan it gemak fan it lêzen fan de boarnekoade, om't In line dy't te lang is, past miskien net hielendal op it skerm.

As de mûsoanwizer beweecht oer de Image1 handler Image1 MouseMove dit evenemint bepaalt de wearde fan de blauwe kleur komponint fan de kontrôle card piksel Image2 foar de hjoeddeiske rinnerke koördinaten. Troch konstruksje Image2 dizze wearde is lyk oan it elemintnûmer as de rinnerke yn 'e sel is; nul as op 'e grins, en 255 yn oare gefallen. De oerbleaune aksjes útfierd troch it programma binne triviaal en hawwe gjin taljochting nedich.

Neist de stilistyske programmearring techniken neamd hjirboppe, is it wurdich opskriuwen de kommentaar styl. Strikt sjoen is de besprutsen koade sa lyts en ienfâldich dat opmerkings net bysûnder nedich lykje. Se waarden lykwols ek tafoege om metodologyske redenen - de koarte koade lit ús wat algemiene konklúzjes dúdliker meitsje. Yn 'e presintearre koade wurdt ien klasse ferklearre (TtableDlg). Metoaden fan dizze klasse kinne wurde wiksele en dit sil gjin ynfloed op it funksjonearjen fan it programma op hokker wize, mar kin beynfloedzje de lêsberens. Stel jo bygelyks de folchoarder foar:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

It is miskien net heul opfallend, mar it sil wat dreger wurde om te lêzen en te begripen. As der net fiif, mar tsientallen kear mear metoaden yn 'e seksje útfiering se hawwe in folslein oare folchoarder as yn de klassebeskriuwingen, dan wurdt de gaos allinnich mar grutter. Dêrom, hoewol it dreech is om strikt te bewizen en kin sels ûnmooglik wêze, kin men hoopje dat it ynfieren fan ekstra oarder de lêsberens fan 'e koade ferbetterje sil. Dizze ekstra oarder wurdt fasilitearre troch de logyske groepearring fan ferskate metoaden dy't relatearre taken útfiere. Elke groep moat in titel krije, bygelyks:

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

Dizze kopteksten moatte wurde kopiearre nei it begjin fan 'e module en opmakke as in ynhâldsopjefte. Yn guon gefallen fan frij lange modules jouwe sokke ynhâldsopjeften ekstra navigaasjeopsjes. Lykas, yn it lange lichem fan ien metoade, proseduere of funksje, is it earst de muoite wurdich om it ein fan dit lichem te markearjen:

end; // FormCreate

en, twadde, yn fertakke útspraken mei programma-heakjes begjinne - ein, markearje de ferklearring wêrnei't de slutende beugel ferwiist:

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

Om groepkoppen en de úteinen fan metoade-lichems te markearjen, kinne jo rigels tafoegje dy't langer binne as de measte útspraken en besteane, bygelyks, út respektivelik de tekens "=" en "_".
Nochris moatte wy in reservearje meitsje: ús foarbyld is te ienfâldich. En as de koade fan in metoade net past op ien skerm, kin it lestich wêze om seis opienfolgjende ein te begripen om koade feroarings te meitsjen. Yn guon âlde kompilatoren, bygelyks, Pascal 8000 foar OS IBM 360/370, waard in tsjinstkolom lykas dizze links yn 'e list printe

B5
…
E5

Dit betsjutte dat de slutende haakjes op rigel E5 oerienkomme mei de iepeningshaakjes op rigel B5.

Fansels is programmearringstyl in heul kontroversjele kwestje, dus de ideeën dy't hjir útdrukt wurde moatte net mear as stof foar tinken nommen wurde. It kin heul lestich wêze foar twa frij betûfte programmeurs, dy't har ûntwikkele en wend binne oan ferskate stilen oer in protte jierren fan wurk, om ta in oerienkomst te kommen. It is in oare saak foar in studint dy't leart te programmearjen dy't noch gjin tiid hat om syn eigen styl te finen. Ik tink dat de learaar yn dit gefal op syn minst sa'n ienfâldich, mar net fanselssprekkend idee oan syn learlingen oerbringe moat dat it sukses fan in programma foar in grut part ôfhinget fan 'e styl wêryn't de boarnekoade skreaun is. De studint kin de oanbefellende styl net folgje, mar lit him op syn minst tinke oer de needsaak foar "ekstra" aksjes om it ûntwerp fan 'e boarnekoade te ferbetterjen.

Werom nei ús basisprobleem oer it Periodyk Systeem: fierdere ûntwikkeling kin yn ferskate rjochtingen gean. Ien fan 'e rjochtingen is foar referinsje: as jo de mûsoanwizer oer in tabelsel hâlde, ferskynt in ynformaasjefinster mei ekstra ynformaasje oer it opjûne elemint. Fierdere ûntwikkeling is filters. Bygelyks, ôfhinklik fan 'e ynstallaasje, sil it ynformaasjefinster allinich befetsje: de wichtichste fysike en gemyske ynformaasje, ynformaasje oer de skiednis fan ûntdekking, ynformaasje oer distribúsje yn' e natuer, in list fan 'e wichtichste ferbiningen (dy't dit elemint omfettet), fysiologyske eigenskippen, namme yn in frjemde taal, ensafuorthinne wittenskip, natuerkunde en skiekunde - biology, ekonomyske geografy, skiednis fan wittenskip en sels frjemde talen.

Mar in lokale databank is net de limyt. It programma ferbynt fansels mei it ynternet. As jo ​​in elemint selektearje, wurdt de keppeling aktivearre, en it Wikipedia-artikel oer dit elemint wurdt iepene yn it webblêderfinster. Wikipedia, lykas jo witte, is gjin autoritative boarne. Jo kinne keppelings ynstelle nei gesachhawwende boarnen, bygelyks gemyske ensyklopedy, TSB, abstrakte tydskriften, bestelle fragen yn sykmasines foar dit elemint, ensfh. Dat. Studinten sille ienfâldige, mar sinfolle opdrachten kinne foltôgje oer DBMS- en ynternetûnderwerpen.

Neist fragen oer in yndividueel elemint kinne jo funksjonaliteit oanmeitsje dy't bygelyks sellen yn 'e tabel markearje dy't oan bepaalde kritearia foldwaan mei ferskate kleuren. Bygelyks metalen en net-metalen. Of sellen dy't troch in pleatslike gemyske fabryk yn wetterlichems dumpt wurde.

Jo kinne ek de funksjes fan in notebookorganisator ymplementearje. Markearje bygelyks yn 'e tabel de eleminten dy't opnommen binne yn it eksamen. Markearje dan de eleminten studearre / werhelle troch de studint as tarieding op it eksamen.

En hjir is bygelyks ien fan 'e typyske problemen mei skoallechemie:

Jou 10 g krijt. Hoefolle sâltsoer moat nommen wurde om al dit kryt op te lossen?

Om dit probleem op te lossen, is it nedich om de chemie op te skriuwen. reaksje en it pleatsen fan de koeffizienten dêryn, berekkenje de molekulêre gewichten fan calcium karbonaat en hydrogen chloride, dan komponearje en oplosse it oanpart. In rekkenmasine basearre op ús basisprogramma kin berekkenje en oplosse. Wier, jo moatte noch rekken hâlde dat it soer yn in ridlike oerskot en yn in ridlike konsintraasje nommen wurde moat, mar dit is skiekunde, gjin kompjûterwittenskip.
Taheaksel 1: Hoe wurket de Chemistry CalculatorLitte wy de wurking fan 'e rekkenmasine analysearje mei it foarbyld fan it boppesteande probleem fan krijt en "hodgepodge". Litte wy begjinne mei de reaksje:

CaCO3 + 2HCl = CaCl2 + H2O

Hjirút sjogge wy dat wy de atoomgewichten fan 'e folgjende eleminten nedich binne: kalsium (Ca), koalstof (C), soerstof (O), wetterstof (H) en chloor (Cl). Yn it ienfâldichste gefal kinne wy ​​skriuwe dizze gewichten yn in ien-dimensionale array definiearre as

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

dêr't de array yndeks oerienkomt mei it elemint nûmer. Mear oer de frije romte fan it formulier tableDlg set twa fjilden. Yn it earste fjild wurdt ynearsten skreaun: "It earste reagens wurdt jûn", yn it twadde - "De twadde reagens is om x te finen". Litte wy de fjilden oantsjutte reagens 1, reagens 2 respektivelik. Oare tafoegings oan it programma sille dúdlik wurde út it folgjende foarbyld fan 'e rekkenmasine.

Wy typen op it kompjûter toetseboerd: 10 g Opskrift yn it fjild reagens 1 feroarings: "It earste reagens wurdt jûn 10 g." No ynfiere wy de formule fan dit reagens, en de rekkenmasine sil syn molekulêre gewicht berekkenje en sjen litte as jo it ynfiere.

Klikje op LMB op 'e tabelsel mei it Ca-symboal. Ynskripsje yn it fjild reagens 1 feroarings: "Earste reagens Ca 40.078 jûn 10 g."

Klik LMB op de tabel sel mei it symboal C. Opskrift yn it fjild reagens 1 feroarings: "Earste reagens CaC 52.089 jûn 10 g." Dy. De rekkenmasine hat de atoomgewichten fan kalzium en koalstof optelt.

Klik LMB op de tabel sel mei it symboal O. Opskrift yn it fjild reagens 1 feroarings: "Earste reagens CaCO 68.088 jûn 10 g." De rekkenmasine tafoege it atoomgewicht fan soerstof oan 'e som.

Klik LMB op de tabel sel mei it symboal O. Opskrift yn it fjild reagens 1 feroarings: "Earste reagens CaCO2 84.087 jûn 10 g." De rekkenmasine tafoege nochris it atoomgewicht fan soerstof oan 'e som.

Klik LMB op de tabel sel mei it symboal O. Opskrift yn it fjild reagens 1 feroarings: "Earste reagens CaCO3 100.086 jûn 10 g." De rekkenmasine tafoege wer it atoomgewicht fan soerstof oan 'e som.

Druk op Enter op jo kompjûter toetseboerd. De ynfiering fan it earste reagens is foltôge en skeakelt nei it fjild reagens 2. Tink derom dat wy yn dit foarbyld in minimale ferzje leverje. As jo ​​​​wolle, kinne jo maklik multipliers fan atomen fan itselde type organisearje, sadat jo bygelyks net sân kear op in rige op 'e soerstofsel hoege te klikken by it ynfieren fan 'e chromiumformule (K2Cr2O7).

Klik LMB op de tabel sel mei it symboal H. Opskrift yn it fjild reagens 2 feroarings: "Twadde reagens H 1.008 fyn x."

Klikje op LMB op 'e tabelsel mei it Cl-symboal. Ynskripsje yn it fjild reagens 2 feroarings: "Twadde reagens HCl 36.458 fyn x." De rekkenmasine tafoege de atoomgewichten fan wetterstof en chloor. Yn 'e boppesteande reaksjefergeliking wurdt wetterstofchloride foarôfgien troch in koeffizient fan 2. Klik dêrom op LMB op it fjild reagens 2. It molekulêre gewicht ferdûbelet (trije kear as twa kear yndrukt, ensfh.). Ynskripsje yn it fjild reagens 2 feroarings: "Twadde reagens 2HCl 72.916 fine x."

Druk op Enter op jo kompjûter toetseboerd. De yngong fan it twadde reagens is foltôge, en de rekkenmasine fynt x út it oanpart

Periodyk tabel oer kompjûterwittenskip fan skoallen

Dat moasten wy fine.

Opmerking 1. De betsjutting fan it resultearjende ferhâlding: foar ûntbining 100.086 Da kryt fereasket 72.916 Da soer, en om 10 g kalk op te lossen hawwe jo x soer nedich.

Opmerking 2. Samlingen fan ferlykbere problemen:

Khomchenko I. G., Samling fan problemen en oefeningen yn skiekunde 2009 (graden 8-11).
Khomchenko G.P., Khomchenko I.G., Samling fan problemen yn skiekunde foar oanfregers oan universiteiten, 2019.

Opmerking 3. Om de taak te ferienfâldigjen, kinne jo de ynfier fan 'e formule yn' e earste ferzje ferienfâldigje en gewoan it elemintsymboal tafoegje oan 'e ein fan' e formulerigel. Dan sil de formule fan kalsiumkarbonaat wêze:
CaCOOO
Mar it is net wierskynlik dat in learaar skiekunde sa'n opname leuk fynt. It is net dreech om de juste yngong te meitsjen - om dit te dwaan moatte jo in array tafoegje:

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

wêrby't de yndeks it nûmer is fan it gemyske elemint, en de wearde op dizze yndeks is it oantal atomen (yn earsten wurde alle eleminten fan 'e array op nul weromset). De folchoarder wêryn atomen wurde skreaun yn in formule, lykas oannommen yn de skiekunde, moat rekken holden wurde. Bygelyks, in pear minsken sille ek O3CaC leuk fine. Litte wy de ferantwurdlikens oerbringe nei de brûker. In array meitsje:

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

wêr't wy it getal fan it gemyske elemint opskriuwe neffens de yndeks fan har uterlik yn 'e formule. It tafoegjen fan in atoom currNo yn de formule:

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

De formule skriuwe nei in rigel:

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;

Opmerking 4. It makket sin om de mooglikheid te jaan om alternatyf de reagensformule fan it toetseboerd yn te fieren. Yn dit gefal moatte jo in ienfâldige parser ymplementearje.

It is de muoite wurdich opskriuwen dat:

Tsjintwurdich binne d'r ferskate hûndert ferzjes fan 'e tafel, en wittenskippers biede konstant nije opsjes. (Wikipedia)

Studinten kinne har fernimstigens yn dizze rjochting sjen litte troch ien fan 'e al foarstelde opsjes út te fieren of besykje har eigen orizjinele te meitsjen. It kin lykje dat dit de minste nuttige rjochting is foar lessen yn kompjûterwittenskip. Yn 'e foarm fan' e Periodyk Tabel ymplementearre yn dit artikel kinne guon studinten lykwols gjin bepaald foardiel sjen fan kontrôlekaarten boppe de alternative oplossing mei standertknoppen TButton. De spiraalfoarm fan 'e tafel (wêr't de sellen fan ferskate foarmen binne) sil de foardielen fan' e oplossing hjir foarsteld dúdliker sjen litte.

Periodyk tabel oer kompjûterwittenskip fan skoallen
(Alternatyf systeem fan eleminten troch Theodore Benfey, Boarne)

Lit ús ek tafoegje dat in oantal op it stuit besteande kompjûterprogramma's foar it Periodyk Systeem beskreaun binne yn 'e koartlyn publisearre op Habré artikel.

Taheakke 2: foarbylden fan taken foar filtersMei help fan filters kinne jo bygelyks de folgjende taken oplosse:

1) Selektearje yn 'e tabel alle eleminten bekend yn' e Midsieuwen.

2) Identifisearje alle eleminten bekend op it stuit fan 'e ûntdekking fan' e Periodic Law.

3) Identifisearje sân eleminten dy't alchemisten metalen beskôgen.

4) Selektearje alle eleminten dy't yn in gasfoarmige steat ûnder normale omstannichheden (n.s.).

5) Selektearje alle eleminten dy't yn in floeibere steat op nr.

6) Selektearje alle eleminten dy't yn in fêste steat op nr.

7) Selektearje alle eleminten dy't kinne wurde bleatsteld oan loft foar in lange tiid sûnder merkbere feroarings by normale omstannichheden.

8) Selektearje alle metalen dy't oplosse yn sâltsoer.

9) Selektearje alle metalen dy't oplosse yn sulfuric acid op nr.

10) Selektearje alle metalen dy't oplosse yn sulfuric acid as ferwaarme.

11) Selektearje alle metalen dy't oplosse yn nitric acid.

12) Isolearje alle metalen dy't heftich reagearje mei wetter by omjouwingsomstannichheden.

13) Selektearje alle metalen.

14) Identifisearje eleminten dy't wiidferspraat binne yn 'e natuer.

15) Identifisearje eleminten dy't fûn wurde yn 'e natuer yn in frije steat.

16) Identifisearje de eleminten dy't de wichtichste rol spylje yn 'e minsklike en dierlike lichem.

17) Selektearje eleminten dy't in soad brûkt wurde yn it deistich libben (yn frije foarm as yn kombinaasjes).

18) Identifisearje eleminten dy't it gefaarlikst binne om mei te wurkjen en spesjale maatregels en beskermjende apparatuer nedich binne.

19) Identifisearje de eleminten dy't, yn frije foarm of yn 'e foarm fan ferbiningen, de grutste bedriging foar it miljeu foarmje.

20) Selektearje kostbere metalen.

21) Identifisearje eleminten dy't djoerder binne as kostbere metalen.

Notysjes

1) It makket sin om meardere filters te leverjen. As jo ​​bygelyks in filter ynskeakelje om probleem 1 (alle eleminten bekend yn 'e Midsieuwen) en 20 (edele metalen) op te lossen, dan sille sellen mei edelmetalen bekend yn 'e Midsieuwen markearre wurde (bygelyks troch kleur) ( bygelyks palladium sil net markearre wurde, iepene yn 1803).

2) It makket sin om te soargjen dat ferskate filters operearje yn sa'n modus dat elk filter sellen selektearret mei in eigen kleur, mar de seleksje fan in oar filter net folslein fuortsmite (diel fan 'e sel yn ien kleur, diel yn in oare). Dan, yn it gefal fan it foarige foarbyld, sille eleminten fan 'e krusing fan sets ûntdutsen yn' e Midsieuwen en kostbere metalen, lykas eleminten dy't allinich ta de earste en allinich ta de twadde sets hearre, sichtber wêze. Dy. edelmetalen ûnbekend yn 'e Midsieuwen, en eleminten bekend yn 'e Midsieuwen mar net edelmetalen.

3) It makket sin nei it tapassen fan it filter om de mooglikheid fan oar wurk te garandearjen mei de resultaten krigen. Bygelyks, mei selektearre eleminten bekend yn 'e Midsieuwen, de brûker klikt LMB op it selektearre elemint en wurdt nommen nei it Wikipedia artikel oer dit elemint.

4) It makket sin om de brûker de mooglikheid te jaan om te selektearjen troch te klikken op LMB op 'e selektearre tabelsel. Bygelyks om al besjoene items te ferwiderjen.

5) It makket sin om te soargjen dat de list fan selekteare sellen yn in bestân bewarre wurdt en dat sa'n bestân laden wurdt mei automatyske seleksje fan sellen. Dit sil de brûker de kâns jaan om in skoft te nimmen fan it wurk.

Wy brûkten in statyske, foarbeskaaide kontrôle map, mar der binne in protte wichtige taken dêr't dynamyske kontrôle maps dy't feroarje as it programma rint kin brûkt wurde. In foarbyld soe in grafykbewurker wêze, wêrby't de brûker de mûs brûkt om de posysjes fan hoekpunten yn in finster oan te jaan en rânen tusken har te tekenjen. Om in hoekpunt of râne te wiskjen, moat de brûker derop wize. Mar as it frij maklik is om te wizen op in hoekpunt markearre mei in sirkel, dan sil it lestiger wêze om te wizen op in râne tekene mei in tinne line. In kontrôlekaart sil hjir helpe, wêr't hoekpunten en rânen bredere wiken besette as yn 'e sichtbere figuer.

In nijsgjirrige sydfraach yn ferbân mei dizze metoade fan komplekse training is: kin dizze metoade nuttich wêze by it oplieden fan AI?

Boarne: www.habr.com

Add a comment