Periodinė mokyklos informatikos lentelė

(Valdymo kortelės)
(Skirta Tarptautiniams cheminių elementų periodinės lentelės metams)
(Paskutiniai papildymai buvo padaryti 8 m. balandžio 2019 d. Papildymų sąrašas yra iškart po pjūviu)

Periodinė mokyklos informatikos lentelė
(Mendelejevo gėlė, šaltinis)

Atsimenu, praėjome antį. Tai buvo trys pamokos iš karto: geografija, gamtos mokslas ir rusų kalba. Gamtos mokslų pamokoje buvo tiriama antis kaip antis, kokius ji turi sparnus, kokias kojas, kaip plaukia ir pan. Geografijos pamokoje ta pati antis buvo tiriama kaip žemės rutulio gyventoja: reikėjo žemėlapyje parodyti, kur gyvena, o kur ne. Rusiškai Serafima Petrovna išmokė mus rašyti „u-t-k-a“ ir skaityti ką nors apie Bremo antis. Praeidama ji mums pranešė, kad vokiškai antis yra šitaip, o prancūziškai šitaip. Manau, kad tais laikais tai buvo vadinama „sudėtingu metodu“. Apskritai viskas pasirodė „prabėga“.

Veniamin Kaverin, Du kapitonai

Aukščiau pateiktoje citatoje Veniamin Kaverin meistriškai parodė kompleksinio mokymo metodo trūkumus, tačiau kai kuriais (gal ir gana retais) atvejais šio metodo elementai yra pateisinami. Vienas iš tokių atvejų yra D.I.Mendelejevo periodinė lentelė mokyklos informatikos pamokose. Programinės įrangos automatizavimo tipinių veiksmų su periodine lentele užduotis yra aiški moksleiviams, pradėjusiems studijuoti chemiją, ir yra suskirstyta į daugelį tipiškų cheminių problemų. Tuo pačiu metu informatikos rėmuose ši užduotis leidžia mums paprasta forma pademonstruoti valdymo kortelių metodą, kuris gali būti priskirtas grafiniam programavimui, suprantamą plačiąja šio žodžio prasme kaip programavimą naudojant grafinius elementus.

(8 m. balandžio 2019 d. atlikti papildymai:
1 priedas: kaip veikia chemijos skaičiuotuvas
2 priedas: filtrų užduočių pavyzdžiai)

Pradėkime nuo pagrindinės užduoties. Paprasčiausiu atveju periodinė lentelė turėtų būti rodoma ekrane lango pavidalu, kur kiekvienoje ląstelėje bus cheminis elemento žymėjimas: H - vandenilis, He - helis ir kt. Jei pelės žymeklis nurodo langelį, elemento žymėjimas ir jo numeris rodomi specialiame mūsų formos lauke. Jei vartotojas paspaudžia LMB, šio pasirinkto elemento pavadinimas ir numeris bus nurodytas kitame formos laukelyje.

Periodinė mokyklos informatikos lentelė

Problemą galima išspręsti naudojant bet kurią universalią kalbą. Imsime paprastą seną „Delpi-7“, kuris suprantamas beveik kiekvienam. Tačiau prieš programuodami PL, nupieškime du paveikslėlius, pavyzdžiui, „Photoshop“. Pirmiausia nubrėžkime periodinę lentelę tokia forma, kokią norime matyti programoje. Išsaugokite rezultatą grafiniame faile table01.bmp.

Periodinė mokyklos informatikos lentelė

Antram piešiniui naudojame pirmąjį. Lentelės langelius, išvalytus nuo visos grafikos, nuosekliai užpildysime unikaliomis spalvomis RGB spalvų modelyje. R ir G visada bus 0, o B=1 – vandenilis, 2 – helis ir tt Šis piešinys bus mūsų valdymo kortelė, kurią išsaugosime faile pavadinimu table2.bmp.

Periodinė mokyklos informatikos lentelė

Baigtas pirmasis grafinio programavimo Photoshop programoje etapas. Pereikime prie grafinio GUI programavimo Delpi-7 IDE. Norėdami tai padaryti, atidarykite naują projektą, kuriame pagrindinėje formoje įdedame dialogo mygtuką (stalasDlg), kuriame vyks darbas su lentele. Toliau dirbame su forma stalasDlg.

