Perioodiline tabel kooli informaatikas

(Juhtkaartide kohta)
(PĂŒhendatud Rahvusvahelisele Elementide Perioodilise Tabeli Aastale)
(Viimased tÀiendused tehtud 8. aprillil 2019. TÀienduste loetelu kohe allpool)

Perioodiline tabel kooli informaatikas
(Mendelejevi lill, Allikas)

MĂ€letan, kuidas me through hani Ă”ppisime. See olid kohe kolm tundi: geograafia, loodusteadus ja vene keel. Loodusteaduse tunnis uuriti hani kui hani: millised on selle tiivad, millised on jalad, kuidas ta ujub ja nii edasi. Geograafia tunnis uuriti sama hani kui maakeral elavat olendit: tuli kaardil nĂ€idata, kus ta elab ja kus teda pole. Vene keeles Ă”petas Serafima Petrovna meid kirjutama "u-t-k-a" ja luges midagi hani kohta Brema raamatust. Juhtumisi ĂŒtles ta meile, et saksa keeles on hani nii ja prantsuse keeles teistsugune. Tundub, et seda nimetati siis "kompleksseks meetodiks". ÜhesĂ”naga, kĂ”ik tuli "juhtumisi".

Venjamin Kaverin, Kaks kaptenit

Viidatud tsitaadis on Veniamin Kaverin meisterlikult vĂ€lja toonud kompleksse Ă”pimeetodi puudused, kuigi mĂ”nel (vĂ”ib-olla ĂŒsna harval) juhul vĂ”ivad selle meetodi elemendid olla Ă”igustatud. Üks selline juhtum on D.I. Mendelejevi perioodiline tabel kooli informaatika tundides. Ülesanne programmipĂ”hise automaatika rakendamiseks Mendelejevi tabeli tĂŒĂŒpiliste tegevuste jaoks on Ă”pilastele, kes hakkavad keemiat Ă”ppima, ĂŒpris arusaadav ja jaguneb paljudeks tĂŒĂŒpilisteks keemilisteks ĂŒlesanneteks. Samas vĂ”imaldab see informaatika valdkonnas lihtsal viisil demonstreerida juhendkaartide kasutamise meetodit, mida vĂ”ib laiemas mĂ”ttes pidada graafiliseks programmeerimiseks — programmeerimiseks graafiliste elementide abil.

(8. aprill 2019 lisatud tÀiendused:
TÀiendamine 1: kuidas keemiline kalkulaator töötab
TĂ€iendamine 2: filterĂŒlesannete nĂ€idised)

Alustame pĂ”hikĂŒsimusest. KĂ”ige lihtsama variandi korral peaks ekraanil vormiaken nĂ€itama Perioodilist tabelit, kus iga ruudus on keemiline sĂŒmbol: H — vesinik, He — heelium jne. Kui hiirekursor osutab ruudule, kuvatakse meie vormis erikastis elemendi sĂŒmbol ja selle number. Kui kasutaja sel juhul paremklĂ”psab, kuvatakse teises vormi vĂ€ljas selle valitud elemendi sĂŒmbol ja number.

Perioodiline tabel kooli informaatikas

Ülesannet saab lahendada igas universaalses programmeerimiskeeles. Me kasutame lihtsat ja vana Delphi-7, mis on peaaegu kĂ”igile arusaadav. Kuid enne programmeerimist joonistame kaks pilti, nĂ€iteks Photoshopis. Esiteks joonistame Perioodilise tabeli sellisena, nagu me tahame seda programmis nĂ€ha. Salvestame tulemuse graafikafailina. table01.bmp.

Perioodiline tabel kooli informaatikas

Teise joonise jaoks kasutame esimest. TÀidame jÀrk-jÀrgult igast graafikast puhastatud ruudud tabelis ainulaadsete vÀrvidega RGB vÀrvimudelis. R ja G on alati 0 ning B=1 vesiniku jaoks, 2 heeliumi jaoks jne. See joonis on meie juhtkardi, mille salvestame faili nimega. table2.bmp.

