Periodieke tabel oor skoolrekenaarwetenskap

(Beheerkaarte)
(Opgedra aan die Internasionale Jaar van die Periodieke Tabel van Chemiese Elemente)
(Die jongste toevoegings is op 8 April 2019 gemaak. Die lys van toevoegings is onmiddellik onder die snit)

Periodieke tabel oor skoolrekenaarwetenskap
(Mendeleev se blom, Bron)

Ek onthou ons het by die eend verbygegaan. Dit was drie lesse tegelyk: aardrykskunde, natuurwetenskap en Russies. In 'n wetenskaples is 'n eend as 'n eend bestudeer, watter vlerke hy het, watter bene hy het, hoe hy swem, ensovoorts. In 'n aardrykskundeles is dieselfde eend as 'n bewoner van die aardbol bestudeer: dit was nodig om op 'n kaart te wys waar hy woon en waar nie. In Russies het Serafima Petrovna ons geleer om “u-t-k-a” te skryf en iets oor eende van Brem te lees. In die verbygaan het sy ons meegedeel dat in Duits eend so is, en in Frans so. Ek dink dit is destyds die "komplekse metode" genoem. Oor die algemeen het alles "in die verbygaan" uitgekom.

Veniamin Kaverin, Twee kapteins

In die aanhaling hierbo het Veniamin Kaverin die tekortkominge van die komplekse onderrigmetode meesterlik gewys, maar in sommige (miskien redelik seldsame) gevalle is elemente van hierdie metode geregverdig. Een so 'n geval is D.I. Mendeleev se periodieke tabel in skoolrekenaarwetenskaplesse. Die taak van sagteware-outomatisering van tipiese aksies met die periodieke tabel is duidelik vir skoolkinders wat chemie begin studeer het, en is verdeel in baie tipiese chemiese probleme. Terselfdertyd, binne die raamwerk van rekenaarwetenskap, stel hierdie taak ons ​​in staat om in 'n eenvoudige vorm die metode van beheerkaarte te demonstreer, wat toegeskryf kan word aan grafiese programmering, verstaan ​​in die breë sin van die woord as programmering met behulp van grafiese elemente.

(8 April 2019 byvoegings gemaak:
Bylaag 1: Hoe die Chemie Sakrekenaar Werk
Bylaag 2: voorbeelde van take vir filters)

Kom ons begin met die basiese taak. In die eenvoudigste geval moet die periodieke tabel in 'n venstervorm op die skerm vertoon word, waar daar in elke sel 'n chemiese benaming van die element sal wees: H - waterstof, He - helium, ens. As die muiswyser na 'n sel wys, word die benaming van die element en sy nommer in 'n spesiale veld op ons vorm vertoon. As die gebruiker LMB druk, sal die benaming en nommer van hierdie geselekteerde element in 'n ander veld van die vorm aangedui word.

Periodieke tabel oor skoolrekenaarwetenskap

Die probleem kan opgelos word deur enige universele taal te gebruik. Ons neem die eenvoudige ou Delpi-7, wat vir byna almal verstaanbaar is. Maar voordat ons in PL programmeer, laat ons twee prente teken, byvoorbeeld in Photoshop. Kom ons teken eers die Periodieke Tabel in die vorm wat ons dit in die program wil sien. Stoor die resultaat in 'n grafiese lêer tabel01.bmp.

Periodieke tabel oor skoolrekenaarwetenskap

Vir die tweede tekening gebruik ons ​​die eerste. Ons sal die tabelselle opeenvolgend vul, skoongemaak van alle grafika, met unieke kleure in die RGB-kleurmodel. R en G sal altyd 0 wees, en B=1 vir waterstof, 2 vir helium, ens. Hierdie tekening sal ons kontrolekaart wees, wat ons sal stoor in 'n lêer genaamd tabel2.bmp.

Periodieke tabel oor skoolrekenaarwetenskap

Die eerste fase van grafiese programmering in Photoshop is voltooi. Kom ons gaan aan na grafiese GUI-programmering in die Delpi-7 IDE. Om dit te doen, maak 'n nuwe projek oop, waar ons 'n dialoogknoppie op die hoofvorm plaas (tableDlg), waarin werk met die tafel sal plaasvind. Vervolgens werk ons ​​met die vorm tableDlg.

