Mendelejevi tabel kooli informaatikas

(Juhtimiskaardid)
(PĂŒhendatud Rahvusvahelisele Keemiliste Elementide Perioodilise Tableti Aastale)
(Viimased tÀiendused tehti 8. aprillil 2019. TÀienduste nimekiri kohe katte all)

Mendelejevi tabel kooli informaatikas
(Mendelejevi lill, Allikas)

Meenub, et Ă”ppisime partide kohta. Need olid kolm tundi: geograafia, loodusteadus ja vene keel. Loodusteaduse tunnis uuriti parti kui parte: millised on tal tiivad, millised on jalad, kuidas ta ujub ja nii edasi. Geograafia tunnis uuriti sama part kui maa elanikku: kaardil tuli nĂ€idata, kus ta elab ja kus teda pole. Vene keeles Ă”petas Serafima Petrovna meid kirjutama 'p-a-r', ja luges midagi partidest Breemi teosest. Üksikasjalikult ĂŒtles ta meile, et saksa keeles on part nii, ja prantsuse keeles naa. Tundub, et seda nimetati tol ajal 'kompleksmeetodiks'. KokkuvĂ”ttes lĂ€ks kĂ”ik 'kokkuvĂ”ttes'.

Veniamin Kaverin, Kaks kaptenit

Antud tsitaadis on Veniamin Kaverin meisterlikult nĂ€idanud kompleksmeetodi Ă”petamise puudusi, kuid mĂ”nel (vĂ”ib-olla ĂŒsna harval) juhul on selle meetodi elemendid Ă”igustatud. Üks selline juhtum on D.I. Mendelejevi perioodiline tabel kooli informaatika tundides. Programmide automatiseerimise ĂŒlesanne Mendelejevi tabeliga seotud tĂŒĂŒpiliste tegevuste puhul on Ă”pilastele, kes on hakanud keemiat Ă”ppima, selgelt nĂ€htav ja jaguneb paljudele tĂŒĂŒpilistele keemilistele ĂŒlesannetele. Samas vĂ”imaldab see ĂŒlesanne informaatika kontekstis lihtsalt demonstreerida juhtimiskaartide meetodit, mida saab laiema tĂ€hendusega seostada graafilise programmeerimisega, mĂ”istes seda programmeerimise vormina graafiliste elementide kaudu.

(8. aprillil 2019 tehti tÀiendused:
TÀiend 1: kuidas keemiline kalkulaator töötab
TĂ€iend 2: nĂ€idised filtreerimise ĂŒlesannetest)

Alustame pĂ”hiĂŒlesandest. Lihtsaimalt öeldes peaks ekraanil vormi-aknas kuvama perioodilise tabeli, kus igas ruudus oleks keemilise elemendi sĂŒmbol: H — vesinik, He — heelium jne. Kui hiirekursor osutab ruudule, siis kuvatakse meie vormil spetsiaalses vĂ€ljas elemendi sĂŒmbol ja tema number. Kui kasutaja samal ajal vajutab hiire vasakut nuppu, siis nĂ€idatakse teises vormi vĂ€ljas valitud elemendi sĂŒmbolit ja numbret.

Mendelejevi tabel kooli informaatikas

Ülesande saab lahendada mis tahes universaalses programmeerimiskeeles. VĂ”tame nĂ€iteks lihtsa 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.

Mendelejevi tabel kooli informaatikas

Teiseks joonistamiseks kasutame esimest. TÀidame jÀrjestikku kÔik graafikast puhastatud tabeli ruudud unikaalsete vÀrvidega RGB vÀrvimudelisse. R ja G on alati 0, samas kui B=1 vesiniku jaoks, 2 heeliumi jaoks jne. See joonistus on meie juhtimiskaart, mille salvestame faili nimega. table2.bmp.

Mendelejevi tabel kooli informaatikas