Perioodiline tabel kooli informaatikas

Esimene samm graafilise programmeerimise saavutas PhotoShopis oma lÔpu. Liigume edasi GUI graafilise programmeerimise poole IDE Delpi-7-s. Selleks avame uue projekti, kuhu peame peamisele vormile paigutama dialooge avava nupu (tableDlg), kus toimub tabeliga töötamine. SeejÀrel töötame vormiga tableDlg.

Asetame vormile komponendi klassist TImage. Saame Image1. Tuleb mĂ€rkida, et suurte projektide puhul vĂ”ivad automaatselt genereeritud nimed, nagu ImageN, kus N , ulatuda mitmekĂŒmne vĂ”i rohkemani — see ei ole parim programmeerimisstiil, ning tuleks anda arusaadavamaid nimesid. Kuid meie vĂ€ikeses projektis, kus N ei ĂŒleta 2, vĂ”ib jĂ€tta ka genereeritud nimed.

Asetame omadusse Image1.Picture faili table01.bmp. Loome Image2 ja laadime sinna meie juhtfunktsiooni kaardi table2.bmp. Samal ajal teeme faili vÀikseks ja kasutajale nÀhtamatuks, nagu on nÀidatud vormi vasakus alumises nurgas. Lisame tÀiendavaid juhtimiselemente, mille eesmÀrgid on ilmsed. Teine samm GUI graafilises programmeerimises IDE Delpi-7-s on lÔpetatud.

Perioodiline tabel kooli informaatikas

JĂ€tkame kolmandasse etappi — koodi kirjutamisse IDE Delpi-7. Moodul koosneb vaid viiest sĂŒndmuste kĂ€itlejast: vormi loomine (FormCreate), kursori liikumine ( Image1 (Image1MouseMove), hiire vasaku nupu klikkimine lahtrile (Image1Click) ja dialoogist vĂ€ljumine nuppude OK (OKBtnClick) vĂ”i Cancel (CancelBtnClick). Nende kĂ€itlejate pealkirjad genereeritakse standardmeetodil IDE kaudu.

Mooduli allikas:

unit tableUnit;
// Aperiodiline tabel keemiliste elementide D.I. Mendelejevi
//
// third112
// https://habr.com/ru/users/third112/
//
// Sisukord
// 1) vormi loomine
// 2) tabeliga töötamine: tÀhistamine ja valik
// 3) dialoogist vÀljumine

interface

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

const
 size = 104; // elementide arv
 
type
 TtableDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    Image1: TImage;  // keemiliste elementide tabel
    Label1: TLabel;
    Image2: TImage;  // juhtimiskaart
    Label2: TLabel;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject); // vormi loomine
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);                        // ruudu tÀhistamine
    procedure Image1Click(Sender: TObject); // ruudu valik
    procedure OKBtnClick(Sender: TObject);  // OK
    procedure CancelBtnClick(Sender: TObject); // TĂŒhista
  private
    { Privaatsed deklareerimised }
    TableSymbols : array [1..size] of string [2]; // elementide tÀhiste massiiv
  public
    { Avalikud deklareerimised }
    selectedElement : string; // valitud element
    currNo : integer;         // praegune elemendi number
  end;

var
  tableDlg: TtableDlg;

implementation

{$R *.dfm}

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

// vormi loomine  ==================================================

procedure TtableDlg.FormCreate(Sender: TObject);
// vormi loomine
var
  s : string;
  i,j : integer;
begin
  currNo := 0;
// elementide tÀhiste massiivi initsialiseerimine:
  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 ____________________________________________________

// tabeliga töötamine: tÀhistamine ja valik =========================================

procedure TtableDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
// ruudu tÀhistamine
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 := 'Vali element:';
end; // Image1MouseMove   ____________________________________________________

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

// dialoogist vÀljumine  ==================================================

procedure TtableDlg.OKBtnClick(Sender: TObject);
begin
    selectedElement := Edit1.Text;
    hide;
end;  // OKBtnClick ____________________________________________________

procedure TtableDlg.CancelBtnClick(Sender: TObject);
begin
  hide;
end;  // CancelBtnClick ____________________________________________________

end.

Meie versioonis kasutasime 104 elemendiga tabelit (konstant. size). Ilmselgelt vĂ”ib see suurus suureneda. Elementide tĂ€hised (keemilised sĂŒmbolid) kirjutatakse massiivi TableSymbols. Kuid lĂ€htudes koodi kompaktsusest tundub mĂ”istlikud esitada nende tĂ€histe jĂ€rjestus stringi konstantidena PeriodicTableStr1,
, PeriodicTableStr4, et programmi loomise sĂŒndmuse korral jaotaks see tĂ€hised ise massiivi elementide vahel. Iga elemendi tĂ€his koosneb ĂŒhest vĂ”i kahest ladina tĂ€hest, kusjuures esimene tĂ€ht on suur ja teine (kui see on olemas) vĂ€ike. See lihtne reegel rakendatakse massiivi laadimise ajal. Seega Ă”nnestub tĂ€histe jĂ€rjestus salvestada kokkutĂ”mmatud kujul ilma tĂŒhikuta. JĂ€rjestuse jagamine neljaks osaks (konstantideks PeriodicTableStr1,
, PeriodicTableStr4) on tingitud lĂ€htest koodi lugemise mugavuse pĂ€rast, kuna liiga pikk rida ei pruugi ekraanile tĂ€ielikult mahtuda.

Hiirekursoriga navigeerimise sĂŒndmuse korral Image1 selle sĂŒndmuse Image1MouseMove kĂ€sitleja mÀÀrab juhtkaartide pikseli sinise komponendi vÀÀrtuse. Image2 kursorikoordinaatide jaoks. Ehitatud Image2 see vÀÀrtus on elemendi number, kui kursor asub rakus; null, kui see on piiril, ja 255 muudel juhtudel. ÜlejÀÀnud programmis teostatavad toimingud on triviaalset laadi ja ei vaja lisaselgitusi.

Lisaks eespool mainitud programmeerimisstiilidele tasub mainida ka kommentaaride stiili. Rangelt öeldes on arutatud kood nii vĂ€ike ja lihtne, et kommentaarid ei tundu eriti vajalikud. Kuid need on lisatud osaliselt ka metoodiliste kaalutluste tĂ”ttu — lĂŒhikood vĂ”imaldab mĂ”ningaid ĂŒldisi jĂ€reldusi visuaalselt selgemini esitada. Esitatud koodis on deklareeritud ĂŒks klass (TtableDlg). Selle klassi meetodeid saab vahetada ning see ei mĂ”juta programmi toimimist, kuid vĂ”ib mĂ”jutada selle loetavust. NĂ€iteks kujutame ette jĂ€rjestust:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

VĂ”ib-olla pole see vĂ€ga mĂ€rgatav, kuid lugemine ja mĂ”istmine muutub veidi keerukamaks. Kui meetodeid ei ole viis, vaid kĂŒmneid kordi rohkem ja sektsioonis rakendamine Neil on tĂ€iesti erinev jĂ€rjestus, kui klasside kirjeldustes, siis kaos suureneb vaid. SeetĂ”ttu, kuigi rangelt tĂ”estada on keeruline ja isegi vĂ”ib-olla vĂ”imatu, saab siiski loota, et tĂ€iendava korra loomine parandab koodi loetavust. Seda tĂ€iendavat korda soodustab loogiline rĂŒhmitamine mitmest meetodist, mis teevad sarnaseid ĂŒlesandeid. Iga rĂŒhmale tasub anda pealkiri, nĂ€iteks:

// Ń€Đ°Đ±ĐŸŃ‚Đ° с таблОцДĐč: уĐșĐ°Đ·Đ°ĐœĐžĐ” Đž ĐČŃ‹Đ±ĐŸŃ€

Need pealkirjad tasuks kopeerida mooduli algusesse ja vormistada sisukorrana. Teatud piisavalt pikkade moodulite puhul pakuvad sellised sisukorrad tÀiendavaid navigeerimisvÔimalusi. Samuti pika meetodi, protseduuri vÔi funktsiooni kehas tasub esiteks mÀrkida selle keha lÔpp:

end; // FormCreate

ja teiseks, harunemiste operaatorites programmiklambritega begin – end, mĂ€rkida operaator, millele sulgev klamber kuulub:

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

Gruppide pealkirjade ja meetodite kehade lĂ”ppude eristamiseks saab lisada ridu, mis ĂŒletavad enamikku operaatorite pikkusest ja koosnevad nĂ€iteks sĂŒmbolitest «=» ja «_» vastavalt.
Siiski tuleb mĂ€rkida: meil on siin liiga lihtne nĂ€ide. Kui meetodi kood ei mahu ĂŒhele ekraanile, vĂ”ib kuue jĂ€rjestikku lĂ”pu mĂ”istmine ja koodi muutmine osutuda keeruliseks. MĂ”nedes vanades kompilaatorites, nĂ€iteks Pascal 8000 IBM 360/370 jaoks, trĂŒkiti vasakule lehekohta teenindava kolonni kujul

B5


E5

See tÀhendas, et sulgev programmiline sulg real E5 vastab avavale sulule real B5.

Muidugi on programmeerimise stiil vĂ€ga subjektiivne teema, seetĂ”ttu tuleks siin vĂ€lja toodud ideid vĂ”tta pigem mĂ”tteainena. Kahele piisavalt kogenud programmeerijale, kellel on aastatepikkuse töö jooksul vĂ€lja kujunenud erinevad harjumused, vĂ”ib olla vĂ€ga keeruline omavahel leppida. Teine asi on noor programmeerija, kellel pole veel olnud vĂ”imalust oma stiili kujundada. Arvan, et sellisel juhul peaks Ă”petaja vĂ€hemalt edastama oma Ă”pilastele lihtsa, kuid neile mitte ilmse mĂ”tte, et programmi edu sĂ”ltub suuresti selle lĂ€htekoodi kirjutamise stiilist. Õpilane vĂ”ib mitte jĂ€rgida soovitatud stiili, kuid olgu vĂ€hemalt teema, kas â€žĂŒlejÀÀnud” tegevusi oleks vaja, et lĂ€htekoodi vormistamist parandada.

Tagasi meie peamise ĂŒlesande juurde Perioodilisest tabelist: edasine areng vĂ”ib toimuda erinevates suundades. Üks suund on viidatud: hiirekursori liikudes tabeli lahtrile avaneb infokast, mis sisaldab tĂ€iendavaid andmeid antud elemendi kohta. Edasine areng — filtrid. NĂ€iteks, sĂ”ltuvalt infokasti seadetest on saadaval ainult: kĂ”ige olulisemad fĂŒĂŒsikalis-keemilised andmed, teave avastamise ajaloost, teave levikust looduses, loetelu olulisematest ĂŒhenditest (kuhu antud element kuulub), fĂŒsioloogilised omadused, nimed vÔÔrkeeles jne. Kavatsemiseks Kaverini 'kube' meeles pidades, millega see artikkel algab, vĂ”ib öelda, et selle programmi sellise arengu korral saame tĂ€ieliku Ă”pikute kompleksi loodusteadustes: lisaks infotehnoloogiale, fĂŒĂŒsikale ja keemiale — bioloogia, majandusgeograafia, teadushistory ja isegi vÔÔrkeeled.

Kuid kohalik andmebaas pole piiriks. Programm ĂŒhendub loomulikult Internetiga. Kui element valitakse, avaneb link ja brauseris kuvatakse selle elemendi kohta Wikipedia artikkel. Wikipedia, nagu teada, ei ole autoriteetne allikas. VĂ”ib viidata autoriteetsetele allikatele, nagu keemiaraamatud, BSE, refereerivad ajakirjad, teha otsingupĂ€ringud selle elemendi kohta jne. Seega saavad Ă”pilased teostada lihtsaid, kuid sisukaid ĂŒlesandeid andmebaasi ja Interneti teemadel.

Lisaks eraldi elemendi pÀringutele saab luua funktsiooni, mis tÀhistab nÀiteks erinevate vÀrvidega tabeli lahtrid, mis vastavad teatud kriteeriumidele. NÀiteks metallid ja mitte metallid. VÔi lahtrid, mida kohalik keemiatehas veehoidlatesse suunab.

Samuti saab rakendada mÀrkmiku- ja korraldaja funktsioone. NÀiteks esile tÔsta tabelis elemendid, mis kuuluvad eksamisse. SeejÀrel tÀhistada elemendid, mida Ôpilane on eksamiks valmistudes Ôppinud/kordnud.

NĂ€iteks ĂŒks tĂŒĂŒpiline kooli keemia ĂŒlesanne:

Antud on 10 g kriiti. Kui palju soolhappe lahust tuleks vÔtta, et see kriit tÀielikult lahustada?

Selle ĂŒlesande lahendamiseks tuleb kirja panna keemiline reaktsioon ja paika panna koefitsiendid, siis arvutada kaltsiumkarbonaadi ja vesinikkloriidi molekulmassid, ning seejĂ€rel koostada ja lahendada proportsioon. Selle vĂ”ib arvutada meie pĂ”hiprogrammi alusel. TĂ”si, tuleb arvestada ka, et hape peaks olema piisavas koguses ja mĂ”istlikus kontsentratsioonis, kuid see puudutab juba keemiat, mitte informaatikat.
TĂ€iendamine 1: kuidas keemiline kalkulaator töötabAnalĂŒĂŒsime kalkulaatori tööd antud ĂŒlesande nĂ€itel kriidi ja „soolhappe” puhul. Alustame reaktsioonist:

CaCO3 + 2HCl = CaCl2 + H2O

Seega nĂ€eme, et meil on vaja jĂ€rgmiste elementide aatomimasse: kaltsiumi (Ca), sĂŒsiniku (C), hapniku (O), vesiniku (H) ja kloori (Cl). Lihtsamas vormis saame need massid kirja panna ĂŒhes mÔÔtmemassiivi, mis on mÀÀratletud kui

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

kus massiivi indeks vastab elemendi numbrile. Veel vaba kohta vormis tableDlg paigutame kaks vĂ€lja. Esimeses vĂ€ljas on algselt kirjas: “Esimene reaktiiv antud”, teises — “Teine reaktiiv leida x”. MĂ€rgime vĂ€lja reagent1, reagent2 vastavalt. Programmi teised tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest.

Sisestame arvuti klaviatuuril: 10 g. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv on 10 g”. NĂŒĂŒd sisestame selle reaktiivi valemi ja kalkulaator hakkab arvestama ning nĂ€itama selle molekulaarset kaalu sisestamise kĂ€igus.

Vasakklahvhiirega klĂ”psame tabeli lahtril, kus on sĂŒmbol Ca. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv Ca 40,078, antud 10 g.”

Vasakklahvhiirega klĂ”psame tabeli lahtril, kus on sĂŒmbol C. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv CaC 52,089, antud 10 g.” See tĂ€hendab, et kalkulaator liitis kaltsiumi ja sĂŒsiniku aatomimassid.

Vasakklahvhiirega klĂ”psame tabeli lahtril, kus on sĂŒmbol O. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv CaCO 68,088, antud 10 g.” Kalkulaator lisas summeeritud aatomimassi hapniku.

Vasakklahvhiirega klĂ”psame tabeli lahtril, kus on sĂŒmbol O. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv CaCO2 84,087, antud 10 g.” Kalkulaator lisas veel kord summeeritud aatomimassi hapniku.

Vasakklahvhiirega klĂ”psame tabeli lahtril, kus on sĂŒmbol O. Kirje vĂ€ljale reagent1 muutub: „Esimene reaktiiv CaCO3 100,086, antud 10 g.” Kalkulaator lisas taas summeeritud aatomimassi hapniku.

Vajutame Enter klaviatuuril. Esimese reaktiivi sisestamine on lĂ”petatud ja liikume vĂ€ljale. reagent2. TĂ”stame esile, et antud nĂ€ites toome vĂ€lja minimaalversiooni. Soovi korral on lihtne korraldada sama tĂŒĂŒpi aatomite multiplikatoreid, et nĂ€iteks mitte vajutada seitse korda jĂ€rjest hapniku lahtri peale, kui sisestada krompik (K2Cr2O7) valemit.

KlĂ”psake hiire vasakut nuppu tabeli lahtril, mille sĂŒmbol on H. Tekst vĂ€ljal reagent2 muutub: "Teine reagens H 1.008 leidke x".

KlĂ”psake hiire vasakut nuppu tabeli lahtril, mille sĂŒmbol on Cl. Tekst vĂ€ljal reagent2 muutub: "Teine reagens HCl 36.458 leidke x". Kalkulaator lisab vesiniku ja kloori aatomimassid. Ülaltoodud reaktsiooni vĂ”rrandis on hĂŒdrokloriidhappe ees koefitsient 2. SeetĂ”ttu klĂ”psake hiire vasakut nuppu vĂ€ljal reagent2. Molekulmass kahekordistub (kahekordse kliki korral kolmekordistub jne). Tekst vĂ€ljal reagent2 muutub: "Teine reagens 2HCl 72.916 leidke x".

PÀrast Enter'i vajutamist arvuti klaviatuuril. Teise reagensi sisestamine on lÔpetatud ja kalkulaator leiab x proportsioonist

Perioodiline tabel kooli informaatikas

Nagu oli vaja leida.

MÀrkus 1. Saadud proportsiooni tÀhendus: 100.086 Da kriiti on vaja 72.916 Da hapet, ja 10 g kriidi lahustamiseks on vajalik x hapet.

MĂ€rkus 2. Sarnaste ĂŒlesannete kogumikud:

Homčenko I. G., KeemiaĂŒlesannete ja harjutuste kogumik 2009 (8-11 klass).
HomĆĄenko G. P., HomĆĄenko I. G., KeemiaĂŒlesannete kogu sisseastujatele ĂŒlikoolidesse, 2019.

MĂ€rkus 3. Ülesande lihtsustamiseks vĂ”ib algversioonis formulari sisestamise lihtsamaks teha ning lihtsalt elementi sĂŒmboli lĂ”ppu lisada. Siis on kaltsiumkarbonaadi valem jĂ€rgmine:
CaCOOO
Kuid selline kirjutamine ei meeldi tĂ”enĂ€oliselt keemiaĂ”petajale. Õige kirjutamine pole keeruline — selleks tuleb lisada massiiv:

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

kus indeks on keemilise elemendi number ja selle indeksi vÀÀrtus on aatomite arv (alguses kÔik massiivi elemendid nullitakse). Tuleb arvestada aatomite jÀrjekorda valemis, mis on keemias vastu vÔetud. NÀiteks O3CaC ei meeldi samuti enamikule. VÔtame vastutuse kasutaja peale. Teeme massiivi:

 formulaOrder : array [1..size] of integer; // vĂ”ib vĂ”tta lĂŒhemalt

kuhu salvestame keemilise elemendi numbri selle valemis esinemise indeksina. Aatomite lisamine currNo valemisse:

if formula [currNo]=0 then //see aatom on esmakordselt
 begin
 orderIndex := orderIndex+1; // valemi sisestamise alguses orderIndex=0
 formulaOrder [orderIndex] :=  currNo;
 end;
formula [currNo]:=formula [currNo]+1;

Valemi kirjutamine reale:

s := ''; // tĂŒhi string valemiks
for i:=1 to orderIndex do // kĂ”ik keemilised sĂŒmbolid valemis
begin
 s:=s+TableSymbols [ formulaOrder[i]];// lisame keemilise sĂŒmboli
 if formula [formulaOrder[i]]<>1 then //lisame aatomite arvu
 s:=s+ intToStr(formula [formulaOrder[i]]);
end;

MĂ€rkus 4. On mĂ”istlik tagada vĂ”imalus reagendi valemi alternatiivseks sisestamiseks klaviatuurilt. Sel juhul tuleb rakendada lihtne sĂŒntaksianalĂŒsaator.

Tasub mÀrkida, et:

TĂ€na on olemas mitu sada erinevat tabelit, samas kui teadlased pakuvad pidevalt uusi variante. (Vikipeedia)

Õpilased saavad ka selles suunas leidlikkust nĂ€idata, rakendades mĂ”nda juba pakutud varianti vĂ”i proovides luua enda originaali. NĂ€iliselt vĂ”iks tunduda, et see on kĂ”ige vĂ€hem kasulik suund infotehnoloogia tundides. Kuid selle artikli vormis esitatud Perioodiline tabel vĂ”ib mĂ”nedele Ă”pilastele mitte tuvastada juhtkaartide eeliseid alternatiivse lahenduse osas standardsete nuppudega. TButton. Spiraalsete tabelivormide puhul (kus ruudud on erineva kujuga) nĂ€idatakse pakutud lahenduse eeliseid selgemalt.

Perioodiline tabel kooli informaatikas
(Teodor Benfey alternatiivne elementide sĂŒsteem, Allikas)

Lisame veel, et mitmetest hetkel olemasolevatest arvutiprogrammidest, mis on seotud Mendelejevi tabeliga, on juttu hiljuti Harbes avaldatud artiklis. artiklis.

Lisand 2: filtrite ĂŒlesannete nĂ€itedFiltreid saab kasutada nĂ€iteks jĂ€rgmiste ĂŒlesannete lahendamiseks:

1) TÔsta tabelis esile kÔik elemendid, mis olid tuntud keskaegsel ajal.

2) TÔsta esile kÔik elemendid, mis olid tuntud perioodil, mil Perioodilise seaduse avastus toimus.

3) TÔsta esile seitse elementi, mida alkeemikud pidasid metallideks.

4) TÔsta esile kÔik elemendid, mis on normaalsetes tingimustes (n.t.) gaasilises olekus.

5) TÔsta esile kÔik elemendid, mis on normaalsetes tingimustes vedelal kujul.

6) TÔsta esile kÔik elemendid, mis on normaalsetes tingimustes tahkel kujul.

7) TĂ”sta esile kĂ”ik elemendid, mis suudavad pikka aega Ă”hus pĂŒsida ilma tĂ€helepanuvÀÀrsete muutusteta normaalsetes tingimustes.

8) TÔsta esile kÔik metallid, mis lahustuvad soolhappes.

9) TÔsta esile kÔik metallid, mis lahustuvad vÀÀvelhappes normaalsetes tingimustes.

10) TÔsta esile kÔik metallid, mis lahustuvad vÀÀvelhappes kuumutamisel.

11) Erakorda kÔik metallid, mis lahustuvad lÀmmastikhappes.

12) Erakorda kÔik metallid, mis reageerivad veega aktiivselt normaalses olekus.

13) Erakorda kÔik metallid.

14) Erakorda elemendid, mis esinevad looduses laialdaselt.

