(Maps Menaxher)
(Dedikuar Vitit Ndërkombëtar të Tabelës Periódike të Elementeve Kimike)
(Ndryshimet e fundit janë bërë më 8 Prill 2019. Lista e ndryshimeve është menjëherë pas titullit)

(, )
I kujtohet, ne kaluam për patën. Këto ishin menjëherë tri mësime: gjeografia, shkenca natyrore dhe gjuha shqipe. Në mësimin e shkencave natyrore, pata u studiuar si pata: cilat ka krahë, cilat ka këmbë, si noton etj. Në mësimin e gjeografisë, e njëjta patë u studiuar si banore e sipërfaqes së Tokës: duhej të tregosh në hartë se ku jeton dhe ku nuk jeton. Në gjuhën shqipe, Serafima Petrova na mësoi të shkruanim "p-a-t-ë" dhe lexoi diçka për patat nga Brema. Përkalimi, ajo na informoi se në gjermanisht pata quhet kështu, dhe në frëngjisht kështu. Duket se kjo quhej atëherë "metoda komplekse". Në përgjithësi, gjithçka rezultoi "përkalim".
Veniamin Kavërin, Dy Kapitenët
Në citatin e cituar, Veniamin Kavërin mjeshtërisht tregoi mangësitë e metodës komplekse të mësimit, megjithatë, në disa (ndoshta mjaft të rralla) raste, elementet e kësaj metode mund të jenë të justifikuara. Një nga këto raste është tabela periodike e D.I. Mendeleev-it në mësimet e informatikës shkollore. Detyra e automatizimit programor të veprimeve standarde me tabelën e Mendeleev-it është e qartë për nxënësit që kanë filluar të mësojnë kiminë dhe ndahet në shumë detyra tipike kimike. Në të njëjtën kohë, brenda kuadrit të informatikës, kjo detyrë lejon të demonstrohet në një formë të thjeshtë mënyra e kartave menaxhuese, e cila mund të referohet te programimi grafik, i kuptuar në kuptimin e gjerë si programim përmes elementeve grafike.
(8 Prill 2019 janë bërë ndryshime:
Le të fillojmë me detyrën bazë. Në rastin më të thjeshtë, në ekran në formën e dritares duhet të shfaqet tabela periodike, ku në çdo katror do të ketë shenjën kimike të elementit: H - hidrogjeni, He - heliumi etj. Nëse kursori i miut tregon në katror, atëherë në një fushë të veçantë në formën tonë shfaqet shenja e elementit dhe numri i tij. Nëse përdoruesi në këtë rast klikon me butonin e majtë të miut, atëherë në një fushë tjetër të formës do të jepen shenja dhe numri i këtij elementi të zgjedhur.

Detyra mund të zgjidhet në çdo gjuhë programuese universale. Do të marrim Delphi-7, një mjet të njohur për shumicën. Por para se të programojmë në këtë gjuhë, do të vizatojmë dy imazhe, për shembull, në Photoshop. Së pari, do të vizatojmë tabelën periodike ashtu siç duam ta shohim në program. Do ta ruajmë rezultatin në një skedar grafik. table01.bmp.

Për imazhin e dytë do të përdorim të parin. Do të mbushim një nga një qelizat e pastra nga çdo grafik me ngjyra unike në modelin e ngjyrave RGB. R dhe G do të jenë gjithmonë 0, ndërsa B=1 për hidrogjenin, 2 për helium dhe kështu me radhë. Ky imazh do të jetë harta jonë kontrolluese, që do ta ruajmë në një skedar nën emrin table2.bmp.

Faza e parë e programimit grafik në Photoshop ka përfunduar. Tani do të kalojmë në programimin grafik GUI në IDE Delphi-7. Për këtë, hapim një projekt të ri, ku në formën kryesore vendosim një buton për të thirrur dialogun (tableDlg), në të cilin do të zhvillohet puna me tabelën. Më pas punojmë me formën tableDlg.
Vendosim në formë komponentin e klasës TImage. Marrim Image1. Vlen të theksohet se në përgjithësi për projekte të mëdha, emrat e gjeneruar automatikisht të tipit ImageNindex N mund të arrijnë disa dhjetëra dhe më shumë — është një stil programimi jo i mirë, dhe do të duhej t'u jepeshin emra më të kuptueshëm. Por në projektin tonë të vogël, ku N nuk do të kalojë 2, mund ta lëmë siç është gjeneruar.
Në pronën Image1.Picture ngarkojmë skedarin table01.bmp. Krijojmë Image2 dhe ngarkohet aty harta jonë kontrolluese. table2.bmpNë të njëjtën kohë, skedari bëhet i vogël dhe i padukshëm për përdoruesin, siç tregohet në këndin e poshtëm të majtë të formës. Shtojmë elemente të tjera kontrolli, funksioni i të cilave është i qartë. Faza e dytë e programimit grafik GUI në IDE Delphi-7 ka përfunduar.

Tani kalojmë në fazën e tretë — shkruhen kodet në IDE Delphi-7. Moduli përbëhet nga vetëm pesë trajtues ngjarjesh: krijimi i formës (FormCreate), lëvizja e kursorit mbi Image1 (Image1MouseMove), klikimi me butonin e majtë në qelizë (Image1Click) dhe dalja nga dialogu me ndihmën e butonave OK (OKBtnClick) ose Cancel (CancelBtnClick). Titujt e këtyre trajtuesve gjenerohen në mënyrë standarde me ndihmën e IDE-së.
Kodi burimor i modulit:
tabela unit;
//Tabela periodike e elementeve kimike D.I. Mendelejev
//
// third112
// https://habr.com/en/users/third112/
//
// Indeksi
// 1) krijimi i formës
// 2) punë me tabelën: tregimi dhe zgjedhja
// 3) dalja nga dialogu
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;
const
size = 104; // numri i elementeve
type
TtableDlg = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
Image1: TImage; // tabela e elementeve kimike
Label1: TLabel;
Image2: TImage; // harta menaxheruese
Label2: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject); // krijimi i formës
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); // tregimi i qelizës
procedure Image1Click(Sender: TObject); // zgjedhja e qelizës
procedure OKBtnClick(Sender: TObject); // OK
procedure CancelBtnClick(Sender: TObject); // Anulo
private
{ Deklarata Private }
TableSymbols : array [1..size] of string [2]; // array i simbolove të elementeve
public
{ Deklarata Publike }
selectedElement : string; // elementi i zgjedhur
currNo : integer; // numri aktual i elementit
end;
var
tableDlg: TtableDlg;
implementation
{$R *.dfm}
const
PeriodicTableStr1=
'HHeLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLa';
PeriodicTableStr2='CePrNdPmSmEuGdTbDyHoErTmYbLu';
PeriodicTableStr3='HfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAc';
PeriodicTableStr4='ThPaUNpPuAmCmBkCfEsFmMdNoLrKu ';
// krijimi i formës ==================================================
procedure TtableDlg.FormCreate(Sender: TObject);
// krijimi i formës
var
s : string;
i,j : integer;
begin
currNo := 0;
// inicializimi i array-t të simbolove të elementeve:
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 ____________________________________________________
// punë me tabelën: tregimi dhe zgjedhja =========================================
procedure TtableDlg.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
// tregimi i qelizës
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 := 'Zgjidhni elementin:';
end; // Image1MouseMove ____________________________________________________
procedure TtableDlg.Image1Click(Sender: TObject);
begin
if currNo 0 then
begin
selectedElement := TableSymbols [currNo];
Label2.Caption := intToStr (currNo) + ' ' + selectedElement + ' e zgjedhur';
Edit1.Text := selectedElement;
end;
end; // Image1Click ____________________________________________________
// dalja nga dialogu ==================================================
procedure TtableDlg.OKBtnClick(Sender: TObject);
begin
selectedElement := Edit1.Text;
hide;
end; // OKBtnClick ____________________________________________________
procedure TtableDlg.CancelBtnClick(Sender: TObject);
begin
hide;
end; // CancelBtnClick ____________________________________________________
end.Në versionin tonë, morëm një tabelë me 104 elemente (konstante size). Natyrisht, kjo madhësi mund të rritet. Simbolet e elementeve (simbolet kimike) shkruhen në një array TableSymbols. Megjithatë, për arsye kompaktësie të kodit burimor, duket e arsyeshme të shkruhen sekuenca e këtyre simboleve si constante string PeriodicTableStr1,…, PeriodicTableStr4, që kur ndodh ngjarja e krijimit të formes, programi vetë do t’i shpërndajë këto simbole në elementet e array-t. Çdo simbol elementi përbëhet nga një ose dy letra latine, ku letra e parë është e madhe, ndërsa e dyta (nëse ka) është e vogël. Kjo rregull e thjeshtë realizohet gjatë ngarkimit të array-t. Kështu, sekuenca e simboleve mund të shkruhet në mënyrë të kompresuar pa hapësira. ndarja e sekuencës në katër pjesë (konstante PeriodicTableStr1,…, PeriodicTableStr4) është e motivuar nga një konsideratë për lehtësinë e leximit të kodit burimor, pasi një varg shumë i gjatë mund të mos bëhet gjithmonë i dukshëm në ekran.
Kur ndodh ngjarja e lëvizjes së kursorit të mausit mbi Image1 handler Image1MouseMove kësaj ngjarjeje përcakton vlerën e komponentës blu të ngjyrës së pixelit të kartës së kontrollit Image2 për koordinatat aktuale të kursorit. Sipas ndërtimit, Image2 kjo vlerë është e barabartë me numrin e elementit, nëse kursori është brenda qelisë; zero, nëse është në kufi, dhe 255 në raste të tjera. Veprimet e tjera të kryera nga programi janë triviale dhe nuk kërkojnë shpjegime.
Përveç teknikave stilistike të përmendura më lart të programimit, është e rëndësishme të theksohet stili i komenteve. Rigorozisht, kodi i shqyrtuar është aq i vogël dhe i thjeshtë sa që komentet duken jo veçanërisht të nevojshme. Megjithatë, ato janë shtuar edhe për arsye metodologjike — kodi i shkurtër lejon të ilustrohen disa përfundime të përgjithshme. Në kodin e paraqitur është shpallur një klasë (TtableDlg). Metodat e kësaj klase mund të ndërrohen midis tyre dhe kjo nuk do të reflektojë në funksionimin e programit, por mund të ndikojë në lexueshmërinë e saj. Për shembull, le të imagjinojmë sekuencën:
OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.
Ndoshta nuk është shumë e dukshme, por do të jetë pak më e vështirë për t'u lexuar dhe kuptuar. Nëse metodat nuk janë pesë, por disa dhjetëra herë më shumë dhe në seksionin implementation Ata kanë një renditje krejtësisht të ndryshme nga përshkrimet e klasave, kështu që kaosi do të vazhdojë të rritet. Prandaj, megjithëse është e vështirë të provohet me saktësi dhe ndoshta madje e pamundur, mund të shpresojmë se vendosja e një rendi shtesë do të përmirësojë lexueshmërinë e kodit. Ky rend i shtuar ndihmohet nga grupimi logjik i disa metodave që kryejnë detyra të ngjashme. Secilës grup i vlen të jepet një titull, për shembull:
// работа с таблицей: указание и выбор
Këto tituj duhet të kopjohen në fillim të modulit dhe të paraqiten si një përmbajtje. Në disa raste, mjaft module të gjata, këto përmbajtje ofrojnë mundësi shtesë navigimi. Po ashtu, në trupin e gjatë të një metode, procedure ose funksioni, së pari duhet të shënohet fundi i këtij trupi:
end; // FormCreatedhe, së dyti, në operatorët e ndarë me kllapa programore begin – end, duhet të shënohet operatori, të cilit i përket kllapa mbyllëse:
end; // nëse s[j] në
end; // për i :=1
end; // FormCreate
Për të nxjerrë në pah titujt e grupeve dhe fundet e trupave të metodave, mund të shtohen rreshta që tejkalojnë shumicën e operatorëve dhe që përbëhen, për shembull, nga simbolet “=” dhe “_” përkatësisht.
Sërish duhet të saktësojmë: kemi një shembull shumë të thjeshtë. Dhe kur kodi i metodës nuk i përshtatet një ekrani, të kuptosh gjashtë end pas njëri-tjetrit për të bërë ndryshime në kod, mund të jetë e vështirë. Në disa kompajlerë të vjetër, për shembull, Pascal 8000 për OS IBM 360/370, në listimin në majë të majtë printohej një kolonë shërbyese si
B5
…
E5
Kjo do të thoshte se kllapa mbyllëse programore në rreshtin E5 përfundon me kllapën e hapur në rreshtin B5.
Sigurisht, stili i programimit është një çështje shumë e paqartë, prandaj idetë e shprehura këtu duhet të merren si informacion për reflektim. Dy programues të mjaftueshëm të aftë, të cilët kanë zhvilluar dhe zakonisht përdorin stile të ndryshme gjatë viteve të punës, shpesh e kanë të vështirë të bien dakord. Një tjetër rast është ai i një nxënësi që po mëson të programojë, i cili nuk ka pasur ende kohë të formojë stilin e tij të vet. Mendoj se në këtë rast, mësuesi duhet të përcjellë të paktën një mendim kaq të thjeshtë, por që nuk është e dukshme për ta, se suksesi i programit në masë të madhe varet nga stili në të cilin është shkruar kodi i tij burimor. Nxënësi mund të mos ndjekë stilin e rekomanduar, por le të mendojë për nevojën e veprimeve "të tepërta" për përmirësimin e paraqitjes së kodit burimor.
Duke u kthyer në detyrën tonë themelore për tabelën periodike: zhvillimi i mëtejshëm mund të ndodhë në drejtime të ndryshme. Një nga drejtimet është referenciale: kur të kalosh me mausin mbi qelizën e tabelës shfaqet një dritare informuese që përmban të dhëna shtesë mbi elementin e caktuar. Zhvillimi i mëtejshëm do të përfshijë filtre. Për shembull, në varësi të cilësimit në dritaren informative do të shfaqen vetëm: të dhënat më të rëndësishme fizikokimike, informacione rreth historisë së zbulesës, informacion mbi shpërndarjen në natyrë, lista e kompozimeve më të rëndësishme (në të cilat hyn ky element), veçoritë fiziologjike, emri në një gjuhë të huaj, etj. Duke kujtuar "ëndrrën" e Kaverinit, me të cilën fillon ky artikull, mund të thuhet se me një zhvillim të tillë të programit do të kemi një kompleks të plotë arsimor mbi shkencat natyrore: përveç informatikës, fizikës dhe kimisë — biologji, gjeografi ekonomike, histori e shkencës dhe madje gjuhë të huaja.
Por baza e dhënave lokale nuk është kufiri. Programi lidhet natyrshëm me Internetin. Kur zgjidhet një element, aktivizohet një lidhje dhe në dritaren e shfletuesit web shfaqet një artikull i Wikipedia-s për këtë element. Siç dihet, Wikipedia nuk është një burim autoritar. Mund të përmenden lidhjet me burime autoritare, për shembull, enciklopedinë kimike, BSH, revista referuese, të kërkosh kërkesa në motorët e kërkimit për këtë element, etj. Kështu, nxënësit do të mund të kryejnë detyra të thjeshta, por të qëlluara mbi temat e DB dhe Internetit.
Përveç pyetjeve për element të veçantë, mund të krijohet një funksionalitet që do të shënojë, për shembull, me ngjyra të ndryshme qelizat në tabelë që përputhen me kritere të caktuara. Për shembull, metale dhe jo-metale. Ose qelizat që ndotësi lokal ka derdhur në ujëra.
Mund të implementohen gjithashtu funksione të një blloku shënimesh-organizuesi. Për shembull, të shënohen në tabelë elementët që përfshihen në provim. Pastaj të shënoheshin elementët e studiuar/përsëritur nga nxënësi gjatë përgatitjes për provim.
Ja një nga detyrat tipike të kimisë shkollore:
I janë dhënë 10 g gëlqere. Sa acid klorhidrik duhet të përdoret për të tretur tërë këtë gëlqere?
Për të zgjidhur këtë detyrë, duhet, duke regjistruar reaksionin kimik dhe vendosur koeficientët, të llogaritësh masat molekulare të karbonatit të kalciumit dhe të acidit klorhidrik, pastaj të formosh dhe zgjidhësh një proporcioni. Një kalkulator bazuar në programin tonë themelor do të mund ta llogarisë dhe ta zgjidhë. Megjithatë, duhet gjithashtu të merret parasysh se acidi duhet të merret me një tepricë të arsyeshme dhe në një koncentrim të arsyeshëm, por kjo është kiminë, jo informatikën.
Ndryshimi 1: Si funksionon kalkulatori kimikLe të analizojmë punën e kalkulatorit për shembullin e mësipërm të detyrës së gëlqeres dhe "soljanës". Le të fillojmë me reaksionin:
CaCO3 + 2HCl = CaCl2 + H2O
Nga kjo, shohim se do të na duhen masat atomike të elementeve të mëposhtme: kalcium (Ca), karbon (C), oksigjen (O), hidrogjen (H) dhe klor (Cl). Në rastin më të thjeshtë, mund t'i regjistrojmë këto masa në një array eindimensional, të përcaktuar si
AtomicMass : array [1..size] of real;ku indeksi i array-it përputhet me numrin e elementit. Gjithashtu në një hapësirë të lirë të formës tableDlg vendosim dy fusha. Në fushën e parë është shkruar fillimisht: "Reagenti i parë i dhënë", ndërsa në të dytën — "Reagenti i dytë të gjejmë x". Le t'i quajmë fushat reagent1, reagent2 përkatësisht. Shtesat e tjera në program do të jenë të qarta nga shembulli i ardhshëm i punës së kalkulatorit.
Shkruajmë në tastierën e kompjuterit: 10 g. Shkrimi në fushën reagent1 ndryshon: "Reagenti i parë i dhënë 10 g". Tani futim formulën e këtij reagenti, dhe kalkulatori do të llogarisë dhe tregojë masën molekulare ndërsa e futim.
Klikojmë me miun në qelizën e tabelës me simbolin Ca. Shkrimi në fushën reagent1 ndryshon: "Reagenti i parë Ca 40.078 i dhënë 10 g".
Klikojmë me miun në qelizën e tabelës me simbolin C. Shkrimi në fushën reagent1 ndryshon: "Reagenti i parë CaC 52.089 i dhënë 10 g". Pra, kalkulatori ka përmbledhur masat atomike të kalciumit dhe karbonit.
Klikoni me të majtën mbi kutinë e tabelës me simbolin O. Teksti në fushë reagent1 ndryshohet: “Reagenti i parë CaCO 68.088 dhënë 10 g”. Kalkulatori i shtoi në shumën peshën atomike të oksigjenit.
Klikoni me të majtën mbi kutinë e tabelës me simbolin O. Teksti në fushë reagent1 ndryshohet: “Reagenti i parë CaCO2 84.087 dhënë 10 g”. Kalkulatori përsëri shtoi në shumën peshën atomike të oksigjenit.
Klikoni me të majtën mbi kutinë e tabelës me simbolin O. Teksti në fushë reagent1 ndryshohet: “Reagenti i parë CaCO3 100.086 dhënë 10 g”. Kalkulatori sërish shtoi në shumën peshën atomike të oksigjenit.
Klikoni Enter në tastierën e kompjuterit. Ky është përfundimi i hyrjes së reagenteve të parë dhe kalon në fushë reagent2. Vlen të theksohet se në këtë shembull po ofrojmë versionin minimal. Nëse dëshironi, mund të organizoni lehtësisht faktorë atomikë të një lloji, për shembull, për të mos klikuar shtatë herë radhazi mbi kutinë e oksigjenit gjatë hyrjes së formulës së kromit (K2Cr2O7).
Klikoni me të majtën mbi kutinë e tabelës me simbolin H. Teksti në fushë reagent2 ndryshohet: “Reagenti i dytë H 1.008 gjej x”.
Klikoni me të majtën mbi kutinë e tabelës me simbolin Cl. Teksti në fushë reagent2 ndryshohet: “Reagenti i dytë HCl 36.458 gjej x”. Kalkulatori e mbajti peshën atomike të hidrogjenit dhe klorit. Në ekuacionin e mësipërm të reaksionit, përpara klorurit të hidrogjenit qëndron koeficienti 2. Prandaj, klikoni me të majtën mbi fushë reagent2. Pesha molekulare dyfishohet (nëse klikoni dy herë trefishohet etj.). Teksti në fushë reagent2 ndryshohet: “Reagenti i dytë 2HCl 72.916 gjej x”.
Klikoni Enter në tastierën e kompjuterit. Ky është përfundimi i hyrjes së reagenteve të dytë, dhe kalkulatori gjen x nga proporcioni

Që ishte kërkuar të gjendej.
Shënim 1. Kuptimi i proporcionit të marrë: për tretjen e 100.086 gjipsit nevojitet 72.916 Da acid, dhe për tretjen e 10 g gjipsit nevojitet x acid.
Shënim 2. Koleksionet e detyrave të ngjashme:
Homçenko I. G., Koleksion detyrash dhe ushtrimesh për kimikën 2009 (klasa 8-11).
Homçenko G. P., Homçenko I. G., Koleksion detyrash për kimikën për ata që pranojnë në universitete, 2019.
Shënim 3. Për ta thjeshtuar problemin, mund të thjeshtoni hyrjen e formulës në versionin fillestar dhe thjesht të shtoni simbolin e elementit në fund të vargut të formulës. Atëherë formula e karbonatit të kalciumit do të ketë formën:
CaCOOO
Por një shënim i tillë ndoshta nuk do t'i pëlqejë mësuesit të kimisë. Të bësh një shënim të saktë nuk është e vështirë — për këtë duhet të shtosh një varg:
formula : array [1..size] of integer;ku indeks është numri i elementit kimik, dhe vlera në këtë indeks është sasia e atomeve (fillimisht të gjitha elementet e masës janë zero). Duhet të merret parasysh rendi i shkrimit të atomeve në formulë, siç pranohet në kimikë. Për shembull, O3CaC gjithashtu nuk do të pëlqehet nga shumë njerëz. Të heqim përgjegjësinë nga përdoruesi. Të krijojmë një masë:
formulaOrder : array [1..size] of integer; // mund ta bëjmë më të shkurtërku shkruajmë numrin e elementit kimik sipas indeksit të shfaqjes së tij në formulë. Shtimi i atomeve currNo në formulë:
if formula [currNo]=0 then //ky atom është takuar për herë të parë
begin
orderIndex := orderIndex+1; //në fillim të hyrjes së formulës orderIndex=0
formulaOrder [orderIndex] := currNo;
end;
formula [currNo]:=formula [currNo]+1;Shkruani formulën në varg:
s := ''; // varg bosh për formulën
for i:=1 to orderIndex do //për të gjithë simbolët kimikë në formulë
begin
s:=s+TableSymbols [ formulaOrder[i]]; // shtojmë simbolin kimik
if formula [formulaOrder[i]]1 then //shtojmë sasinë e atomeve
s:=s+ intToStr(formula [formulaOrder[i]]);
end;
Shënim 4. Ka kuptim të sigurohet mundësia e inputit alternativ të formulës së reagjentit nga tastiera. Në këtë rast, do të duhet të realizohet një analizator sintaksor i thjeshtë.
Duhet të theksohet se:
Sot ekzistojnë disa qindra variante të tabelës, ndërsa shkencëtarët propozojnë vazhdimisht variante të reja. ()
Nxënësit mund të tregojnë shpikësi edhe në këtë drejtim, duke realizuar ndonjë nga variantet e propozuara tashmë ose duke provuar të krijojnë një të tyre origjinale. Mund të duket se kjo është më pak e dobishme për mësimet e informatikës. Megjithatë, në formën e realizuar të Tabelës Periodike në këtë artikull, disa nxënës nuk mund të dallojnë avantazhet e veçanta të hartave menaxhuese ndaj zgjidhjes alternative me ndihmën e butonave standardë TButton. Forma spirale e tabelës (ku qelizat kanë forma të ndryshme) do të demonstrojnë më qartë avantazhet e zgjidhjes këtu të propozuar.

(, )
Të shtojmë gjithashtu se për një sërë programesh kompjuterike të ekzistuese për Tabelën e Mendelejevit është folur në një postim të publikuar kohët e fundit në Habr. .
Shtesë 2: shembuj detyrash për filtratMe ndihmën e filtrave mund të zgjidhen, për shembull, këto detyra:
1) Të veçohen në tabelë të gjitha elementet e njohura në mesjetë.
2) Të veçohen të gjitha elementet e njohura në momentin e zbulimit të ligjit periodik.
3) Identifikoni shtatë elemente që alkimistët i konsideronin metale.
4) Identifikoni të gjitha elementet që janë në gjendje gazore në kushte normale (k.n.).
5) Identifikoni të gjitha elementet që janë në gjendje të lëngshme në k.n.
6) Identifikoni të gjitha elementet që janë në gjendje të ngurta në k.n.
7) Identifikoni të gjitha elementet që mund të qëndrojnë në ajër për një periudhë të gjatë pa ndryshime të dukshme në k.n.
8) Identifikoni të gjitha metalet që tretën në acid klorhidrik.
9) Identifikoni të gjitha metalet që tretën në acid sulfurik në k.n.
10) Identifikoni të gjitha metalet që tretën në acid sulfurik kur ngrohen.
11) Identifikoni të gjitha metalet që tretën në acid azotik.
12) Identifikoni të gjitha metalet që reagojnë me ujë në mënyrë intensive në k.n.
13) Identifikoni të gjitha metalet.
14) Identifikoni elementet që janë të zakonshme në natyrë.
15) Identifikoni elementet që gjenden në natyrë në gjendje të lirë.
16) Identifikoni elementet që luajnë një rol të rëndësishëm në organizmin e njeriut dhe kafshëve.
17) Identifikoni elementet që përdoren gjerësisht në jetën e përditshme (në gjendje të lirë ose në lidhje).
18) Identifikoni elementet me të cilat puna është më e rrezikshme dhe kërkon masa dhe mjete të veçanta mbrojtëse.
19) Identifikoni elementet që në gjendje të lirë ose në formë lidhjesh paraqesin kërcënimin më të madh për ekologjinë.
20) Identifikoni metale të çmuara.
21) Identifikoni elementet që kanë vlerë më të lartë se metalet e çmuara.
Shënime
1) Ka kuptim të sigurohet funksionimi i disa filtrave. Për shembull, nëse aktivizohet filtri për zgjidhjen e detyrës 1 (të gjitha elementet e njohura në mesjetë) dhe 20 (metalet e çmuara), do të ndahen (për shembull, me ngjyrë) qelizat me metalet e çmuara të njohura në mesjetë (nuk do të ndahet, për shembull, palladiumi, i zbuluar në vitin 1803).
2) Ka një kuptim të sigurohet funksionimi i disa filtrave në një mënyrë që secili filter shënon qelizat me ngjyrën e tij, por nuk eliminon plotësisht shënimin e filtrit tjetër (një pjesë e qelisë me një ngjyrë, pjesa tjetër me një tjetër). Kështu, në rastin e shembullit të mëparshëm do të duken elementët e kryqëzimit të grupeve të hapura në mesjetë dhe metalet e shtrenjta, si dhe elementë që i përkasin vetëm grupit të parë dhe vetëm grupit të dytë. Që do të thotë, metalet e shtrenjta, të panjohura në mesjetë, dhe elementët, të njohur në mesjetë, por që nuk janë metale të shtrenjta.
3) Ka një kuptim pas aplikimit të filtrit të sigurohet mundësia për punë të tjera me rezultatet e marra. Për shembull, pasi të shënohen elementët, të njohur në mesjetë, përdoruesi klikoni me miun mbi elementin e shënuar dhe kalon në artikullin e Wikipedia për këtë element.
4) Ka një kuptim të sigurohet mundësia për përdoruesin të heqë shënimin me një klikim të majtë mbi qelizën e shënuar të tabelës. Për shembull, për të hequr elementët tashmë të parë.
5) Ka një kuptim të sigurohet ruajtja e listës së qelizave të shënuara në një skedar dhe ngarkimi i një skedari të tillë me shënimin automatik të qelizave. Kjo do t’i japë përdoruesit mundësinë për të bërë një pushim në punë.
Ne përdorëm një hartë të kontrollit statike të caktuar paraprakisht, megjithatë ka shumë detyra të rëndësishme, ku mund të përdoren harta dinamike kontrolli, që ndryshojnë gjatë funksionimit të programit. Një shembull mund të jetë redaktori i grafeve, ku përdoruesi me ndihmën e mausit tregon në dritaren e pozicioneve të pikave dhe vizaton brinjët ndërmjet tyre. Për të hequr një pikë ose një brinjë, përdoruesi duhet ta tregojë atë. Por nëse është e thjeshtë të tregosh për një pikë, e cila shënohet me një rreth, është më e vështirë të tregosh për një brinjë, e cila vizatohet me një linjë të hollë. Këtu ndihmon harta e kontrollit, ku pikat dhe brinjët zënë një rreth më të gjerë se në vizatimin e dukshëm.
Me metodën e përmendur të mësimit kompleks është i lidhur një pyetje interesante mbështetëse: a mund të jetë e dobishme kjo metodë në mësimin e AI?
Burimi: habr.com