Įdėkite klasės komponentą į formą „Tmage“. Mes gauname Image1. Atkreipkite dėmesį, kad paprastai dideliems projektams automatiškai generuojami formos pavadinimai VaizdasNKur N gali siekti keliasdešimt ar daugiau – tai nėra pats geriausias programavimo stilius, todėl reikėtų duoti prasmingesnius pavadinimus. Bet mūsų mažame projekte, kur N neviršys 2, galite palikti tokį, koks sugeneruotas.

Į nuosavybę Vaizdas1.Paveikslėlis įkelti failą table01.bmp. Mes kuriame Image2 ir įdėkite ten mūsų valdymo kortelę table2.bmp. Tokiu atveju failą padarome mažą ir vartotojui nematomą, kaip parodyta apatiniame kairiajame formos kampe. Pridedame papildomų valdymo elementų, kurių paskirtis akivaizdi. Antrasis grafinio GUI programavimo etapas Delpi-7 IDE baigtas.

Periodinė mokyklos informatikos lentelė

Pereikime prie trečiojo etapo – kodo rašymo Delpi-7 IDE. Modulis susideda tik iš penkių įvykių tvarkyklių: formos kūrimo (FormCreate), žymeklio judėjimas Image1 (Image1MouseMove), spustelėdami LMB langelyje (Vaizdas1 Spustelėkite) ir išeikite iš dialogo lango naudodami mygtukus OK (OKBtnSpustelėkite) arba atšaukti (AtšauktiBtnSpustelėkite). Šių tvarkyklių antraštės generuojamos standartiniu būdu naudojant IDE.

Modulio šaltinio kodas:

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.

Mūsų versijoje mes paėmėme 104 elementų lentelę (konstanta Dydis). Akivaizdu, kad šį dydį galima padidinti. Elementų žymėjimai (cheminiai simboliai) įrašomi į masyvą LentelėSimboliai. Tačiau dėl šaltinio kodo kompaktiškumo patartina šių žymėjimų seką parašyti eilutės konstantų pavidalu. Periodinė lentelėStr1..., Periodinė lentelėStr4kad kuriant formą pati programa išsklaidytų šiuos pavadinimus tarp masyvo elementų. Kiekvieną elemento pavadinimą sudaro viena arba dvi lotyniškos raidės, kurių pirmoji raidė yra didžioji, o antroji (jei yra) – mažoji. Ši paprasta taisyklė įgyvendinama įkeliant masyvą. Taigi žymėjimų seka gali būti rašoma glaustai, be tarpų. Sekos suskaidymas į keturias dalis (konstantas Periodinė lentelėStr1..., Periodinė lentelėStr4) yra susijęs su šaltinio kodo skaitymo paprastumu, nes Per ilga eilutė gali netilpti į ekraną.

Kai pelės žymeklis perkeliamas virš Image1 prižiūrėtojas Image1MouseMove šis įvykis nustato valdymo kortelės pikselio mėlynos spalvos komponento reikšmę Image2 esamoms žymeklio koordinatėms. Pagal statybas Image2 ši reikšmė lygi elemento numeriui, jei žymeklis yra langelio viduje; nulis, jei pasienyje, ir 255 kitais atvejais. Likę programos atliekami veiksmai yra nereikšmingi ir nereikalauja paaiškinimo.

Be aukščiau paminėtų stilistinio programavimo metodų, verta atkreipti dėmesį į komentarų stilių. Griežtai kalbant, aptariamas kodas yra toks mažas ir paprastas, kad komentarai neatrodo itin reikalingi. Tačiau jie buvo įtraukti ir dėl metodologinių priežasčių – trumpasis kodas leidžia aiškiau padaryti kai kurias bendras išvadas. Pateiktame kode deklaruojama viena klasė (TtableDlg). Šios klasės metodai gali būti keičiami ir tai jokiu būdu neturės įtakos programos veikimui, tačiau gali turėti įtakos jos skaitomumui. Pavyzdžiui, įsivaizduokite seką:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Jis gali būti nelabai pastebimas, bet bus šiek tiek sunkiau perskaityti ir suprasti. Jei skyriuje yra ne penki, o dešimtis kartų daugiau metodų vykdymas jose visai kitokia tvarka nei klasių aprašymuose, tada chaosas tik didės. Todėl, nors griežtai įrodyti sunku, o gal net neįmanoma, galima tikėtis, kad įvedus papildomą tvarką, kodo skaitomumas pagerės. Šią papildomą tvarką palengvina loginis kelių metodų, atliekančių susijusias užduotis, grupavimas. Kiekvienai grupei turi būti suteiktas pavadinimas, pavyzdžiui:

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

Šios antraštės turi būti nukopijuotos į modulio pradžią ir suformatuotos kaip turinys. Kai kuriais gana ilgų modulių atvejais tokie turiniai suteikia papildomų naršymo galimybių. Panašiai, ilgajame vieno metodo, procedūros ar funkcijos korpuse, pirmiausia verta pažymėti šio korpuso pabaigą:

end; // FormCreate

ir, antra, šakotuose sakiniuose su programos skliaustais pradžia - pabaiga pažymėkite teiginį, į kurį nurodo baigiamasis skliaustas:

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

Norėdami paryškinti grupių antraštes ir metodo dalių galus, galite pridėti eilutes, kurios yra ilgesnės nei dauguma teiginių ir kurias sudaro, pavyzdžiui, atitinkamai simboliai „=“ ir „_“.
Vėlgi, turime padaryti išlygą: mūsų pavyzdys pernelyg paprastas. Ir kai metodo kodas netelpa viename ekrane, gali būti sunku suprasti šešis iš eilės kodo pakeitimus. Kai kuriuose senuose kompiliatoriuose, pavyzdžiui, Pascal 8000, skirta OS IBM 360/370, toks paslaugų stulpelis buvo atspausdintas sąrašo kairėje

B5
…
E5

Tai reiškė, kad E5 eilutės baigiamasis skliaustas atitiko B5 eilutės pradžios skliaustelį.

Žinoma, programavimo stilius yra labai prieštaringas klausimas, todėl čia išsakytos idėjos turėtų būti vertinamos kaip ne kas kita, kaip maistas apmąstymams. Dviems pakankamai patyrusiems programuotojams, kurie per ilgus darbo metus susikūrė ir priprato prie skirtingų stilių, gali būti labai sunku susitarti. Visai kas kita programuoti besimokančiam studentui, kuris dar nespėjo rasti savo stiliaus. Manau, kad tokiu atveju mokytojas turėtų bent jau perteikti savo mokiniams tokią paprastą, bet jiems neakivaizdžią mintį, kad programos sėkmė labai priklauso nuo stiliaus, kuriuo parašytas jos šaltinio kodas. Mokinys gali nesilaikyti rekomenduojamo stiliaus, bet leisti jam bent pagalvoti apie būtinybę atlikti „papildomus“ veiksmus, kad patobulintų šaltinio kodo dizainą.

Grįžtant prie pagrindinės problemos periodinėje lentelėje: tolesnė plėtra gali vykti įvairiomis kryptimis. Viena iš krypčių yra orientacinė: užvedus pelės žymeklį virš lentelės langelio, pasirodo informacijos langas su papildoma informacija apie nurodytą elementą. Tolesnė plėtra yra filtrai. Pavyzdžiui, priklausomai nuo įrengimo, informaciniame lange bus tik: svarbiausia fizinė ir cheminė informacija, informacija apie atradimų istoriją, informacija apie paplitimą gamtoje, svarbiausių junginių sąrašas (kuriame yra šis elementas), fiziologinės savybės, vardas užsienio kalba ir tt e. Prisimindami Kaverino „antis“, nuo kurios prasideda šis straipsnis, galime teigti, kad su šia programos plėtra gausime visą gamtos mokslų mokymo kompleksą: be kompiuterio gamtos mokslai, fizika ir chemija – biologija, ekonominė geografija, mokslo istorija ir net užsienio kalbos.

Tačiau vietinė duomenų bazė nėra riba. Programa natūraliai prisijungia prie interneto. Pasirinkus elementą, suaktyvinama nuoroda, o interneto naršyklės lange atidaromas Vikipedijos straipsnis apie šį elementą. Vikipedija, kaip žinote, nėra autoritetingas šaltinis. Galite nustatyti nuorodas į autoritetingus šaltinius, pavyzdžiui, cheminę enciklopediją, TSB, abstrakčius žurnalus, užsakyti šio elemento užklausas paieškos sistemose ir kt. Tai. Studentai gebės atlikti paprastas, bet prasmingas užduotis DBVS ir interneto temomis.

Be užklausų dėl atskiro elemento, galite sukurti funkciją, kuri, pavyzdžiui, pažymės tam tikrus kriterijus atitinkančius lentelės langelius skirtingomis spalvomis. Pavyzdžiui, metalai ir nemetalai. Arba ląstelės, kurias vietinė chemijos gamykla išmeta į vandens telkinius.