15) Erakorda elemendid, mis esinevad looduses vabas olekus.

16) Erakorda elemendid, mis mÀngivad olulist rolli inimese ja loomade organismis.

17) Erakorda elemendid, mida kasutatakse laialdaselt igapĂ€evaelus (kas vabalt vĂ”i ĂŒhendites).

18) Erakorda elemendid, millega töötamine on kÔige ohtlikum ja nÔuab erilisi ettevaatusmeetmeid ja kaitsevahendeid.

19) Erakorda elemendid, mis vabalt vĂ”i ĂŒhendites kujutavad suurimat ohtu ökoloogiale.

20) Erakorda vÀÀrismetallid.

21) Erakorda elemendid, mille hind ĂŒletab vÀÀrismetallide omi.

MĂ€rkused

1) On mĂ”istlik tagada mitme filtri töö. NĂ€iteks, kui aktiveerida filter ĂŒlesande lahendamiseks 1 (kĂ”ik elemendid, mis olid tuntud keskaegadel) ja 20 (vÀÀrismetallid), siis tuvastatakse (nĂ€iteks vĂ€rviga) lahtrid vÀÀrismetallidega, mis olid tuntud keskaegadel (nĂ€iteks palladium, mis avastati 1803. aastal, ei pruugi olla tuvastatud).

2) On oleks mĂ”istlik tagada, et mitu filtrit töötaksid sel viisil, et iga filter tĂ€histaks lahtrid oma vĂ€rviga, kuid ei eemaldaks tĂ€ielikult teise filtri mĂ€rkust (osa lahtrist ĂŒhe vĂ€rviga, osa teisega). Siis oleks eelneva nĂ€ite puhul nĂ€htav nende elementide ĂŒhisosa, mis kuuluvad keskaega ja vÀÀrismetallide alla, samuti elemendid, mis kuuluvad ainult esimesse ja ainult teise hulka. St. vÀÀrismetallid, mis olid keskaegadele tundmatud, ja elemendid, mis on tuntud keskaegades, kuid ei ole vÀÀrismetallid.

3) On mÔistlik pÀrast filtri rakendamist tagada vÔimalus tegeleda saadud tulemustega. NÀiteks, kui kasutaja on valinud keskaegadele tuntud elemendid, vÔib ta hiire vasaku nupuga klÔpsata valitud elemendil ja avada selle kohta artikli Vikipeedias.

4) On mÔistlik tagada, et kasutaja saaks eemaldada valimise, klÔpsates hiire vasaku nupuga valitud tabeli lahtril. NÀiteks, et eemaldada juba vaadatud elemendid.

5) On mÔistlik tagada valitud lahtrite salvestamine failis ning selle faili laadimine automaatse lahtri esiletoomisega. See annab kasutajale vÔimaluse töö katkestamiseks.

KASUTASIME staatilist eelnevalt mÀÀratud juhtimiskaart, kuid on palju olulisi ĂŒlesandeid, kus vĂ”ivad kasutada dĂŒnaamilised juhtimiskaardid, mis muutuvad programmi kĂ€igus. NĂ€iteks graafide redigeerija, kus kasutaja nĂ€itab hiirega aknas tippude asukohti ja joonistab nende vahel servi. Tippu vĂ”i servi eemaldamiseks peab kasutaja sellele osutama. Kuid kui tipp, mis on tĂ€histatud ringiga, on lihtsalt mĂ€rgatav, siis on serva, mis on joonistatud Ă”hukese joonega, mĂ€rkamisega keerulisem. Siin aitab juhtimiskaart, kus tipud ja servad hĂ”ivavad suuremaid piirkondi kui nĂ€htavas joonises.

Kompleksse Ă”ppimise meetodiga on seotud huvitav kĂ”rvalkĂŒsimus: kas see meetod vĂ”iks olla kasulik tehisintellekti koolitamisel?

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster