Eskolako informatikari buruzko taula periodikoa

(Kontrol txartelak)
(Elementu Kimikoen Taula Periodikoaren Nazioarteko Urteari eskainia)
(Azken gehiketak 8ko apirilaren 2019an egin ziren. Gehigarrien zerrenda ebakiaren azpian dago)

Eskolako informatikari buruzko taula periodikoa
(Mendeleieven lorea, Iturria)

Gogoan dut ahatetik pasa genuela. Hiru ikasgai ziren aldi berean: geografia, natur zientzia eta errusiera. Zientziako ikasgai batean ahate bat ahate bezala ikasi zen, zer hego dituen, zer hanka dituen, nola igeri egiten duen, etab. Geografia ikasgai batean, ahate bera munduko biztanle gisa aztertu zen: mapa batean erakutsi behar zen non bizi den eta non ez. Errusieraz, Serafima Petrovnak β€œu-t-k-a” idazten eta Bremeko ahateei buruzko zerbait irakurtzen irakatsi zigun. Bide batez, jakinarazi zigun alemanez ahatea horrela dela, eta frantsesez honela. Uste dut orduan "metodo konplexua" deitzen zela. Orokorrean, dena β€œpasean” atera zen.

Veniamin Kaverin, Bi kapitain

Goiko aipuan, Veniamin Kaverin-ek maisuki erakutsi zituen irakaskuntza-metodo konplexuaren gabeziak, hala ere, kasu batzuetan (agian nahiko arraroak) metodo honen elementuak justifikatuta daude. Halako kasu bat D.I. Mendeleieven taula periodikoa da eskolako informatika ikasgaietan. Taula periodikoko ekintza tipikoen software-automatizazioaren zeregina argia da kimika ikasten hasi diren eskola-umeentzat, eta zeregin kimiko tipiko askotan banatzen da. Aldi berean, informatikaren esparruan, ataza honek kontrol-txartelen metodoa modu sinplean erakusteko aukera ematen digu, programazio grafikoari egotzi ahal zaiona, hitzaren zentzu zabalean elementu grafikoen bidezko programazioa bezala ulertuta.

(8ko apirilaren 2019an egindako gehiketak:
1. gehigarria: Kimika kalkulagailuak nola funtzionatzen duen
2. eranskina: iragazkien atazen adibideak)

Has gaitezen oinarrizko zereginarekin. Kasurik errazenean, taula periodikoa pantailan bistaratu behar da leiho moduan, non gelaxka bakoitzean elementuaren izendapen kimiko bat egongo den: H - hidrogenoa, He - helioa, etab. Saguaren kurtsoreak gelaxka batera seinalatzen badu, orduan elementuaren izendapena eta bere zenbakia gure formularioko eremu berezi batean bistaratzen dira. Erabiltzaileak LMB sakatzen badu, hautatutako elementu horren izendapena eta zenbakia inprimakiko beste eremu batean adieraziko dira.

Eskolako informatikari buruzko taula periodikoa

Arazoa edozein hizkuntza unibertsal erabiliz konpon daiteke. Delpi-7 zahar sinplea hartuko dugu, ia denentzat ulergarria dena. Baina PLn programatu aurretik, marraz ditzagun bi argazki, adibidez, Photoshop-en. Lehenik eta behin, marraztu dezagun Taula Periodikoa programan ikusi nahi dugun moduan. Gorde emaitza fitxategi grafiko batean taula01.bmp.

Eskolako informatikari buruzko taula periodikoa

Bigarren marrazkirako lehenengoa erabiltzen dugu. Taularen gelaxkak sekuentzialki beteko ditugu, grafiko guztiak garbituta, RGB kolore ereduan kolore bereziekin. R eta G beti 0 izango dira, eta B=1 hidrogenoarentzat, 2 helioarentzat... Marrazki hau gure kontrol-txartela izango da, izeneko fitxategi batean gordeko duguna. taula2.bmp.

Eskolako informatikari buruzko taula periodikoa

Photoshop-en programazio grafikoaren lehen fasea amaitu da. Goazen GUI grafikoko programaziora Delpi-7 IDEan. Horretarako, ireki proiektu berri bat, non inprimaki nagusian elkarrizketa-botoi bat jartzen dugun (taulaDlg), bertan mahaiarekin lana egingo da. Ondoren inprimakiarekin lan egingo dugu taulaDlg.

Jarri klase-osagai bat formularioan TImage... Lortzen dugu Image1. Kontuan izan, oro har, proiektu handietarako, automatikoki sortutako inprimakiaren izenak IrudiaNNon N hainbat dozena edo gehiago irits daitezke - hau ez da programazio estilorik onena, eta izen esanguratsuagoak eman behar dira. Baina gure proiektu txikian, non N ez da 2 baino handiagoa izango, sortutako moduan utzi dezakezu.

Jabetzara Irudia1.Irudia fitxategia igo taula01.bmp. Guk sortzen dugu Image2 eta bertan kargatu gure kontrol txartela taula2.bmp. Kasu honetan, fitxategia txikia eta ikusezina egiten dugu erabiltzailearentzat, formularioaren beheko ezkerreko izkinan agertzen den moduan. Kontrol-elementu osagarriak gehitzen ditugu, eta horien helburua begi-bistakoa da. Delpi-7 IDEan GUI grafikoaren programazioaren bigarren etapa amaitu da.

Eskolako informatikari buruzko taula periodikoa

Joan gaitezen hirugarren fasera: kodea idaztea Delpi-7 IDEan. Moduluak bost gertaeren kudeatzaile baino ez ditu osatzen: inprimakiak sortzea (InprimakiaSortu), kurtsorearen mugimendua Image1 (Irudia1MouseMove), gelaxka batean LMB klik eginez (Irudia1Klik) eta irten elkarrizketa-koadrotik Ados botoiak erabiliz (OKBtnClick) edo Utzi (UtziBtnClick). Kudeatzaile hauen goiburuak modu estandarrean sortzen dira IDE erabiliz.

Moduluaren iturburu kodea:

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.

Gure bertsioan, 104 elementuko taula bat hartu genuen (konstantea tamaina). Jakina, tamaina hau handitu daiteke. Elementu-izendapenak (ikur kimikoak) array batean idazten dira TaulaSymbols. Hala ere, iturburu-kodearen trinkotasuna dela eta, komenigarria dirudi notazio horien sekuentzia kate-konstante moduan idaztea. PeriodicTableStr1..., PeriodicTableStr4beraz, forma sortzen denean, programak berak sakabanatzen ditu izendapen horiek arrayko elementuen artean. Elementu-izendapen bakoitzak latinezko letra bat edo bi ditu, lehenengo letra larriarekin eta bigarrena (baldin badago) minuskularekin. Arau sinple hau array bat kargatzean ezartzen da. Horrela, notazio-segida modu zehatzean idatz daiteke espaziorik gabe. Sekuentzia bat lau zatitan banatzea (konstanteak PeriodicTableStr1..., PeriodicTableStr4) iturri-kodea irakurtzeko erraztasunari buruzko gogoetengatik da, zeren Luzeegia den lerroa baliteke pantailan guztiz ez egokitzea.

Saguaren kurtsorea gainean mugitzen denean Image1 kudeatzailea Irudia1MouseMove gertaera honek kontrol-txarteleko pixelaren kolore urdineko osagaiaren balioa zehazten du Image2 uneko kurtsorearen koordenatuetarako. Eraikuntzaren arabera Image2 balio hori elementu-zenbakiaren berdina da kurtsorea gelaxka barruan badago; zero mugan bada, eta 255 beste kasuetan. Programak egiten dituen gainerako ekintzak hutsalak dira eta ez dute azalpenik behar.

Goian adierazitako programazio estilistikoko teknikez gain, komeni da komentario-estiloa. Zorrotz esanda, eztabaidatutako kodea hain da txikia eta sinplea, non iruzkinak ez dirudite bereziki beharrezkoak. Hala ere, arrazoi metodologikoengatik ere gehitu ziren - kode laburrak ondorio orokor batzuk argiago ateratzeko aukera ematen digu. Aurkeztutako kodean klase bat deklaratzen da (TtableDlg). Klase honetako metodoak trukatu daitezke eta horrek ez dio programaren funtzionamenduari inola ere eragingo, baina irakurgarritasuna eragin dezake. Adibidez, imajinatu sekuentzia:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Agian ez da oso nabarmena izango, baina pixka bat zailagoa izango da irakurtzea eta ulertzea. Atalean bost, baina hamar aldiz metodo gehiago ez badaude ezartzeko klaseko deskribapenetan baino ordena guztiz ezberdina dute, orduan kaosa areagotuko da. Hori dela eta, zorrozki frogatzea zaila den arren eta ezinezkoa izan daitekeen arren, ordena gehigarria sartuz kodearen irakurgarritasuna hobetuko dela espero daiteke. Ordena gehigarri hori erlazionatutako zereginak egiten dituzten hainbat metodo taldekatze logikoak errazten du. Talde bakoitzari izenburu bat jarri behar zaio, adibidez:

// Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ: ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΎΡ€

Izenburu hauek moduluaren hasieran kopiatu eta aurkibide gisa formateatu behar dira. Modulu luze samarrak diren kasu batzuetan, eduki-taulak nabigazio-aukera gehigarriak eskaintzen dituzte. Era berean, metodo, prozedura edo funtzio baten gorputz luzean, merezi du lehenik eta behin gorputz honen amaiera markatzea:

end; // FormCreate

eta, bigarrenik, programaren parentesiekin hasiera-bukaera duten adierazpen adarkatuetan, markatu itxierak aipatzen duen adierazpena:

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

Taldeen goiburuak eta metodoen gorputzen amaierak nabarmentzeko, operadore gehienak baino luzeagoak diren lerroak gehi ditzakezu, adibidez, "=" eta "_" karaktereez osatuta, hurrenez hurren.
Berriz ere, erreserba bat egin behar dugu: gure adibidea sinpleegia da. Eta metodo baten kodea pantaila batean sartzen ez denean, zaila izan daiteke sei amaiera jarraian ulertzea kodea aldaketak egiteko. Konpilatzaile zahar batzuetan, adibidez, Pascal 8000 OS IBM 360/370rako, honelako zerbitzu-zutabe bat zerrendan ezkerrean inprimatuta zegoen.

B5
…
E5

Horrek esan nahi zuen E5 lerroko itxiera-parentesia B5 lerroko hasierako parentesiarekin bat zetorrela.

Jakina, programazio-estiloa oso gai polemikoa da, beraz, hemen adierazitako ideiak hausnarketarako janari gisa hartu behar dira. Oso zaila izan daiteke esperientzia nahiko duten bi programatzailerentzat, urte askotako lanetan estilo ezberdinetara garatu eta ohitu direnak, akordio batera iristea. Beste kontu bat da programatzen ikasten ari den ikaslearentzat, oraindik bere estilo propioa aurkitzeko astirik izan ez duenarentzat. Uste dut kasu honetan irakasleak gutxienez bere ikasleei helarazi beharko liekeela ideia sinplea, baina ez agerikoa, programa baten arrakasta neurri handi batean bere iturburu-kodea idazten den estiloaren araberakoa dela. Ikasleak agian ez du gomendatutako estiloa jarraituko, baina iturburu-kodearen diseinua hobetzeko ekintza β€œgehigarrien” beharraz pentsa dezala behintzat.

