Tabela periodike në shkencat kompjuterike të shkollës

(Kartat e kontrollit)
(Dedikuar Vitit Ndërkombëtar të Tabelës Periodike të Elementeve Kimike)
(Shtesat më të fundit janë bërë më 8 Prill 2019. Lista e shtesave është menjëherë poshtë prerjes)

Tabela periodike në shkencat kompjuterike të shkollës
(Lulja e Mendelejevit, Burim)

Mbaj mend që kaluam rosë. Këto ishin tre mësime njëherësh: gjeografi, shkenca natyrore dhe rusisht. Në një mësim shkencor, një rosë studiohej si rosë, çfarë krahësh ka, çfarë këmbësh ka, si noton etj. Në një mësim gjeografie, e njëjta rosë u studiua si një banor i globit: ishte e nevojshme të tregohej në një hartë ku jeton dhe ku jo. Në rusisht, Serafima Petrovna na mësoi të shkruanim "u-t-k-a" dhe të lexonim diçka për rosat nga Brem. Kalimthi, ajo na informoi se në gjermanisht rosa është kështu, dhe në frëngjisht kështu. Mendoj se në atë kohë quhej "metoda komplekse". Në përgjithësi, gjithçka doli "kalimthi".

Veniamin Kaverin, Dy kapiten

Në citimin e mësipërm, Veniamin Kaverin tregoi me mjeshtëri të metat e metodës komplekse të mësimdhënies, megjithatë, në disa raste (ndoshta mjaft të rralla), elementët e kësaj metode justifikohen. Një rast i tillë është tabela periodike e D.I. Mendeleev në mësimet e shkencave kompjuterike në shkollë. Detyra e automatizimit të softuerit të veprimeve tipike me tabelën periodike është e qartë për nxënësit e shkollës që kanë filluar të studiojnë kiminë dhe ndahet në shumë detyra tipike kimike. Në të njëjtën kohë, në kuadrin e shkencës kompjuterike, kjo detyrë na lejon të demonstrojmë në një formë të thjeshtë metodën e kartave të kontrollit, të cilat mund t'i atribuohen programimit grafik, i kuptuar në kuptimin e gjerë të fjalës si programim duke përdorur elementë grafikë.

(8 Prill 2019 shtesat e bëra:
Shtojca 1: Si funksionon kalkulatori i kimisë
Shtojca 2: shembuj të detyrave për filtra)

Le të fillojmë me detyrën themelore. Në rastin më të thjeshtë, tabela periodike duhet të shfaqet në ekran në një formë dritareje, ku në secilën qelizë do të ketë një përcaktim kimik të elementit: H - hidrogjen, He - helium, etj. Nëse kursori i miut tregon një qelizë, atëherë përcaktimi i elementit dhe numri i tij shfaqen në një fushë të veçantë në formularin tonë. Nëse përdoruesi shtyp LMB, atëherë përcaktimi dhe numri i këtij elementi të zgjedhur do të tregohet në një fushë tjetër të formularit.

Tabela periodike në shkencat kompjuterike të shkollës

Problemi mund të zgjidhet duke përdorur çdo gjuhë universale. Ne do të marrim Delpi-7 të thjeshtë të vjetër, i cili është i kuptueshëm për pothuajse të gjithë. Por përpara se të programojmë në PL, le të vizatojmë dy fotografi, për shembull, në Photoshop. Së pari, le të vizatojmë Tabelën Periodike në formën që duam ta shohim në program. Ruani rezultatin në një skedar grafik tabela01.bmp.

Tabela periodike në shkencat kompjuterike të shkollës

Për vizatimin e dytë përdorim të parën. Ne do të mbushim në mënyrë sekuenciale qelizat e tabelës, të pastruara nga të gjitha grafika, me ngjyra unike në modelin e ngjyrave RGB. R dhe G do të jenë gjithmonë 0, dhe B=1 për hidrogjenin, 2 për heliumin, etj. Ky vizatim do të jetë karta jonë e kontrollit, të cilën do ta ruajmë në një skedar të quajtur tabela2.bmp.

Tabela periodike në shkencat kompjuterike të shkollës

Ka përfunduar faza e parë e programimit grafik në Photoshop. Le të kalojmë te programimi grafik GUI në Delpi-7 IDE. Për ta bërë këtë, hapni një projekt të ri, ku në formën kryesore vendosim një buton dialogu (tabelaDlg), në të cilën do të zhvillohet puna me tabelën. Më pas punojmë me formularin tabelaDlg.

Vendosni një komponent të klasës në formular Imazhi. marrim Image1. Vini re se në përgjithësi, për projekte të mëdha, emrat e formularit gjenerohen automatikisht Imazhi NKu N mund të arrijë disa dhjetëra ose më shumë - ky nuk është stili më i mirë i programimit dhe duhet të jepen emra më kuptimplotë. Por në projektin tonë të vogël, ku N nuk do të kalojë 2, ju mund ta lini atë si të gjeneruar.

Tek prona Imazhi1.Foto ngarkoni skedarin tabela01.bmp. Ne krijojmë Image2 dhe ngarkojmë kartën tonë të kontrollit atje tabela2.bmp. Në këtë rast, ne e bëjmë skedarin të vogël dhe të padukshëm për përdoruesin, siç tregohet në këndin e poshtëm të majtë të formularit. Ne shtojmë elementë shtesë kontrolli, qëllimi i të cilave është i qartë. Ka përfunduar faza e dytë e programimit grafik GUI në Delpi-7 IDE.

Tabela periodike në shkencat kompjuterike të shkollës

Le të kalojmë në fazën e tretë - shkrimi i kodit në Delpi-7 IDE. Moduli përbëhet nga vetëm pesë mbajtës të ngjarjeve: krijimi i formularit (FormCreate), lëvizja e kursorit Image1 (Image1Mouse Move), duke klikuar LMB në një qelizë (Imazhi 1 Kliko) dhe dilni nga dialogu duke përdorur butonat OK (OKBtnKlikoni) ose Anulo (AnuloBtnKliko). Titujt e këtyre mbajtësve krijohen në mënyrë standarde duke përdorur IDE.

Kodi burimor i modulit:

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.

Në versionin tonë, ne morëm një tabelë me 104 elementë (konstante madhësi). Është e qartë se kjo madhësi mund të rritet. Emërtimet e elementeve (simbolet kimike) shkruhen në një grup Simbolet e tabelave. Megjithatë, për arsye të kompaktësisë së kodit burimor, duket e këshillueshme të shkruhet sekuenca e këtyre shënimeve në formën e konstantave të vargut Tabela PeriodikeRr1..., Tabela PeriodikeRr4kështu që kur krijohet forma, vetë programi i shpërndan këto emërtime midis elementeve të grupit. Çdo emërtim i elementit përbëhet nga një ose dy shkronja latine, ku shkronja e parë është e madhe dhe e dyta (nëse ka) e vogël. Ky rregull i thjeshtë zbatohet kur ngarkoni një grup. Kështu, sekuenca e shënimeve mund të shkruhet në mënyrë koncize pa hapësira. Ndarja e një sekuence në katër pjesë (konstante Tabela PeriodikeRr1..., Tabela PeriodikeRr4) është për shkak të konsideratave të lehtësisë së leximit të kodit burimor, sepse Një rresht shumë i gjatë mund të mos përshtatet plotësisht në ekran.

Kur kursori i miut lëviz mbi Image1 mbajtës Image1Mouse Move kjo ngjarje përcakton vlerën e komponentit të ngjyrës blu të pikselit të kartës së kontrollit Image2 për koordinatat aktuale të kursorit. Nga ndërtimi Image2 kjo vlerë është e barabartë me numrin e elementit nëse kursori është brenda qelizës; zero nëse në kufi, dhe 255 në raste të tjera. Veprimet e mbetura të kryera nga programi janë të parëndësishme dhe nuk kërkojnë shpjegim.

Përveç teknikave të programimit stilistik të përmendura më sipër, vlen të përmendet stili i komentimit. Në mënyrë të rreptë, kodi i diskutuar është aq i vogël dhe i thjeshtë sa komentet nuk duken veçanërisht të nevojshme. Megjithatë, ato u shtuan edhe për arsye metodologjike - kodi i shkurtër na lejon të bëjmë disa përfundime të përgjithshme më qartë. Në kodin e paraqitur deklarohet një klasë (TtableDlg). Metodat e kësaj klase mund të ndërrohen dhe kjo nuk do të ndikojë në funksionimin e programit në asnjë mënyrë, por mund të ndikojë në lexueshmërinë e tij. Për shembull, imagjinoni sekuencën:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Mund të mos jetë shumë e dukshme, por do të bëhet pak më e vështirë për t'u lexuar dhe kuptuar. Nëse nuk ka pesë, por dhjetëra herë më shumë metoda në seksion zbatim ata kanë një rend krejtësisht të ndryshëm nga përshkrimet e klasave, atëherë kaosi vetëm do të rritet. Prandaj, megjithëse është e vështirë të provohet në mënyrë rigoroze dhe madje mund të jetë e pamundur, mund të shpresohet se futja e rendit shtesë do të përmirësojë lexueshmërinë e kodit. Ky renditje shtesë lehtësohet nga grupimi logjik i disa metodave që kryejnë detyra të lidhura. Secilit grup duhet t'i jepet një titull, për shembull:

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

Këta tituj duhet të kopjohen në fillim të modulit dhe të formatohen si një tabelë e përmbajtjes. Në disa raste të moduleve mjaft të gjata, tabela të tilla të përmbajtjes ofrojnë opsione shtesë navigimi. Në mënyrë të ngjashme, në trupin e gjatë të një metode, procedurë ose funksioni, së pari ia vlen të shënohet fundi i këtij trupi:

end; // FormCreate

dhe, së dyti, në thëniet e degëzuara me kllapa programi fillojnë - mbarojnë, shënoni deklaratën të cilës i referohet kllapa mbyllëse:

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

Për të theksuar titujt e grupeve dhe skajet e trupave të metodës, mund të shtoni rreshta që janë më të gjata se shumica e pohimeve dhe përbëhen, për shembull, nga karakteret "=" dhe "_", përkatësisht.
Përsëri, ne duhet të bëjmë një rezervë: shembulli ynë është shumë i thjeshtë. Dhe kur kodi i një metode nuk përshtatet në një ekran, mund të jetë e vështirë të kuptosh gjashtë funde të njëpasnjëshme për të bërë ndryshime kodi. Në disa përpilues të vjetër, për shembull, Pascal 8000 për OS IBM 360/370, një kolonë shërbimi si kjo ishte shtypur në të majtë në listë

B5
…
E5

Kjo do të thoshte se kllapa mbyllëse në rreshtin E5 korrespondonte me kllapat e hapjes në rreshtin B5.

Sigurisht, stili i programimit është një çështje shumë e diskutueshme, kështu që idetë e shprehura këtu nuk duhet të merren si asgjë më shumë se sa ushqim për t'u menduar. Mund të jetë shumë e vështirë për dy programues mjaft me përvojë, të cilët janë zhvilluar dhe janë mësuar me stile të ndryshme gjatë shumë viteve të punës, të arrijnë një marrëveshje. Është një çështje tjetër për një student që mëson të programojë, i cili ende nuk ka pasur kohë të gjejë stilin e tij. Mendoj se në këtë rast mësuesi duhet të paktën t'u përcjellë nxënësve të tij një ide kaq të thjeshtë, por jo të qartë se suksesi i një programi varet kryesisht nga stili në të cilin është shkruar kodi burimor i tij. Studenti mund të mos ndjekë stilin e rekomanduar, por le të mendojë të paktën për nevojën e veprimeve "ekstra" për të përmirësuar dizajnin e kodit burimor.

Duke iu rikthyer problemit tonë bazë në Tabelën Periodike: zhvillimi i mëtejshëm mund të shkojë në drejtime të ndryshme. Një nga udhëzimet është për referencë: kur kaloni kursorin e miut mbi një qelizë tabele, shfaqet një dritare informacioni që përmban informacion shtesë për elementin e specifikuar. Zhvillimi i mëtejshëm është filtrat. Për shembull, në varësi të instalimit, dritarja e informacionit do të përmbajë vetëm: informacionin më të rëndësishëm fizik dhe kimik, informacion mbi historinë e zbulimit, informacion mbi shpërndarjen në natyrë, një listë të përbërjeve më të rëndësishme (që përfshin këtë element), vetitë fiziologjike, emri në një gjuhë të huaj etj. e. Duke kujtuar "rosën" e Kaverin me të cilën fillon ky artikull, mund të themi se me këtë zhvillim të programit do të marrim një kompleks të plotë trajnimi në shkencat natyrore: përveç kompjuterit. shkenca, fizika dhe kimia - biologjia, gjeografia ekonomike, historia e shkencës dhe madje edhe gjuhët e huaja.

Por një bazë të dhënash lokale nuk është kufiri. Programi lidhet natyrshëm me internetin. Kur zgjidhni një element, lidhja aktivizohet dhe artikulli i Wikipedia për këtë element hapet në dritaren e shfletuesit të internetit. Wikipedia, siç e dini, nuk është një burim autoritar. Ju mund të vendosni lidhje me burime autoritare, për shembull, enciklopedi kimike, TSB, revista abstrakte, porosisni pyetje në motorët e kërkimit për këtë element, etj. Se. Studentët do të jenë në gjendje të kryejnë detyra të thjeshta por domethënëse mbi tema të DBMS dhe Internet.

Përveç pyetjeve për një element individual, mund të krijoni funksionalitet që, për shembull, do të shënojë qelizat në tabelë që plotësojnë kritere të caktuara me ngjyra të ndryshme. Për shembull, metalet dhe jometalet. Ose qelizat që hidhen në trupat ujorë nga një fabrikë kimike lokale.

Ju gjithashtu mund të zbatoni funksionet e një organizuesi të fletores. Për shembull, nënvizoni në tabelë elementet që përfshihen në provim. Më pas evidentoni elementët e studiuar/përsëritur nga studenti në përgatitjen e provimit.

Dhe këtu, për shembull, është një nga problemet tipike të kimisë në shkollë:

Jepet 10 g shkumës. Sa acid klorhidrik duhet të merret për të tretur gjithë këtë shkumës?

Për të zgjidhur këtë problem, është e nevojshme të shënohet kimi. reaksioni dhe duke vendosur koeficientët në të, njehsohen peshat molekulare të karbonatit të kalciumit dhe klorurit të hidrogjenit, më pas hartohen dhe zgjidhen proporcioni. Një kalkulator i bazuar në programin tonë bazë mund të llogarisë dhe zgjidhë. Vërtetë, do t'ju duhet ende të merrni parasysh se acidi duhet të merret në tepricë të arsyeshme dhe në një përqendrim të arsyeshëm, por kjo është kimi, jo shkenca kompjuterike.
Shtojca 1: Si funksionon kalkulatori i kimisëLe të analizojmë funksionimin e kalkulatorit duke përdorur shembullin e problemit të mësipërm të shkumës dhe "hodgepodge". Le të fillojmë me reagimin:

CaCO3 + 2HCl = CaCl2 + H2O

Nga kjo shohim se do të kemi nevojë për peshat atomike të elementeve të mëposhtëm: kalcium (Ca), karbon (C), oksigjen (O), hidrogjen (H) dhe klor (Cl). Në rastin më të thjeshtë, ne mund t'i shkruajmë këto pesha në një grup njëdimensional të përcaktuar si

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

ku indeksi i vargut korrespondon me numrin e elementit. Më shumë për hapësirën e lirë të formularit tabelaDlg vendos dy fusha. Në fushën e parë fillimisht shkruhet: “Reagenti i parë është dhënë”, në të dytën - “Reagenti i dytë është të gjesh x”. Le të shënojmë fushat reagent1, reagent2 përkatësisht. Shtesat e tjera në program do të jenë të qarta nga shembulli i mëposhtëm i kalkulatorit.

Shkruajmë në tastierën e kompjuterit: 10 gr Mbishkrim në fushë reagent1 ndryshon: “Reagentit të parë i jepet 10 g. Tani ne futim formulën e këtij reagenti, dhe kalkulatori do të llogarisë dhe do të tregojë peshën e tij molekulare kur e futni atë.

Klikoni LMB në qelizën e tabelës me simbolin Ca. Mbishkrim në fushë reagent1 ndryshimet: "Reagenti i parë Ca 40.078 i dhënë 10 g."

Klikoni LMB në qelizën e tabelës me simbolin C. Mbishkrimi në fushë reagent1 ndryshimet: "Reagenti i parë CaC 52.089 i dhënë 10 g." Ato. Llogaritësi shtoi peshat atomike të kalciumit dhe karbonit.

Klikoni LMB në qelizën e tabelës me simbolin O. Mbishkrimi në fushë reagent1 ndryshimet: "Reagenti i parë CaCO 68.088 i dhënë 10 g." Llogaritësi i shtoi shumës peshën atomike të oksigjenit.

Klikoni LMB në qelizën e tabelës me simbolin O. Mbishkrimi në fushë reagent1 ndryshimet: "Reagenti i parë CaCO2 84.087 i dhënë 10 g." Llogaritësi shtoi edhe një herë peshën atomike të oksigjenit në shumë.

Klikoni LMB në qelizën e tabelës me simbolin O. Mbishkrimi në fushë reagent1 ndryshimet: "Reagenti i parë CaCO3 100.086 i dhënë 10 g." Llogaritësi shtoi përsëri peshën atomike të oksigjenit në shumë.

Shtypni Enter në tastierën e kompjuterit tuaj. Futja e reagentit të parë ka përfunduar dhe kalon në fushë reagent2. Vini re se në këtë shembull ne po ofrojmë një version minimal. Nëse dëshironi, mund të organizoni lehtësisht shumëzues të atomeve të të njëjtit lloj, në mënyrë që, për shembull, të mos keni nevojë të klikoni shtatë herë radhazi në qelizën e oksigjenit kur futni formulën e kromit (K2Cr2O7).

Klikoni LMB në qelizën e tabelës me simbolin H. Mbishkrimi në fushë reagent2 ndryshon: "Reagenti i dytë H 1.008 gjeni x."

Klikoni LMB në qelizën e tabelës me simbolin Cl. Mbishkrim në fushë reagent2 ndryshon: "Reagenti i dytë HCl 36.458 gjeni x." Llogaritësi shtoi peshat atomike të hidrogjenit dhe klorit. Në ekuacionin e mësipërm të reagimit, klorurit të hidrogjenit i paraprin një koeficient prej 2. Prandaj, klikoni LMB në fushë reagent2. Pesha molekulare dyfishohet (trefishohet kur shtypet dy herë, etj.). Mbishkrim në fushë reagent2 ndryshon: "Reagenti i dytë 2HCl 72.916 gjeni x."

Shtypni Enter në tastierën e kompjuterit tuaj. Hyrja e reagentit të dytë përfundon dhe kalkulatori gjen x nga proporcioni

Tabela periodike në shkencat kompjuterike të shkollës

Kjo është ajo që na duhej të gjenim.

Shënimi 1. Kuptimi i proporcionit që rezulton: për shpërbërjen 100.086 Da shkumësa kërkon 72.916 Da acid, dhe për të tretur 10 g shkumës ju duhet x acid.

Shënimi 2. Koleksione të problemeve të ngjashme:

Khomchenko I. G., Koleksioni i problemeve dhe ushtrimeve në kimi 2009 (klasat 8-11).
Khomchenko G. P., Khomchenko I. G., Koleksioni i problemeve në kimi për aplikantët në universitete, 2019.

Shënimi 3. Për të thjeshtuar detyrën, mund të thjeshtoni futjen e formulës në versionin fillestar dhe thjesht të shtoni simbolin e elementit në fund të rreshtit të formulës. Atëherë formula e karbonatit të kalciumit do të jetë:
CaCOOO
Por një mësues i kimisë nuk ka gjasa të pëlqejë një regjistrim të tillë. Nuk është e vështirë të bësh hyrjen e saktë - për ta bërë këtë ju duhet të shtoni një grup:

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

ku indeksi është numri i elementit kimik dhe vlera në këtë indeks është numri i atomeve (fillimisht të gjithë elementët e grupit rivendosen në zero). Rendi në të cilin atomet janë shkruar në një formulë, siç është miratuar në kimi, duhet të merret parasysh. Për shembull, pak njerëz do të pëlqejnë ose O3CaC. Le të kalojmë përgjegjësinë tek përdoruesi. Krijimi i një vargu:

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

ku shkruajmë numrin e elementit kimik sipas indeksit të paraqitjes së tij në formulë. Shtimi i një atomi currNr në formulën:

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

Shkrimi i formulës në një rresht:

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;

Shënimi 4. Ka kuptim të sigurohet aftësia për të futur në mënyrë alternative formulën e reagentit nga tastiera. Në këtë rast, do t'ju duhet të zbatoni një analizues të thjeshtë.

Vlen të theksohet se:

Sot, ka disa qindra versione të tabelës, dhe shkencëtarët po ofrojnë vazhdimisht opsione të reja. (Wikipedia)

Nxënësit mund të tregojnë zgjuarsinë e tyre në këtë drejtim duke zbatuar një nga opsionet e propozuara tashmë ose të përpiqen të bëjnë origjinalin e tyre. Mund të duket se ky është drejtimi më pak i dobishëm për mësimet e shkencave kompjuterike. Megjithatë, në formën e Tabelës Periodike të zbatuar në këtë artikull, disa studentë mund të mos shohin avantazhet e veçanta të kartave të kontrollit ndaj zgjidhjes alternative duke përdorur butonat standardë. TButon. Forma spirale e tabelës (ku qelizat janë me forma të ndryshme) do të tregojë më qartë avantazhet e zgjidhjes së propozuar këtu.

Tabela periodike në shkencat kompjuterike të shkollës
(Sistemi alternativ i elementeve nga Theodore Benfey, Burim)

Le të shtojmë gjithashtu se një numër i programeve kompjuterike ekzistuese për Tabelën Periodike janë përshkruar në botuar së fundmi në Habré artikull.

Shtojca 2: shembuj të detyrave për filtraDuke përdorur filtra, mund të zgjidhni, për shembull, detyrat e mëposhtme:

1) Zgjidhni në tabelë të gjithë elementët e njohur në Mesjetë.

2) Identifikoni të gjithë elementët e njohur në kohën e zbulimit të Ligjit Periodik.

3) Identifikoni shtatë elementë që alkimistët i konsideronin metale.

4) Zgjidhni të gjithë elementët që janë në gjendje të gaztë në kushte normale (n.s.).

5) Zgjidhni të gjithë elementët që janë në gjendje të lëngët në nr.

6) Zgjidhni të gjithë elementët që janë në gjendje të ngurtë në nr.

7) Zgjidhni të gjithë elementët që mund të ekspozohen ndaj ajrit për një kohë të gjatë pa ndryshime të dukshme në kushte normale.

8) Zgjidhni të gjitha metalet që treten në acid klorhidrik.

9) Zgjidhni të gjitha metalet që treten në acidin sulfurik në nr.

10) Zgjidhni të gjitha metalet që treten në acid sulfurik kur nxehen.

11) Zgjidhni të gjitha metalet që treten në acid nitrik.

12) Izoloni të gjitha metalet që reagojnë dhunshëm me ujin në kushtet e ambientit.

13) Zgjidhni të gjitha metalet.

14) Identifikoni elementet që janë të përhapur në natyrë.

15) Identifikoni elementet që gjenden në natyrë në gjendje të lirë.

16) Identifikoni elementet që luajnë rolin më të rëndësishëm në trupin e njeriut dhe të kafshëve.

17) Zgjidhni elemente që përdoren gjerësisht në jetën e përditshme (në formë të lirë ose në kombinime).

18) Identifikoni elementët me të cilët është më i rrezikshmi për të punuar dhe që kërkojnë masa të veçanta dhe pajisje mbrojtëse.

19) Identifikoni elementet që, në formë të lirë ose në formën e përbërjeve, paraqesin kërcënimin më të madh për mjedisin.

20) Zgjidhni metale të çmuara.

21) Identifikoni elementët që janë më të shtrenjtë se metalet e çmuara.

Shënimet

1) Ka kuptim të sigurohen filtra të shumtë. Për shembull, nëse aktivizoni një filtër për të zgjidhur problemin 1 (të gjithë elementët e njohur në Mesjetë) dhe 20 (metalet e çmuara), atëherë qelizat me metale të çmuara të njohura në Mesjetë do të theksohen (për shembull, me ngjyrë) ( për shembull, paladiumi nuk do të theksohet, i hapur në 1803).

2) Ka kuptim të sigurohet që disa filtra të funksionojnë në një mënyrë të tillë që çdo filtër të zgjedhë qelizat me ngjyrën e vet, por të mos heqë plotësisht përzgjedhjen e një filtri tjetër (një pjesë e qelizës në një ngjyrë, një pjesë në një tjetër). Më pas, në rastin e shembullit të mëparshëm, do të jenë të dukshme elementet e kryqëzimit të grupeve të zbuluara në Mesjetë me metalet e çmuara, si dhe elementët që i përkasin vetëm grupit të parë dhe vetëm grupit të dytë. Ato. metale të çmuara të panjohura në mesjetë, dhe elementë të njohur në mesjetë, por jo metale të çmuara.

3) Ka kuptim pas aplikimit të filtrit për të siguruar mundësinë e një pune tjetër me rezultatet e marra. Për shembull, pasi ka zgjedhur elementë të njohur në Mesjetë, përdoruesi klikon LMB mbi elementin e zgjedhur dhe çohet në artikullin e Wikipedia-s për këtë element.

4) Ka kuptim t'i jepet përdoruesit aftësinë për të ç'zgjidhur duke klikuar LMB në qelizën e zgjedhur të tabelës. Për shembull, për të hequr artikujt e parë tashmë.

5) Ka kuptim të sigurohet që lista e qelizave të zgjedhura të ruhet në një skedar dhe që një skedar i tillë të ngarkohet me përzgjedhje automatike të qelizave. Kjo do t'i japë përdoruesit mundësinë për të marrë një pushim nga puna.

Ne përdorëm një hartë kontrolli statike, të paracaktuar, por ka shumë detyra të rëndësishme ku mund të përdoren hartat dinamike të kontrollit që ndryshojnë gjatë ekzekutimit të programit. Një shembull do të ishte një redaktues grafiku, në të cilin përdoruesi përdor miun për të treguar pozicionet e kulmeve në një dritare dhe për të tërhequr skajet midis tyre. Për të fshirë një kulm ose skaj, përdoruesi duhet ta drejtojë atë. Por nëse është mjaft e lehtë të tregosh një kulm të shënuar me një rreth, atëherë do të jetë më e vështirë të tregosh një skaj të vizatuar me një vijë të hollë. Një hartë kontrolli do të ndihmojë këtu, ku kulmet dhe skajet zënë lagje më të gjera sesa në figurën e dukshme.

Një pyetje anësore interesante në lidhje me këtë metodë të trajnimit kompleks është: a mund të jetë e dobishme kjo metodë në trajnimin e AI?

Burimi: www.habr.com

Shto një koment