Plaas 'n klaskomponent op die vorm TIbeeld. Ons kry Image1. Let daarop dat in die algemeen, vir groot projekte, outomaties gegenereerde name van die vorm BeeldNWaar N kan 'n paar dosyn of meer bereik - dit is nie die beste programmeringstyl nie, en meer betekenisvolle name moet gegee word. Maar in ons klein projek, waar N sal nie 2 oorskry nie, jy kan dit laat soos gegenereer.

Na eiendom Beeld1.Prent laai die lêer op tabel01.bmp. Ons skep Image2 en laai ons beheerkaart daar tabel2.bmp. In hierdie geval maak ons ​​die lêer klein en onsigbaar vir die gebruiker, soos in die onderste linkerhoek van die vorm gewys. Ons voeg bykomende beheerelemente by, waarvan die doel voor die hand liggend is. Die tweede fase van grafiese GUI-programmering in die Delpi-7 IDE is voltooi.

Periodieke tabel oor skoolrekenaarwetenskap

Kom ons gaan aan na die derde fase - die skryf van kode in die Delpi-7 IDE. Die module bestaan ​​uit slegs vyf gebeurtenishanteerders: vormskepping (FormCreate), wyserbeweging Image1 (Image1MouseMove), klik LMB op 'n sel (Beeld 1 Klik) en verlaat die dialoog met die OK-knoppies (OKBtnKlik) of Kanselleer (KanselleerBtnKlik). Die opskrifte van hierdie hanteerders word op 'n standaard manier gegenereer deur die IDE te gebruik.

Module bronkode:

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.

In ons weergawe het ons 'n tabel van 104 elemente (konstante grootte). Natuurlik kan hierdie grootte vergroot word. Elementbenamings (chemiese simbole) word na 'n skikking geskryf Tafelsimbole. Om redes van kompaktheid van die bronkode blyk dit egter raadsaam te wees om die volgorde van hierdie notasies in die vorm van stringkonstantes te skryf PeriodicTableStr1..., PeriodicTableStr4sodat wanneer die vorm geskep word, die program self hierdie benamings onder die elemente van die skikking verstrooi. Elke elementbenaming bestaan ​​uit een of twee Latynse letters, met die eerste letter hoofletters en die tweede (indien enige) kleinletters. Hierdie eenvoudige reël word geïmplementeer wanneer 'n skikking gelaai word. Die volgorde van notasies kan dus op 'n bondige wyse sonder spasies geskryf word. Breek 'n ry in vier dele (konstante PeriodicTableStr1..., PeriodicTableStr4) is as gevolg van oorwegings van gemak om die bronkode te lees, want ’n Lyn wat te lank is, pas dalk nie heeltemal op die skerm nie.

Wanneer die muiswyser oor die Image1 hanteerder Image1MouseMove hierdie gebeurtenis bepaal die waarde van die blou kleur komponent van die beheer kaart pixel Image2 vir die huidige wyserkoördinate. Deur konstruksie Image2 hierdie waarde is gelyk aan die elementnommer as die wyser binne die sel is; nul as op die grens, en 255 in ander gevalle. Die oorblywende aksies wat deur die program uitgevoer word, is onbenullig en vereis nie verduideliking nie.

Benewens die stilistiese programmeringstegnieke wat hierbo genoem is, is dit die moeite werd om te let op die kommentaarstyl. Streng gesproke is die kode wat bespreek is so klein en eenvoudig dat kommentaar nie besonder nodig lyk nie. Hulle is egter ook bygevoeg om metodologiese redes - die kort kode laat ons toe om 'n paar algemene gevolgtrekkings duideliker te maak. In die voorgestelde kode word een klas verklaar (TtableDlg). Metodes van hierdie klas kan omgeruil word en dit sal nie die werking van die program op enige manier beïnvloed nie, maar kan die leesbaarheid daarvan beïnvloed. Stel jou byvoorbeeld die volgorde voor:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Dit sal dalk nie baie opvallend wees nie, maar dit sal 'n bietjie moeiliker word om te lees en te verstaan. As daar nie vyf, maar tientalle keer meer metodes in die afdeling is nie implementering hulle het 'n heel ander volgorde as in die klasbeskrywings, dan sal die chaos net toeneem. Daarom, alhoewel dit moeilik is om streng te bewys en selfs onmoontlik kan wees, kan 'n mens hoop dat die instelling van addisionele volgorde die leesbaarheid van die kode sal verbeter. Hierdie bykomende bestelling word vergemaklik deur die logiese groepering van verskeie metodes wat verwante take verrig. Elke groep moet 'n titel kry, byvoorbeeld:

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