Taula Periodikoaren oinarrizko arazora itzuliz: garapen gehiago norabide ezberdinetan joan daiteke. Norabideetako bat erreferentziarako da: saguaren kurtsorea taulako gelaxka baten gainean jartzen duzunean, informazio-leiho bat agertzen da zehaztutako elementuari buruzko informazio gehigarria duena. Garapen gehiago iragazkiak dira. Adibidez, instalazioaren arabera, informazio-leihoak honako hauek izango ditu soilik: informazio fisiko eta kimiko garrantzitsuena, aurkikuntzaren historiari buruzko informazioa, naturan banaketari buruzko informazioa, konposatu garrantzitsuenen zerrenda (elementu hori barne hartzen duena), propietate fisiologikoak, izena atzerriko hizkuntza batean... e. Artikulu hau hasten den Kaverin-en β€œahatea” gogoan hartuta, esan dezakegu programaren garapen honekin natur zientzietan prestakuntza konplexu osoa lortuko dugula: informatikariaz gain. zientzia, fisika eta kimika - biologia, geografia ekonomikoa, zientziaren historia eta baita atzerriko hizkuntzak ere.

Baina tokiko datu-basea ez da muga. Programa modu naturalean konektatzen da Internetera. Elementu bat hautatzen duzunean, esteka aktibatu egiten da, eta elementu horri buruzko Wikipediako artikulua irekitzen da web arakatzailearen leihoan. Wikipedia, dakizuenez, ez da iturri autoritarioa. Iturri autoritarioetarako estekak ezar ditzakezu, adibidez, entziklopedia kimikoa, TSB, aldizkari laburrak, elementu honen bilatzaileetan kontsultak ordenatu, etab. Hori. Ikasleek DBMS eta Interneteko gaiei buruzko lan sinple baina esanguratsuak egiteko gai izango dira.

Elementu indibidual bati buruzko kontsultez gain, zenbait irizpide betetzen dituzten taulako gelaxkak kolore ezberdinekin markatuko dituen funtzionaltasuna sor dezakezu. Adibidez, metalak eta ez-metalak. Edo tokiko planta kimiko batek ur-masetara botatzen dituen zelulak.

Koaderno-antolatzaile baten funtzioak ere ezar ditzakezu. Adibidez, nabarmendu taulan azterketan sartzen diren elementuak. Ondoren, nabarmendu azterketa prestatzeko ikasleak landu/errepikatu dituen elementuak.

Eta hona hemen, adibidez, eskola-kimikako arazo tipikoetako bat:

10 g klarion emanda. Zenbat azido klorhidriko hartu behar da klarion hori guztia disolbatzeko?

Arazo hau konpontzeko, beharrezkoa da kimika idatzi. erreakzioa eta bertan koefizienteak jarriz, kalkulatu kaltzio karbonatoaren eta hidrogeno kloruroaren pisu molekularra, ondoren proportzioa osatu eta ebatzi. Gure oinarrizko programan oinarritutako kalkulagailu batek kalkulatu eta ebatzi dezake. Egia da, oraindik ere kontuan hartu beharko duzu azidoa neurriz kanpoko neurrian eta zentzuzko kontzentrazioan hartu behar dela, baina hau kimika da, ez informatika.
1. gehigarria: Kimika kalkulagailuak nola funtzionatzen duenAzter dezagun kalkulagailuaren funtzionamendua goiko klarion eta "hodgepodge" arazoaren adibidea erabiliz. Has gaitezen erreakzioarekin:

CaCO3 + 2HCl = CaCl2 + H2O

Hortik ikusten dugu elementu hauen pisu atomikoak beharko ditugula: kaltzioa (Ca), karbonoa (C), oxigenoa (O), hidrogenoa (H) eta kloroa (Cl). Kasurik errazenean, pisu hauek honela definitutako dimentsio bakarreko array batean idatz ditzakegu

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

non array-indizea elementu-zenbakiari dagokion. Gehiago formularioaren espazio libreari buruz taulaDlg jarri bi eremu. Lehenengo eremuan hasieran idazten da: β€œLehen erreaktiboa ematen da”, bigarrenean - β€œBigarren erreaktiboa x aurkitzea da”. Adierazi ditzagun eremuak erreaktiboa 1, erreaktiboa 2 hurrenez hurren. Programaren beste gehigarriak kalkulagailuaren hurrengo adibidetik argi geratuko dira.

Ordenagailuaren teklatuan idazten dugu: 10 g. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehen erreaktiboari 10 g ematen zaizkio". Orain erreaktibo honen formula sartzen dugu, eta kalkulagailuak bere pisu molekularra kalkulatu eta erakutsiko du sartu ahala.

Sakatu LMB Ca ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehen erreaktiboa Ca 40.078 10 g emanda".

Sakatu LMB C ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehen erreaktiboa CaC 52.089 eman 10 g." Horiek. Kalkulagailuak kaltzioaren eta karbonoaren pisu atomikoak batu zituen.

Sakatu LMB O ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehenengo erreaktiboa CaCO 68.088 eman 10 g." Kalkulagailuak oxigenoaren pisu atomikoa gehitu zion baturari.

Sakatu LMB O ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehenengo erreaktiboa CaCO2 84.087 10 g emanda". Kalkulagailuak oxigenoaren pisu atomikoa gehitu zion berriro ere baturari.

Sakatu LMB O ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 1 aldaketak: "Lehenengo erreaktiboa CaCO3 100.086 10 g emanda". Kalkulagailuak berriro oxigenoaren pisu atomikoa gehitu zion baturari.

Sakatu Sartu zure ordenagailuko teklatuan. Lehenengo erreaktiboaren sarrera amaitu eta eremura aldatzen da erreaktiboa 2. Kontuan izan adibide honetan bertsio minimo bat eskaintzen ari garela. Nahi izanez gero, erraz antola ditzakezu mota bereko atomoen biderkatzaileak, adibidez, ez dadin segidan zazpi aldiz klik egin behar oxigeno-gelaxkan kromoaren formula (K2Cr2O7) sartzean.

Sakatu LMB taulako gelaxkan H ikurra duen eremuan inskripzioa erreaktiboa 2 aldaketak: "Bigarren erreaktiboa H 1.008 aurkitu x."

Sakatu LMB Cl ikurra duen taulako gelaxkan. Inskripzioa eremuan erreaktiboa 2 aldaketak: "Bigarren erreaktiboa HCl 36.458 aurkitu x." Kalkulagailuak hidrogenoaren eta kloroaren pisu atomikoak batu zituen. Goiko erreakzio-ekuazioan, hidrogeno kloruroaren aurretik 2 koefizientea dago. Hori dela eta, egin klik LMB eremuan. erreaktiboa 2. Pisu molekularra bikoiztu egiten da (bi aldiz sakatzen denean hirukoiztu, etab.). Inskripzioa eremuan erreaktiboa 2 aldaketak: "Bigarren erreaktiboa 2HCl 72.916 aurkitu x."

Sakatu Sartu zure ordenagailuko teklatuan. Bigarren erreaktiboaren sarrera osatu da, eta kalkulagailuak x aurkitzen du proportziotik

Eskolako informatikari buruzko taula periodikoa

Hori da aurkitu behar genuena.

1. oharra Lortutako proportzioaren esanahia: desegiterako 100.086 Da klarionak 72.916 Da azido behar ditu, eta 10 g klarion disolbatzeko x azido behar duzu.

2. oharra Antzeko arazoen bildumak:

Khomchenko I. G., 2009ko kimikako arazoen eta ariketen bilduma (8-11 maila).
Khomchenko G. P., Khomchenko I. G., Unibertsitateetako eskatzaileentzako kimikako arazoen bilduma, 2019.

3. oharra Zeregin errazteko, formularen sarrera sinplifikatu dezakezu hasierako bertsioan eta besterik gabe gehitu elementuaren ikurra formula lerroaren amaieran. Orduan, kaltzio karbonatoaren formula hau izango da:
CaCOOO
Baina kimikako irakasle bati nekez gustatuko zaio horrelako grabaketa bat. Ez da zaila sarrera zuzena egitea - horretarako array bat gehitu behar duzu:

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

non indizea elementu kimikoaren kopurua den, eta indize horretako balioa atomo kopurua den (hasieran matrizeko elementu guztiak zerora berrezartzen dira). Atomoak formula batean idazten diren ordena, kimikan hartutako moduan, kontuan hartu behar da. Adibidez, jende gutxiri gustatuko zaio O3CaC ere. Erabiltzaileengana eraman dezagun erantzukizuna. Array bat egitea:

 formulaOrder : array [1..size] of integer; // ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΏΠΎΠΊΠΎΡ€ΠΎΡ‡Π΅

bertan, elementu kimikoaren zenbakia idazten dugu formulan duen itxuraren indizearen arabera. Atomo bat gehitzea kurrEz formulan sartu:

if formula [currNo]=0 then //этот Π°Ρ‚ΠΎΠΌ встрСтился ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·
 begin
 orderIndex := orderIndex+1;//Π² Π½Π°Ρ‡Π°Π»Π΅ Π²Π²ΠΎΠ΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ orderIndex=0
 formulaOrder [orderIndex] :=  currNo;
 end;
formula [currNo]:=formula [currNo]+1;

Formula lerro batean idaztea:

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;

4. oharra Zentzuzkoa da teklatutik formula erreaktiboa bestela sartzeko gaitasuna ematea. Kasu honetan, analizatzaile sinple bat inplementatu beharko duzu.

Aipatzekoa da:

Gaur egun, taularen ehunka bertsio daude, eta zientzialariek aukera berriak eskaintzen dituzte etengabe. (Wikipedia)

Ikasleek norabide horretan beren asmamena erakutsi dezakete jada proposatutako aukeretako bat ezarriz edo norbere jatorrizkoa egiten saiatu. Badirudi hori dela informatika ikasgaietarako gutxien erabilgarria den norabidea. Hala ere, artikulu honetan inplementatutako Taula Periodikoaren forman, ikasle batzuek baliteke kontrol-txartelen abantaila berezirik ez ikustea botoi estandarrak erabiliz soluzio alternatiboarekin alderatuta. TBbotoia. Mahaiaren espiral formak (non zelulak forma ezberdinekoak diren) argiago erakutsiko ditu hemen proposatzen den soluzioaren abantailak.

Eskolako informatikari buruzko taula periodikoa
(Theodore Benfeyren elementuen sistema alternatiboa, Iturria)

Era berean, gaineratu dezagun gaur egun Taula Periodikorako dauden ordenagailu programa batzuk deskribatzen direla HabrΓ©-n argitaratu berri den liburuan. Artikulu.

2. eranskina: iragazkien atazen adibideakIragazkiak erabiliz, adibidez, honako zeregin hauek ebatzi ditzakezu:

1) Hautatu taulan Erdi Aroan ezagutzen diren elementu guztiak.

2) Zuzenbide Periodikoa aurkitu zenean ezagutzen ziren elementu guztiak identifikatzea.

3) Identifikatu alkimistek metaltzat jotzen zituzten zazpi elementu.

4) Hautatu baldintza normaletan gas-egoeran dauden elementu guztiak (n.s.).

5) Hautatu egoera likidoan dauden elementu guztiak.

6) Hautatu egoera solidoan dauden elementu guztiak.

7) Aukeratu baldintza arruntetan aldaketa nabaririk gabe denbora luzez airera jasan daitezkeen elementu guztiak.

8) Aukeratu azido klorhidrikoan disolbatzen diren metal guztiak.

9) Hautatu azido sulfurikoan disolbatzen diren metal guztiak zk.

10) Hautatu berotzean azido sulfurikoan disolbatzen diren metal guztiak.

11) Hautatu azido nitrikoan disolbatzen diren metal guztiak.

12) Isolatu urarekin bortizki erreakzionatzen duten metal guztiak ingurune-baldintzetan.

13) Hautatu metal guztiak.

14) Naturan hedatuta dauden elementuak identifikatzea.

15) Naturan egoera librean aurkitzen diren elementuak identifikatzea.

16) Giza eta animalien gorputzean zeregin garrantzitsuena duten elementuak identifikatzea.

17) Eguneroko bizitzan asko erabiltzen diren elementuak hautatzea (forma librean edo konbinazioetan).

18) Lan egiteko arriskutsuenak diren eta neurri bereziak eta babes-ekipoak behar dituzten elementuak identifikatzea.

19) Era askean edo konposatu moduan ingurumenari mehatxu handiena eragiten dioten elementuak identifikatzea.

20) Hautatu metal preziatuak.

21) Metal preziatuak baino garestiagoak diren elementuak identifikatzea.

Oharrak

1) Zentzuzkoa da hainbat iragazki eskaintzea. Adibidez, 1. problema (Erdi Aroan ezagutzen ziren elementu guztiak) eta 20. (metal preziatuak) ebazteko iragazki bat aktibatzen baduzu, Erdi Aroan ezagutzen ziren metal preziatuak dituzten zelulak nabarmenduko dira (adibidez, kolorearen arabera) ( adibidez, paladioa ez da nabarmenduko , 1803an irekia).

2) Zentzuzkoa da hainbat iragazki funtzionatzen dutela ziurtatzea, iragazki bakoitzak bere koloreko gelaxkak hautatzen dituela, baina ez du guztiz kentzen beste iragazki baten hautaketa (gelaxkaren zati bat kolore batean, zati bat beste batean). Ondoren, aurreko adibidearen kasuan, Erdi Aroan aurkitutako multzoen elkarguneko elementuak eta metal preziatuak, baita lehenengo eta bigarren multzokoak soilik diren elementuak ere ikusgai izango dira. Horiek. Erdi Aroan ezagutzen ez diren metal preziatuak, eta Erdi Aroan ezagutzen ziren elementuak baina ez metal preziatuak.

3) Iragazkia aplikatu ondoren zentzuzkoa da lortutako emaitzekin beste lan egiteko aukera ziurtatzea. Adibidez, Erdi Aroan ezagunak diren elementuak hautatuta, erabiltzaileak LMB sakatzen du hautatutako elementuan eta elementu horri buruzko Wikipediako artikulura eramaten du.

4) Zentzuzkoa da erabiltzaileari aukeratutako taulako gelaxkan LMB klik eginez desautatzeko gaitasuna eskaintzea. Adibidez, lehendik ikusitako elementuak kentzeko.

5) Zentzuzkoa da hautatutako gelaxken zerrenda fitxategi batean gordetzen dela eta fitxategi hori gelaxken hautaketa automatikoarekin kargatzen dela ziurtatzea. Horrek lanetik atseden hartzeko aukera emango dio erabiltzaileari.

Kontrol-mapa estatiko eta aurrez zehaztua erabili dugu, baina programa exekutatzen ahala aldatzen diren kontrol-mapa dinamikoak erabil daitezkeen zeregin garrantzitsu asko daude. Adibide bat grafiko-editore bat izango litzateke, non erabiltzaileak sagua erabiltzen duen leiho batean erpinen posizioak adierazteko eta haien artean ertzak marrazteko. Erpin edo ertz bat ezabatzeko, erabiltzaileak seinalatu behar du. Baina zirkulu batekin markatutako erpin bat seinalatzea nahiko erraza bada, orduan zailagoa izango da marra mehe batekin marraztutako ertz bat seinalatzea. Kontrol-mapa batek lagunduko du hemen, non erpinek eta ertzek ikusten den irudian baino auzo zabalagoak hartzen dituzten.

Prestakuntza konplexuaren metodo honekin lotutako alboko galdera interesgarri bat hau da: metodo hau erabilgarria izan al daiteke AI entrenatzeko?

Iturria: www.habr.com

Gehitu iruzkin berria