Esimene etapp graafilisest programmeerimisest Photoshopis on lÔpetatud. Liigume graafilise programmeerimise GUI juurde Delphi-7 IDE-s. Selleks avame uue projekti, kuhu pÀÀformaati lisame dialooge avava nupu (tableDlg), kus toimub tabeliga töötamine. Edasi töötame vormiga. tableDlg.

Kandke vormile komponendi klass. TImage. Saame. Image1. TĂ€histame, et suuremates projektides automaatselt genereeritud nimed, nagu nĂ€iteks. ImageN, kus N , vĂ”ivad ulatuda mitmekĂŒmne ja enamani – see ei ole parim programmeerimisstiil ning tuleks anda rohkem mĂ”testatud nimed. Kuid meie vĂ€ikeses projektis, kus. N ei ĂŒleta 2, vĂ”ib jĂ€tta nii, nagu genereeriti.

Omadusse. Image1.Picture laadime faili. table01.bmp. Loome Image2 ja laadime sinna meie juhtimiskaardi. table2.bmpSelle juures teeme faili vÀikseks ja kasutajale nÀhtamatuks, nagu on nÀidatud vormi vasakus alanurgas. Lisame tÀiendavaid kontrollkomponente, mille otstarve on ilmselge. Teine etapp graafilisest programmeerimisest GUI-s Delphi-7 IDE-s on lÔppenud.

Mendelejevi tabel kooli informaatikas

Liigume kolmandasse etappi – koodi kirjutamine Delphi-7 IDE-s. Moodul sisaldab vaid viit sĂŒndmuste töötlejat: vormi loomine (FormCreate), hiirekursor liikumine ( Image1 (Image1MouseMove), hiire vasaku nupu vajutamine ruudule (Image1Click) ja dialoogist vĂ€ljumine OK nuppude (OKBtnClick) vĂ”i TĂŒhista (CancelBtnClick). Nende töötlejate pealkirjad genereeritakse standardviisil IDE kaudu.

Mooduli lÀhtekood:

unit tableUnit;
// Perioodiline tabel D.I. Mendelejevi keemiliste elementide
//
// third112
// https://habr.com/ru/users/third112/
//
// Sisu
// 1) vormi loomine
// 2) tabeliga töötamine: viitamine 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 viitamine
    procedure Image1Click(Sender: TObject); // ruudu valimine
    procedure OKBtnClick(Sender: TObject);  // OK
    procedure CancelBtnClick(Sender: TObject); // TĂŒhista
  private
    { Eraotsused }
    TableSymbols : array [1..size] of string [2]; // elementide sĂŒmbolite massiiv
  public
    { Avalikud otsused }
    selectedElement : string; // valitud element
    currNo : integer;         // hetke elementide 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 sĂŒmbolite 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: viitamine ja valik =========================================

procedure TtableDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
// ruudu viitamine
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 seda suurust suurendada. Elementide nimetused (keemilised sĂŒmbolid) kirjutatakse massiivi TableSymbols. Ent algse koodi kompaktsuse tĂ”ttu tundub ratsionaalsena kirjutada nende nimetuste jĂ€rjestus stringikonstantidena PeriodicTableStr1,
, PeriodicTableStr4, et programm saaks vormi loomise sĂŒndmuse korral ise need nimetused massiivi elementide vahel jaotada. Iga elemendi nimetuse koosneb ĂŒhest vĂ”i kahest ladina tĂ€hest, kusjuures esimene tĂ€ht on suur ja teine (kui olemas) vĂ€ike. See lihtne reegel rakendatakse massiivi laadimise kĂ€igus. Seega Ă”nnestub nimetuste jada kirjutada kokku surutud kujul ilma tĂŒhikuta. Jada jagamine neljaks osaks (konstant PeriodicTableStr1,
, PeriodicTableStr4) on tingitud algse koodi lugemise mugavusest, kuna liiga pikk rida ei pruugi tĂ€ielikult ekraanile mahtuda.

KĂ€esoleva sĂŒndmuse ajal, kui hiirekursor liigub ĂŒle Image1 sĂŒndmuse Image1MouseMove kĂ€itleja Image2 mÀÀrab selle sĂŒndmuse sinise komponenti vÀÀrtuse juhtkaartide pikseli jaoks Image2 kĂ€esolevate koordinaatide puhul. Ehitatud kohas

on see vÀÀrtus elemendi number, kui kursor asub kasti sees; null, kui piiril, ja 255 muudel juhtudel. ÜlejÀÀnud tegevused, mida programm tĂ€idab, on tĂŒhised ja ei vaja selgitamist.Lisaks eespool mainitud programmeerimise stiilidele tasub mĂ€rkida kommentaaride stiili. TĂ”siselt vĂ”ttes on analĂŒĂŒsitud kood nii vĂ€ike ja lihtne, et kommentaarid ei tundu eriti vajalikud. Kuid need on lisatud ka metoodilistel kaalutlustel — lĂŒhike kood vĂ”imaldab mĂ”ningaid ĂŒldisi jĂ€reldusi selgemalt esitada. Esitatud koodis on vĂ€ljakuulutatud ĂŒks klass (TtableDlg

). Selle klassi meetodeid saab omavahel vahetada ja 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 ei ole see just vĂ€ga mĂ€rgatav, kuid lugeda ja mĂ”ista muutub veidi keerulisemaks. Kui meetodeid ei ole viit, vaid kĂŒmneid kordi rohkem ning sektsiooni Neil on tĂ€iesti erinev jĂ€rjekord kui klasside kirjeldustes, seega kaos suurenevad. SeetĂ”ttu, kuigi rangelt tĂ”estada on raske ja vĂ”ib-olla isegi vĂ”imatu, on lootust, et tĂ€iendava korra kehtestamine parandab koodi loetavust. Sellele tĂ€iendavale korrale aitab kaasa loogiline rĂŒhmitamine mitmest meetodist, mis tĂ€idavad lĂ€hedasi ĂŒlesandeid. Igal rĂŒhmal oleks hea anda pealkiri, nĂ€iteks:

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

Need pealkirjad tasub kopeerida mooduli algusesse ja vormistada sisukohana. MÔnes piisavalt pikaks veninud moodulis pakuvad sellised sisukohad tÀiendavaid navigeerimisvÔimalusi. Samamoodi pikema meetodi, protseduuri vÔi funktsiooni kehas tasub esiteks mÀrkida selle keha lÔpp:

end; // FormCreate

ja teiseks, hargnevates operaatorites, kus on programmiline sulg begin - end, tuleks mÀrkida operaator, millele sulgemine sulg kuulub:

      end; // kui s [j] on
   end; // for i :=1
end; // FormCreate

Grupipealkirjade ja meetodite kehade lĂ”ppude eristamiseks saab lisada rea, mis ĂŒletab enamikku operaatoritest ja koosneb nĂ€iteks mĂ€rkidest "=" ja "_" vastavalt.
Kuid peab ĂŒtlema: meil on liiga lihtne nĂ€ide. Kui meetodi kood ei mahuks ĂŒhele ekraanile, on kuue jĂ€rjestikuse endiga keeruline mĂ”ista, et teha koodis muudatusi. MĂ”nes vanemas kompilaatoris, nĂ€iteks Pascal 8000 OS IBM 360/370 jaoks, trĂŒkitakse loendis vasakul teeninduscolumn:

B5


E5

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

Muidugi on programmeerimisstiil vĂ€ga subjektiivne kĂŒsimus, seega tuleks siin esitatud ideed vĂ”tta pigem mĂ”tlemapaneva informatsioonina. Kahel kogenud programmeerijal, kellel on aastate jooksul kujunenud ja harjumiseks saanud erinevad stiilid, vĂ”ib olla vĂ€ga raske kokkuleppele jĂ”uda. Teisalt on programmeerimisega alustav koolilaps, kellel pole veel olnud aega oma stiili vĂ€lja kujundada. Arvan, et sel juhul peaks Ă”petaja vĂ€hemalt edastama oma Ă”pilastele sellise lihtsa, kuid neile mitte ilmselge mĂ”tte, et programmi edu sĂ”ltub paljuski sellest, millises stiilis on kirjutatud tema lĂ€htekood. Õpilane ei pruugi jĂ€rgida soovitatud stiili, kuid vĂ€hemalt peaks ta mĂ”tlema, kui olulised on „liigsed“ tegevused lĂ€htekoodi parandamiseks.

Tagasi tulles meie pĂ”hiteemasse Aine tabeli osas: edasine areng vĂ”ib liikuda erinevates suundades. Üks suund on informatsiooni pĂ”hine: hiirekursori ĂŒle viimine tabeli raku kohale avab infokarbi, mis sisaldab tĂ€iendavat teavet antud elemendi kohta. Edasine areng — filtrid. NĂ€iteks, sĂ”ltuvalt infokarbi seadetest kuvatakse seal ainult: kĂ”ige olulisemad fĂŒĂŒsikalis-keemilised andmed, teave avastamise ajaloost, teave esinemisest looduses, oluliste ĂŒhendite nimekiri (kuhu kuulub antud element), fĂŒsioloogilised omadused, nimi vÔÔrkeeles jne. meenutades Kaverini „konna“, millega algab see artikkel, vĂ”ib öelda, et sellise arengu korral saame tĂ€ieliku Ă”petamise kompleksi loodusainetes: lisaks informaatikale, fĂŒĂŒsikale ja keemiale — bioloogia, majandusgeograafia, teaduse ajalugu ja isegi vÔÔrkeeled.

Kuid kohalik andmebaas pole veel piir. Programm ĂŒhendub loomulikult Internetiga. Elementi valimisel aktiveeritakse link, ja veebibrauseri aknas avaneb antud elemendi kohta artikkel Vikipeedias. Vikipeedia, nagu teada, ei ole autoriteetne allikas. Saame esitada viiteid autoriteetsetele allikatele, nĂ€iteks keemilise entsĂŒklopeediale, BSE-le, referaatajakirjadele, tellida pĂ€ringud otsingumootorites antud elemendi kohta jne. Nii saavad Ă”pilased tegeleda lihtsate, kuid sisukate ĂŒlesannetega andmebaaside ja Interneti teemadel.

Lisaks eraldi elemendi pÀringutele on vÔimalik luua funktsionaalsus, mis vÀrvib nÀiteks erinevate vÀrvidega tabelirakke, mis vastavad teatud kriteeriumidele. NÀiteks metallid ja mitte-metallid. VÔi rakud, mida kohaliku keemiatehase poolt veekogudesse heidetakse.

Samuti saab rakendada mÀrkmiku-organisaatori funktsioone. NÀiteks esile tuua tabelis elemendid, mis kuuluvad eksami koosseisu. Siis esile tÔsta elemendid, mida Ôpilane on eksamiks ette valmistades Ôppinud/kordanud.

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

Antud on 10 g kriiti. Kui palju soolhapet on vajalik, et kogu see kriit lahustada?

Selle probleemi lahendamiseks on vaja kirjutada keemiline reaktsioon ja paigutada sinna koefitsiendid, arvutada kaltsiumkarbonaadi ja vesinikkloriidi molekulmassid ning koostada ja lahendada proportsioon. Kalkulaator meie baasteprogrammi pÔhjal suudab selle arvestada ja lahendada. TÔsi, tuleb veel arvesse vÔtta, et happe maht peab olema mÔistlikult suur ja kontsentratsioon mÔistlik, kuid see on juba keemia, mitte informaatika.
TĂ€iend 1: kuidas keemiline kalkulaator töötabAnalĂŒĂŒsime kalkulaatori tööd ĂŒlaltoodud kriidi ja "soolhappe" ĂŒlesande nĂ€itel. Alustame reaktsioonist:

CaCO3 + 2HCl = CaCl2 + H2O

Siit nĂ€eme, et meil on vaja jĂ€rgmiste elementide aatomimassi: kaltsium (Ca), sĂŒsinik (C), hapnik (O), vesinik (H) ja kloor (Cl). Lihtsaimas vormis saame need massid esitada ĂŒhes dimensioonilises massiivis, mis on mÀÀratletud jĂ€rgmiselt

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

kus massiivi indeks vastab elemendi numbrile. Lisaks paigutame vormi vabale kohale kaks vĂ€lja. Esimeses vĂ€ljas on algselt kirjutatud: "Esimene reaktiiv antud", teises - "Teine reaktiiv leida x". MĂ€rgime vĂ€ljad tableDlg reagent1 reagent2, vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest. TrĂŒki arvuti klaviatuuril: 10 g. VĂ€lja tekst

muutub: "Esimene reaktiiv antud 10 g". NĂŒĂŒd sisestame selle reaktiivi valemi ning kalkulaator arvutab ja nĂ€itab selle molekulmass skalaarsete vÀÀrtuste sisenemise kĂ€igus. reagent2 Vajutame hiire vasakut nuppu tabelirakule sĂŒmboliga Ca. VĂ€lja tekst

muutub: "Esimene reaktiiv Ca 40.078 antud 10 g". reagent2 Vajutame hiire vasakut nuppu tabelirakule sĂŒmboliga C. VĂ€lja tekst

muutub: "Esimene reaktiiv CaC 52.089 antud 10 g". See tĂ€hendab, et kalkulaator liitis kaltsiumi ja sĂŒsiniku aatomimassid. reagent2 muudab: "Esimene reaktiiv CaC 52.089 on antud 10 g". See tĂ€hendab, et kalkulaator liitis kaltsiumi ja sĂŒsiniku aatomimassid.

KlĂ”psame hiire vasakut nuppu lahtril, kus on sĂŒmbol O. Tekst vĂ€ljal reagent2 muutub: “Esimene reaktiiv CaCO 68.088 antud 10 g”. Kalkulaator lisas summa juurde hapniku aatomimassi.

KlĂ”psame hiire vasakut nuppu lahtril, kus on sĂŒmbol O. Tekst vĂ€ljal reagent2 muutub: “Esimene reaktiiv CaCO2 84.087 antud 10 g”. Kalkulaator lisas summa juurde taas hapniku aatomimassi.

KlĂ”psame hiire vasakut nuppu lahtril, kus on sĂŒmbol O. Tekst vĂ€ljal reagent2 muutub: “Esimene reaktiiv CaCO3 100.086 antud 10 g”. Kalkulaator lisas summa juurde jĂ€lle hapniku aatomimassi.

Vajutame klaviatuuril Enter. Esimese reaktiivi sisestamine on lĂ”petatud ja lĂŒlitub vĂ€ljale vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest.. TĂ”stame esile, et selles nĂ€ites toome vĂ€lja minimaalse versiooni. Soovi korral saab kergesti korraldada sama tĂŒĂŒpi aatomite kordajaid, et nĂ€iteks mitte vajutada sept korda jĂ€rjest hapniku lahtrile, kui sisestame kroomhappe soola (K2Cr2O7) valemit.

KlĂ”psame hiire vasakut nuppu lahtril, kus on sĂŒmbol H. Tekst vĂ€ljal vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest. muutub: “Teine reaktiiv H 1.008 leidke x”.

KlĂ”psame hiire vasakut nuppu lahtril, kus on sĂŒmbol Cl. Tekst vĂ€ljal vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest. muutub: “Teine reaktiiv HCl 36.458 leidke x”. Kalkulaator liitis vesiniku ja kloori aatomimassed. Antud reaktsioonivĂ”rrandi ees on hĂŒdrokloriidi koefitsient 2. SeetĂ”ttu klĂ”psame lahtril vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest.. Molekulmass kahekordistub (topeltklĂ”psamisel kolmekordistub jne). Tekst vĂ€ljal vastavalt. Programmi muud tĂ€iendused selguvad jĂ€rgmise kalkulaatori töö nĂ€itest. muutub: “Teine reaktiiv 2HCl 72.916 leidke x”.

Vajutame klaviatuuril Enter. Teise reaktiivi sisestamine on lÔpetatud ja kalkulaator leiab x proportsioonist

Mendelejevi tabel kooli informaatikas

Mida tuli leida.

MÀrkus 1. Saadud proportsiooni mÔte: 100.086 Da lubja lahustamiseks on vaja 72.916 Da hapet, ning 10 g lubja lahustamiseks on vajalik x hapet.

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

Khomenko I. G., Keemia ĂŒlesannete ja harjutuste kogumik 2009 (8-11 klass).
Khomenko G. P., Khomenko I. G., Keemia ĂŒlesannete kogumik ĂŒlikooli sisseastujatele, 2019.

MĂ€rkus 3. Ülesande lihtsustamiseks vĂ”idakse algversioonis valemi sisestamist lihtsustada ning lihtsalt elementide sĂŒmbolid lisada valemirea lĂ”pupoole. Seega saab kaltsiumi karbonaadi valem olema kujul:
CaCOOO
Kuid selline kirjutamine ei meeldi ilmselt keemiaĂ”petajale. Õige kirjutise tegemine ei ole 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 nullitakse kÔik massiivid). Tuleb arvestada aatomite jÀrjekorda valemis, nagu keemias on tavaks. NÀiteks O3CaC ei meeldi paljudele. Lasege vastutus kasutajale. Loome massiivi:

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