Taip pat galite įgyvendinti užrašų knygelės tvarkyklės funkcijas. Pavyzdžiui, lentelėje pažymėkite elementus, kurie yra įtraukti į egzaminą. Tada paryškinkite elementus, kuriuos mokinys mokėsi/kartoja ruošdamasis egzaminui.

Ir štai, pavyzdžiui, viena iš tipiškų mokyklos chemijos problemų:

Duota 10 g kreidos. Kiek druskos rūgšties reikia išgerti, kad visa ši kreida ištirptų?

Norint išspręsti šią problemą, būtina užsirašyti chemiją. reakciją ir įdėdami į ją koeficientus, apskaičiuokite kalcio karbonato ir vandenilio chlorido molekulines mases, tada sudarykite ir išspręskite proporciją. Skaičiuoklė, pagrįsta mūsų pagrindine programa, gali apskaičiuoti ir išspręsti. Tiesa, vis tiek reikės atsižvelgti į tai, kad rūgštis turi būti vartojama protingai per daug ir protinga koncentracija, tačiau tai yra chemija, o ne informatika.
1 priedas: kaip veikia chemijos skaičiuotuvasIšanalizuokime skaičiuotuvo veikimą, naudodamiesi aukščiau pateiktos kreidos ir „keturkelio“ problemos pavyzdžiu. Pradėkime nuo reakcijos:

CaCO3 + 2HCl = CaCl2 + H2O

Iš to matome, kad mums reikės šių elementų atominių svorių: kalcio (Ca), anglies (C), deguonies (O), vandenilio (H) ir chloro (Cl). Paprasčiausiu atveju šiuos svorius galime įrašyti į vienmatį masyvą, apibrėžtą kaip

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

kur masyvo indeksas atitinka elemento numerį. Daugiau apie laisvą formos vietą stalasDlg įdėti du laukus. Pirmame lauke iš pradžių rašoma: „Duotas pirmasis reagentas“, antrame - „Antrasis reagentas yra rasti x“. Pažymėkime laukus reagentas1, reagentas2 atitinkamai. Kiti programos papildymai bus aiškūs iš toliau pateikto skaičiuoklės pavyzdžio.

Kompiuterio klaviatūra renkame: 10 g.Užrašas laukelyje reagentas1 pakeitimai: "Pirmam reagentui skiriama 10 g." Dabar įvedame šio reagento formulę, o skaičiuotuvas apskaičiuos ir parodys jo molekulinę masę įvedant.

Lentelės langelyje su Ca simboliu spustelėkite LMB. Užrašas lauke reagentas1 pakeitimai: „Pirmasis reagentas Ca 40.078 duotas 10 g.

Lentelės langelyje su simboliu C. Užrašas lauke spustelėkite LMB reagentas1 pakeitimai: „Pirmasis reagentas CaC 52.089 duotas 10 g. Tie. Skaičiuoklė susumavo kalcio ir anglies atominius svorius.

Lentelės langelyje su simboliu O. Užrašas lauke spustelėkite LMB reagentas1 pakeitimai: „Pirmasis reagentas CaCO 68.088 duotas 10 g. Skaičiuoklė prie sumos pridėjo deguonies atominį svorį.

Lentelės langelyje su simboliu O. Užrašas lauke spustelėkite LMB reagentas1 pakeitimai: „Pirmasis reagentas CaCO2 84.087 duotas 10 g. Skaičiuoklė prie sumos dar kartą pridėjo deguonies atominį svorį.

Lentelės langelyje su simboliu O. Užrašas lauke spustelėkite LMB reagentas1 pakeitimai: „Pirmasis reagentas CaCO3 100.086 duotas 10 g. Skaičiuoklė prie sumos vėl pridėjo deguonies atominį svorį.

Paspauskite Enter kompiuterio klaviatūroje. Pirmojo reagento įvedimas baigtas ir pereinama į lauką reagentas2. Atminkite, kad šiame pavyzdyje pateikiame minimalią versiją. Jei pageidaujate, galite lengvai sutvarkyti to paties tipo atomų daugiklius, kad, pavyzdžiui, įvedant chromo formulę (K2Cr2O7) nereikėtų septynis kartus iš eilės spustelėti deguonies elementą.

Lentelės langelyje su simboliu H. Užrašas spustelėkite LMB reagentas2 pakeitimai: „Antrasis reagentas H 1.008 surask x“.

Lentelės langelyje su simboliu Cl spustelėkite LMB. Užrašas lauke reagentas2 pakeitimai: „Antrasis reagentas HCl 36.458 surask x“. Skaičiuoklė susumavo vandenilio ir chloro atominius svorius. Aukščiau pateiktoje reakcijos lygtyje prieš vandenilio chloridą yra koeficientas 2. Todėl lauke spustelėkite LMB reagentas2. Molekulinė masė padvigubėja (trigubai paspaudus du kartus ir pan.). Užrašas lauke reagentas2 pakeitimai: „Antrasis reagentas 2HCl 72.916 surask x“.

Paspauskite Enter kompiuterio klaviatūroje. Antrojo reagento įvedimas baigtas, o skaičiuotuvas suranda x iš proporcijos

Periodinė mokyklos informatikos lentelė

Štai ką mums reikėjo rasti.

Pastaba 1. Gautos proporcijos reikšmė: ištirpinimui 100.086 Da kreidai reikia 72.916 Da rūgšties, o 10 g kreidos ištirpinti reikia x rūgšties.

Pastaba 2. Panašių problemų rinkiniai:

Khomchenko I. G., Chemijos uždavinių ir pratimų rinkinys 2009 (8-11 kl.).
Khomchenko G. P., Khomchenko I. G., Chemijos problemų rinkinys stojantiesiems į universitetus, 2019 m.

Pastaba 3. Norėdami supaprastinti užduotį, galite supaprastinti formulės įvedimą pradinėje versijoje ir tiesiog pridėti elemento simbolį formulės eilutės pabaigoje. Tada kalcio karbonato formulė bus tokia:
CaCOOO
Tačiau chemijos mokytojui toks įrašas vargu ar patiks. Įvesti teisingą įrašą nėra sunku - norėdami tai padaryti, turite pridėti masyvą:

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

kur indeksas yra cheminio elemento skaičius, o šio indekso reikšmė yra atomų skaičius (iš pradžių visi masyvo elementai nustatomi į nulį). Reikėtų atsižvelgti į tvarką, kuria atomai rašomi formulėje, kaip priimta chemijoje. Pavyzdžiui, mažai kam patiks ir O3CaC. Perkelkime atsakomybę vartotojui. Sukurkime masyvą:

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

kur užrašome cheminio elemento skaičių pagal jo atsiradimo indeksą formulėje. Pridedamas atomas CurrNr į formulę:

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

Formulės rašymas į eilutę:

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;

Pastaba 4. Tikslinga suteikti galimybę alternatyviai įvesti reagento formulę iš klaviatūros. Tokiu atveju turėsite įdiegti paprastą analizatorių.

Verta pažymėti, kad:

Šiandien yra keli šimtai lentelės versijų, o mokslininkai nuolat siūlo naujų variantų. (Vikipedija)

Mokiniai gali parodyti savo išradingumą šia kryptimi įgyvendindami vieną iš jau pasiūlytų variantų arba pabandyti sukurti savo originalų. Gali atrodyti, kad tai mažiausiai naudinga informatikos pamokų kryptis. Tačiau šiame straipsnyje įdiegtoje periodinėje lentelėje kai kurie studentai gali nematyti ypatingų valdymo kortelių pranašumų, palyginti su alternatyviu sprendimu naudojant standartinius mygtukus. TBygtukas. Spiralinė lentelės forma (kai langeliai yra skirtingų formų) aiškiau parodys čia siūlomo sprendimo privalumus.

Periodinė mokyklos informatikos lentelė
(Alternatyvi Theodore Benfey elementų sistema, šaltinis)

Taip pat pridurkime, kad nemažai šiuo metu esamų kompiuterinių programų, skirtų periodinei lentelei, aprašytos neseniai Habré paskelbtame leidinyje. straipsnis.

2 priedas: filtrų užduočių pavyzdžiaiNaudodami filtrus galite išspręsti, pavyzdžiui, šias užduotis:

1) Lentelėje pasirinkite visus viduramžiais žinomus elementus.

2) Nurodykite visus elementus, žinomus periodinio dėsnio atradimo metu.

3) Nurodykite septynis elementus, kuriuos alchemikai laikė metalais.

4) Pasirinkite visus elementus, kurie normaliomis sąlygomis yra dujinės būsenos (n.s.).

5) Pasirinkite visus elementus, kurie yra skystos būsenos Nr.

6) Pasirinkite visus elementus, kurie yra kietos būsenos Nr.

7) Pasirinkite visus elementus, kurie normaliomis sąlygomis gali būti ilgą laiką veikiami oru be pastebimų pokyčių.

8) Pasirinkite visus metalus, kurie tirpsta druskos rūgštyje.

9) Pasirinkite visus metalus, kurie tirpsta sieros rūgštyje Nr.

10) Pasirinkite visus metalus, kurie kaitinant tirpsta sieros rūgštyje.

11) Pasirinkite visus metalus, kurie tirpsta azoto rūgštyje.

12) Išskirkite visus metalus, kurie aplinkos sąlygomis smarkiai reaguoja su vandeniu.

13) Pasirinkite visus metalus.

14) Nustatyti elementus, kurie yra plačiai paplitę gamtoje.

15) Nustatyti elementus, kurie randami gamtoje laisvoje būsenoje.

16) Nustatyti elementus, kurie atlieka svarbiausią vaidmenį žmogaus ir gyvūno organizme.

17) Pasirinkite elementus, kurie plačiai naudojami kasdieniame gyvenime (laisva forma arba deriniais).

18) Nustatyti elementus, su kuriais dirbti pavojingiausia ir kuriems reikia specialių priemonių bei apsaugos priemonių.

19) Nustatyti elementus, kurie laisvos formos arba junginių pavidalu kelia didžiausią grėsmę aplinkai.

20) Pasirinkite tauriuosius metalus.

21) Nustatykite elementus, kurie yra brangesni už tauriuosius metalus.

Pažymi,

1) Tikslinga pateikti kelis filtrus. Pavyzdžiui, jei įjungsite filtrą, kad išspręstumėte 1 (visi viduramžiais žinomi elementai) ir 20 (brangieji metalai) uždavinius, tada ląstelės su tauriaisiais metalais, žinomais viduramžiais, bus paryškintos (pavyzdžiui, pagal spalvą) ( pavyzdžiui, paladis nebus paryškintas , atidarytas 1803 m.).

2) Tikslinga užtikrinti, kad keli filtrai veiktų tokiu režimu, kad kiekvienas filtras pasirinktų langelius su savo spalva, bet visiškai nepanaikintų kito filtro pasirinkimo (dalis langelio vienos spalvos, dalis kitos). Tada, ankstesnio pavyzdžio atveju, bus matomi viduramžiais atrastų aibių ir tauriųjų metalų sankirtos elementai, taip pat elementai, priklausantys tik pirmajam ir tik antrajam aibiui. Tie. taurieji metalai, nežinomi viduramžiais, ir elementai, žinomi viduramžiais, bet ne brangieji metalai.

3) Prasminga pritaikius filtrą užtikrinti kitokio darbo galimybę su gautais rezultatais. Pavyzdžiui, pasirinkęs viduramžiais žinomus elementus, vartotojas spusteli LMB ant pasirinkto elemento ir patenka į Vikipedijos straipsnį apie šį elementą.

4) Tikslinga suteikti vartotojui galimybę panaikinti pasirinkimą spustelėjus LMB pasirinktoje lentelės langelyje. Pavyzdžiui, norint pašalinti jau peržiūrėtus elementus.

5) Tikslinga užtikrinti, kad pasirinktų langelių sąrašas būtų išsaugotas faile ir į tokį failą būtų įkeltas automatinis langelių pasirinkimas. Tai suteiks vartotojui galimybę pailsėti nuo darbo.

Naudojome statinį, iš anksto nustatytą valdymo žemėlapį, tačiau yra daug svarbių užduočių, kuriose galima naudoti dinaminius valdymo žemėlapius, kurie keičiasi vykdant programą. Pavyzdys galėtų būti grafų rengyklė, kurioje vartotojas naudoja pelę, kad nurodytų lango viršūnių vietas ir nubrėžtų briaunas tarp jų. Norėdami ištrinti viršūnę arba kraštą, vartotojas turi į jį nukreipti. Bet jei gana lengva nukreipti į viršūnę, pažymėtą apskritimu, tai į kraštą, nubrėžtą plona linija, bus sunkiau. Čia padės valdymo žemėlapis, kuriame viršūnės ir briaunos užima platesnes apylinkes, nei matomame paveikslėlyje.

Įdomus šalutinis klausimas, susijęs su šiuo kompleksinio mokymo metodu: ar šis metodas gali būti naudingas lavinant AI?

Šaltinis: www.habr.com

Добавить комментарий