Hierdie opskrifte moet na die begin van die module gekopieer word en as 'n inhoudsopgawe geformateer word. In sommige gevalle van redelik lang modules bied sulke inhoudsopgawes bykomende navigasie-opsies. Net so, in die lang liggaam van een metode, prosedure of funksie, is dit die moeite werd om eers die einde van hierdie liggaam te merk:

end; // FormCreate

en, tweedens, in vertakte stellings met programhakies begin - einde, merk die stelling waarna die slothakie verwys:

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

Om groepopskrifte en die punte van metodeliggame uit te lig, kan jy reëls byvoeg wat langer as die meeste stellings is en byvoorbeeld uit die karakters "=" en "_" onderskeidelik bestaan.
Weereens moet ons 'n voorbehoud maak: ons voorbeeld is te eenvoudig. En wanneer die kode van 'n metode nie op een skerm pas nie, kan dit moeilik wees om ses opeenvolgende eindes te verstaan ​​om kodeveranderings aan te bring. In sommige ou samestellers, byvoorbeeld, Pascal 8000 vir OS IBM 360/370, is 'n dienskolom soos hierdie aan die linkerkant in die lys gedruk

B5
…
E5

Dit het beteken dat die sluithakies op reël E5 ooreenstem met die openingshakies op reël B5.

Natuurlik is programmeringstyl 'n baie kontroversiële kwessie, so die idees wat hier uitgedruk word, moet as niks meer as stof tot nadenke beskou word nie. Dit kan baie moeilik wees vir twee redelik ervare programmeerders, wat oor baie jare se werk aan verskillende style ontwikkel en gewoond geraak het, om tot 'n vergelyk te kom. Dit is 'n ander saak vir 'n student wat leer programmeer wat nog nie tyd gehad het om sy eie styl te vind nie. Ek dink dat die onderwyser in hierdie geval ten minste so 'n eenvoudige maar nie ooglopende idee aan sy studente moet oordra dat die sukses van 'n program grootliks afhang van die styl waarin die bronkode geskryf is nie. Die student volg dalk nie die aanbevole styl nie, maar laat hom ten minste dink oor die behoefte aan “ekstra” aksies om die ontwerp van die bronkode te verbeter.

Om terug te keer na ons basiese probleem oor die Periodieke Tabel: verdere ontwikkeling kan in verskillende rigtings gaan. Een van die aanwysings is vir verwysing: wanneer jy die muiswyser oor 'n tabelsel beweeg, verskyn 'n inligtingsvenster wat bykomende inligting oor die gespesifiseerde element bevat. Verdere ontwikkeling is filters. Byvoorbeeld, afhangende van die installasie, sal die inligtingsvenster slegs bevat: die belangrikste fisiese en chemiese inligting, inligting oor die geskiedenis van ontdekking, inligting oor verspreiding in die natuur, 'n lys van die belangrikste verbindings (wat hierdie element insluit), fisiologiese eienskappe, naam in 'n vreemde taal, ens. e As ons Kaverin se "eend" onthou waarmee hierdie artikel begin, kan ons sê dat ons met hierdie ontwikkeling van die program 'n volledige opleidingskompleks in die natuurwetenskappe sal kry: benewens rekenaar. wetenskap, fisika en chemie - biologie, ekonomiese geografie, geskiedenis van wetenskap en selfs vreemde tale.

Maar 'n plaaslike databasis is nie die limiet nie. Die program koppel natuurlik aan die internet. Wanneer jy 'n element kies, word die skakel geaktiveer, en die Wikipedia-artikel oor hierdie element word in die webblaaiervenster oopgemaak. Wikipedia, soos jy weet, is nie 'n gesaghebbende bron nie. Jy kan skakels na gesaghebbende bronne stel, byvoorbeeld chemiese ensiklopedie, TSB, abstrakte joernale, bestel navrae in soekenjins vir hierdie element, ens. Daardie. Studente sal in staat wees om eenvoudige maar betekenisvolle opdragte oor DBMS en internetonderwerpe te voltooi.

Benewens navrae oor 'n individuele element, kan jy funksionaliteit skep wat byvoorbeeld selle in die tabel sal merk wat aan sekere kriteria voldoen met verskillende kleure. Byvoorbeeld, metale en nie-metale. Of selle wat deur 'n plaaslike chemiese aanleg in watermassas gestort word.

Jy kan ook die funksies van 'n notaboekorganiseerder implementeer. Merk byvoorbeeld die elemente wat in die eksamen ingesluit is in die tabel. Lig dan die elemente uit wat deur die student bestudeer/herhaal is ter voorbereiding vir die eksamen.

En hier is byvoorbeeld een van die tipiese skoolchemieprobleme:

Gegee 10 g kryt. Hoeveel soutsuur moet geneem word om al hierdie kryt op te los?

Om hierdie probleem op te los, is dit nodig om die chemikalie neer te skryf. reaksie en plaas die koëffisiënte daarin, bereken die molekulêre gewigte van kalsiumkarbonaat en waterstofchloried, stel dan saam en los die verhouding op. 'n Sakrekenaar gebaseer op ons basiese program kan bereken en oplos. Dit is waar, jy sal steeds in ag moet neem dat die suur in 'n redelike oormaat en in 'n redelike konsentrasie geneem moet word, maar dit is chemie, nie rekenaarwetenskap nie.
Bylaag 1: Hoe die Chemie Sakrekenaar WerkKom ons ontleed die werking van die sakrekenaar deur die voorbeeld van bogenoemde probleem van kryt en "hodgepodge" te gebruik. Kom ons begin met die reaksie:

CaCO3 + 2HCl = CaCl2 + H2O

Hieruit sien ons dat ons die atoomgewigte van die volgende elemente sal benodig: kalsium (Ca), koolstof (C), suurstof (O), waterstof (H) en chloor (Cl). In die eenvoudigste geval kan ons hierdie gewigte in 'n eendimensionele skikking skryf wat gedefinieer word as

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

waar die skikking-indeks ooreenstem met die elementnommer. Meer oor die vrye spasie van die vorm tableDlg plaas twee velde. In die eerste veld word aanvanklik geskryf: "Die eerste reagens word gegee", in die tweede - "Die tweede reagens is om x te vind". Kom ons dui die velde aan reagens 1, reagens 2 onderskeidelik. Ander toevoegings tot die program sal duidelik wees uit die volgende voorbeeld van die sakrekenaar.

Ons tik op die rekenaarsleutelbord: 10 g Inskripsie in die veld reagens 1 verander: "Die eerste reagens word 10 g gegee." Nou voer ons die formule van hierdie reagens in, en die sakrekenaar sal sy molekulêre gewig bereken en wys soos jy dit invoer.

Klik LMB op die tabelsel met die Ca-simbool. Inskripsie in die veld reagens 1 veranderinge: "Eerste reagens Ca 40.078 gegee 10 g."

Klik LMB op die tabelsel met die simbool C. Inskripsie in die veld reagens 1 veranderinge: "Eerste reagens CaC 52.089 gegee 10 g." Dié. Die sakrekenaar het die atoomgewigte van kalsium en koolstof bymekaargetel.

Klik LMB op die tabelsel met die simbool O. Inskripsie in die veld reagens 1 veranderinge: "Eerste reagens CaCO 68.088 gegee 10 g." Die sakrekenaar het die atoomgewig van suurstof by die som gevoeg.

Klik LMB op die tabelsel met die simbool O. Inskripsie in die veld reagens 1 veranderinge: "Eerste reagens CaCO2 84.087 gegee 10 g." Die sakrekenaar het weereens die atoomgewig van suurstof by die som gevoeg.

Klik LMB op die tabelsel met die simbool O. Inskripsie in die veld reagens 1 veranderinge: "Eerste reagens CaCO3 100.086 gegee 10 g." Die sakrekenaar het weer die atoomgewig van suurstof by die som gevoeg.

Druk Enter op jou rekenaarsleutelbord. Die bekendstelling van die eerste reagens is voltooi en skakel oor na die veld reagens 2. Let daarop dat ons in hierdie voorbeeld 'n minimale weergawe verskaf. As jy wil, kan jy maklik vermenigvuldigers van atome van dieselfde tipe organiseer, sodat jy byvoorbeeld nie sewe keer in 'n ry op die suurstofsel hoef te klik wanneer jy die chroomformule (K2Cr2O7) invoer nie.

Klik LMB op die tabelsel met die simbool H. Inskripsie in die veld reagens 2 verander: "Tweede reagens H 1.008 vind x."

Klik LMB op die tabelsel met die Cl-simbool. Inskripsie in die veld reagens 2 verander: "Tweede reagens HCl 36.458 vind x." Die sakrekenaar het die atoomgewigte van waterstof en chloor opgetel. In die bogenoemde reaksievergelyking word waterstofchloried voorafgegaan deur 'n koëffisiënt van 2. Klik daarom LMB op die veld reagens 2. Die molekulêre gewig verdubbel (verdubbel wanneer dit twee keer gedruk word, ens.). Inskripsie in die veld reagens 2 verander: "Tweede reagens 2HCl 72.916 vind x."

Druk Enter op jou rekenaarsleutelbord. Die invoer van die tweede reagens is voltooi, en die sakrekenaar vind x uit die verhouding

Periodieke tabel oor skoolrekenaarwetenskap

Dit is wat ons moes vind.

Opmerking 1. Die betekenis van die resulterende verhouding: vir ontbinding 100.086 Da kryt benodig 72.916 Da suur, en om 10 g kryt op te los benodig jy x suur.

Opmerking 2. Versamelings van soortgelyke probleme:

Khomchenko I. G., Versameling van probleme en oefeninge in chemie 2009 (graad 8-11).
Khomchenko G. P., Khomchenko I. G., Versameling van probleme in chemie vir aansoekers aan universiteite, 2019.

Opmerking 3. Om die taak te vereenvoudig, kan jy die invoer van die formule in die aanvanklike weergawe vereenvoudig en eenvoudig die elementsimbool aan die einde van die formulereël byvoeg. Dan sal die formule van kalsiumkarbonaat wees:
CaCOOO
Maar 'n chemie-onderwyser sal waarskynlik nie van so 'n opname hou nie. Dit is nie moeilik om die korrekte inskrywing te maak nie - om dit te doen moet jy 'n skikking byvoeg:

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

waar die indeks die getal van die chemiese element is, en die waarde by hierdie indeks die aantal atome is (aanvanklik word alle elemente van die skikking na nul teruggestel). Die volgorde waarin atome in 'n formule geskryf word, soos aangeneem in chemie, moet in ag geneem word. Min mense sal byvoorbeeld ook van O3CaC hou. Kom ons skuif die verantwoordelikheid na die gebruiker toe. Maak 'n skikking:

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

waar ons die nommer van die chemiese element volgens die indeks van sy voorkoms in die formule neerskryf. Voeg 'n atoom by currNo in die formule:

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

Skryf die formule na 'n lyn:

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. Dit maak sin om die vermoë te bied om alternatiewelik die reagensformule vanaf die sleutelbord in te voer. In hierdie geval sal jy 'n eenvoudige ontleder moet implementeer.

Dit is opmerklik dat:

Vandag is daar 'n paar honderd weergawes van die tabel, en wetenskaplikes bied voortdurend nuwe opsies. (Wikipedia)

Studente kan hul vernuf in hierdie rigting wys deur een van die reeds voorgestelde opsies te implementeer of probeer om hul eie oorspronklike een te maak. Dit mag lyk asof dit die minste bruikbare rigting vir rekenaarwetenskaplesse is. In die vorm van die Periodieke Tabel wat in hierdie artikel geïmplementeer is, kan sommige studente egter nie enige spesifieke voordeel van beheerkaarte sien bo die alternatiewe oplossing wat standaardknoppies gebruik nie TBknop. Die spiraalvorm van die tafel (waar die selle verskillende vorms het) sal die voordele van die oplossing wat hier voorgestel word duideliker demonstreer.

Periodieke tabel oor skoolrekenaarwetenskap
(Alternatiewe stelsel van elemente deur Theodore Benfey, Bron)

Kom ons voeg ook by dat 'n aantal tans bestaande rekenaarprogramme vir die Periodieke Tabel beskryf word in die onlangs gepubliseerde op Habré Artikel.

Bylaag 2: voorbeelde van take vir filtersMet behulp van filters kan jy byvoorbeeld die volgende take oplos:

1) Kies in die tabel al die elemente wat in die Middeleeue bekend was.

2) Identifiseer al die elemente wat bekend was ten tyde van die ontdekking van die Periodieke Wet.

3) Identifiseer sewe elemente wat alchemiste metale beskou het.

4) Kies alle elemente wat in 'n gasvormige toestand is onder normale toestande (n.s.).

5) Kies alle elemente wat in 'n vloeibare toestand is by nr.

6) Kies alle elemente wat in 'n vaste toestand is by nr.

7) Kies alle elemente wat vir 'n lang tyd aan lug blootgestel kan word sonder merkbare veranderinge by normale toestande.

8) Kies alle metale wat in soutsuur oplos.

9) Kies alle metale wat in swaelsuur oplos by nr.

10) Kies alle metale wat in swaelsuur oplos wanneer dit verhit word.

11) Kies alle metale wat in salpetersuur oplos.

12) Isoleer alle metale wat heftig reageer met water by omgewingstoestande.

13) Kies alle metale.

14) Identifiseer elemente wat wydverspreid in die natuur voorkom.

15) Identifiseer elemente wat in die natuur in 'n vrye staat voorkom.

16) Identifiseer die elemente wat die belangrikste rol in die menslike en dierlike liggaam speel.

17) Kies elemente wat wyd in die alledaagse lewe gebruik word (in vrye vorm of in kombinasies).

18) Identifiseer elemente wat die gevaarlikste is om mee te werk en spesiale maatreëls en beskermende toerusting vereis.

19) Identifiseer die elemente wat, in vrye vorm of in die vorm van verbindings, die grootste bedreiging vir die omgewing inhou.

20) Kies edelmetale.

21) Identifiseer elemente wat duurder is as edelmetale.

Notes

1) Dit maak sin om veelvuldige filters te verskaf. Byvoorbeeld, as jy 'n filter aanskakel om probleem 1 (alle elemente bekend in die Middeleeue) en 20 (edelmetale) op te los, dan sal selle met edelmetale wat in die Middeleeue bekend is uitgelig word (byvoorbeeld volgens kleur) ( byvoorbeeld, palladium sal nie uitgelig word nie, geopen in 1803).

2) Dit maak sin om te verseker dat verskeie filters in so 'n modus werk dat elke filter selle met sy eie kleur kies, maar nie die keuse van 'n ander filter (deel van die sel in een kleur, deel in 'n ander) heeltemal verwyder nie. Dan, in die geval van die vorige voorbeeld, sal elemente van die kruising van versamelings wat in die Middeleeue ontdek is en edelmetale, sowel as elemente wat slegs tot die eerste en slegs tot die tweede versamelings behoort, sigbaar wees. Dié. edelmetale onbekend in die Middeleeue, en elemente bekend in die Middeleeue maar nie edelmetale nie.

3) Dit maak sin na die toepassing van die filter om die moontlikheid van ander werk te verseker met die resultate wat verkry is. Byvoorbeeld, met geselekteerde elemente wat in die Middeleeue bekend was, klik die gebruiker LMB op die geselekteerde element en word na die Wikipedia-artikel oor hierdie element geneem.

4) Dit maak sin om die gebruiker die vermoë te gee om te ontkies deur LMB op die geselekteerde tabelsel te klik. Byvoorbeeld, om items wat reeds gesien is, te verwyder.

5) Dit maak sin om te verseker dat die lys van geselekteerde selle in 'n lêer gestoor word en dat so 'n lêer gelaai word met outomatiese seleksie van selle. Dit sal die gebruiker die geleentheid gee om 'n breek van die werk te neem.

Ons het 'n statiese, voorafbepaalde beheerkaart gebruik, maar daar is baie belangrike take waar dinamiese beheerkaarte wat verander soos die program loop, gebruik kan word. 'n Voorbeeld sal 'n grafiekredigeerder wees, waarin die gebruiker die muis gebruik om die posisies van hoekpunte in 'n venster aan te dui en rande tussen hulle te teken. Om 'n hoekpunt of rand uit te vee, moet die gebruiker daarna wys. Maar as dit redelik maklik is om te wys na 'n hoekpunt wat met 'n sirkel gemerk is, dan sal dit moeiliker wees om te wys na 'n rand wat met 'n dun lyn getrek is. ’n Beheerkaart sal hier help, waar hoekpunte en rande wyer woonbuurte as in die sigbare figuur beslaan.

'n Interessante byvraag wat verband hou met hierdie metode van komplekse opleiding is: kan hierdie metode nuttig wees in die opleiding van KI?

Bron: will.com

Voeg 'n opmerking