kuhu kirjutame keemilise elemendi numbri vastavalt selle tekkimise jÀrjekorrale valemis. Aatomi lisamine currNo valemisse:

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

Valemi kirjutamine stringiks:

s := ''; // tĂŒhi string valemi jaoks
for i:=1 to  orderIndex do // kĂ”igi keemiliste sĂŒmbolite jaoks 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 alternatiivse valemi sisestamise vĂ”imalus reageerijalt klaviatuuri kaudu. Sel juhul tuleb rakendada lihtsat sĂŒntaksianalĂŒsaatorit.

On mÀrkimisvÀÀrne, et:

TĂ€na on olemas mitusada erinevat perioodilisuse tabeli varianti, samas kui teadlased pakuvad aina uusi variante. (Vikipeedia)

Õpilased vĂ”ivad selles suunas leidlikkust nĂ€idata, rakendades mĂ”nda juba pakutud varianti vĂ”i proovides teha oma originaali. VĂ”ib tunduda, et see on kĂ”ige vĂ€hem kasulik suund infotehnoloogia tundides. Kuid selle artikli vormis oleva Perioodilise tabeli puhul ei pruugi mĂ”ned Ă”pilased nĂ€ha erilisi eeliseid juhtnuppude ees alternatiivse lahenduse kaudu standardsete nuppude abil. TButton. Spirali kujuline tabel (kus ruudud on erineva kujuga) demonstreerib selgemalt siin pakutud lahenduse eeliseid.

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

Lisame ka, et mÔnede olemasolevate arvutiprogrammide kohta Mendelejevi tabeli jaoks on rÀÀgitud hiljuti Habr's avaldatud artiklis artiklis.

TĂ€iendamine 2: filtrite ĂŒlesannete nĂ€itedFiltrite abil saab lahendada nĂ€iteks jĂ€rgmisi ĂŒlesandeid:

1) Tabelist kÔiki elemente esile tuua, mis olid teada keskajal.

2) Esile tuua kÔik elemendid, mis olid teada perioodilise seaduse avastamise ajaks.

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

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

5) TÔsta esile kÔik elemendid, mis on normaaltingimustes vedelas olekus.

6) TÔsta esile kÔik elemendid, mis on normaaltingimustes tahkes olekus.

7) TĂ”sta esile kĂ”ik elemendid, mis vĂ”ivad pĂŒsida Ă”hus pikemat aega ilma mĂ€rgatavate muutusteta normaaltingimustes.

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

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

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

11) TÔsta esile kÔik metallid, mis lahustuvad lÀmmastikuhappes.

12) TÔsta esile kÔik metallid, mis reageerivad veega Àgedalt normaalses olekus.

13) TÔsta esile kÔik metallid.

14) TÔsta esile elemendid, mis on looduses laialdaselt levinud.

15) TÔsta esile elemendid, mis esinevad looduses vabas olekus.

16) TÔsta esile elemendid, mis mÀngivad vÀga olulist rolli inimeste ja loomade organismis.

17) TĂ”sta esile elemendid, mida kasutatakse laialdaselt igapĂ€evaelus (kas vabas olekus vĂ”i ĂŒhendites).

18) TÔsta esile elemendid, millega töötamine on kÔige ohtlikum ja mis nÔuavad spetsiaalseid ettevaatusmeetmeid ja kaitsevahendeid.

19) TĂ”sta esile elemendid, mis vabalt vĂ”i ĂŒhendite kujul kujutavad suurimat ohtu ökoloogiale.

20) TÔsta esile vÀÀrismetallid.

21) TĂ”sta esile elemendid, mille hind ĂŒletab vÀÀrismetallide omasid.

MĂ€rkus

1) On mĂ”istlik tagada mitme filtri töö. NĂ€iteks, kui aktiveerida filter ĂŒlesande 1 (kĂ”ik elemendid, mis olid tuntud keskajal) ja 20 (vÀÀrismetallid) jaoks, siis tĂ”stetakse esile (nt vĂ€rvi abil) lahtrid vÀÀrismetallidega, mis olid tuntud keskajal (nt palladium, mis avastati 1803. aastal, ei tĂ”steta esile).

2) On mĂ”istlik tagada, et mitmed filtrid töötaksid sellises reĆŸiimis, et iga filter rĂ”hutaks rakke oma vĂ€rviga, kuid ei eemaldaks tĂ€ielikult teise filtri valikut (osa rakust ĂŒhe vĂ€rviga, osa teisega). Siis oleksid nĂ€htavad keskaegsete avade ja vÀÀrismetallide kogumite ĂŒhisosa elemendid, samuti elemendid, mis kuuluvad ainult esimesse vĂ”i teise kogumisse. St. vÀÀrismetallid, mida keskaegadel ei tuntud, ja elemendid, mis olid keskaegadel tuntud, kuid ei olnud vÀÀrismetallid.

3) On mÔistlik pÀrast filtri rakendamist tagada vÔimalus tegeleda teiste tegevustega saadud tulemustega. NÀiteks, kui kasutaja rÔhutab keskaegseid elemente, siis klikkides vasakut hiireklahvi rÔhutatud elemendil satub ta selle elemendi Vikipeedia artiklisse.

4) On mÔistlik anda kasutajale vÔimalus eemaldada rÔhutamine, klikkides vasakut hiireklahvi rÔhutatud tabeli rakul. NÀiteks, et eemaldada juba vaadatud elemendid.

5) On mÔistlik tagada, et rÔhutatud rakkude nimekiri salvestataks faili ja sellise faili laadimisega toimuks automaatne rakkude rÔhutamine. See annab kasutajale vÔimaluse teha töö keskel paus.

Me kasutasime staatilist etteantud juhtimiskaarti, kuid on palju olulisi ĂŒlesandeid, kus vĂ”ivad olla kasutusel dĂŒnaamilised juhtimiskaardid, mis muudavad programmi töö kĂ€igus. NĂ€iteks graafiredaktor, kus kasutaja nĂ€itab hiirega tippude asukohti aknas ja joonistab nende vahele servi. Tippu vĂ”i servi kustutamiseks peab kasutaja sellele osutama. Kuid kui ringiga tĂ€histatud tippu on lihtne osutada, siis Ă”hukese joonega joonistatud servi osutamine on keerulisem. Siin aitab juhtimiskaart, kus tipud ja servad hĂ”ivavad laiemad piirkonnad kui nĂ€htavas joonistuses.

Tudustatud kompleksse Ă”ppe meetodiga on seotud huvitav kĂ”rvalkĂŒsimus: kas see meetod vĂ”ib olla kasulik tehisintellekti kasvatamisel?

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster