Мектеп информатикасынан периодтық кесте

(Басқару карталары)
(Химиялық элементтердің периодтық жүйесінің халықаралық жылына арналған)
(Соңғы толықтырулар 8 жылдың 2019 сәуірінде енгізілді. Толықтырулар тізімі қысқартылған жерден бірден төмен)

Мектеп информатикасынан периодтық кесте
(Менделеев гүлі, Көзі)

Үйректен өткеніміз есімде. Бұл бірден үш сабақ болды: география, жаратылыстану және орыс тілі. Жаратылыстану сабағында үйрек үйрек, оның қанаттары қандай, аяқтары қандай, қалай жүзеді, т.б. География сабағында сол үйрек жер шарының тұрғыны ретінде зерттелді: картадан оның қай жерде мекендейтінін және қай жерде тұрмайтынын көрсету керек болды. Орыс тілінде Серафима Петровна бізге «у-т-к-а» жазуды және Бремдегі үйректер туралы бірдеңе оқуды үйретті. Өтіп бара жатып, ол бізге үйрек неміс тілінде осындай, ал француз тілінде осындай екенін айтты. Менің ойымша, ол кезде «күрделі әдіс» деп аталды. Жалпы, бәрі «өтіп-ақ» шықты.

Вениамин Каверин, Екі капитан

Жоғарыда келтірілген дәйексөзде Вениамин Каверин күрделі оқыту әдісінің кемшіліктерін шебер көрсетті, дегенмен кейбір (мүмкін өте сирек) жағдайларда бұл әдістің элементтері негізделген. Осындай жағдайлардың бірі Д.И.Менделеевтің мектептегі информатика сабақтарындағы периодтық жүйесі. Периодтық жүйемен типтік әрекеттерді программалық автоматтандыру міндеті химияны оқуды бастаған мектеп оқушылары үшін түсінікті және көптеген типтік химиялық тапсырмаларға бөлінеді. Сонымен қатар, информатика шеңберінде бұл тапсырма графикалық бағдарламалауға жатқызуға болатын басқару карталарының әдісін қарапайым түрде көрсетуге мүмкіндік береді, бұл сөздің кең мағынасында графикалық элементтерді қолдану арқылы бағдарламалау деп түсініледі.

(8 жылғы 2019 сәуірдегі толықтырулар енгізілді:
1-қосымша: Химия калькуляторы қалай жұмыс істейді
2-қосымша: сүзгілерге арналған тапсырмалардың мысалдары)

Негізгі тапсырмадан бастайық. Ең қарапайым жағдайда периодтық кесте экранда терезе түрінде көрсетілуі керек, мұнда әрбір ұяшықта элементтің химиялық белгісі болады: H - сутегі, He - гелий және т.б. Егер тінтуір курсоры ұяшықты көрсетсе, онда элементтің белгіленуі және оның нөмірі біздің пішіндегі арнайы өрісте көрсетіледі. Егер пайдаланушы LMB пернесін басса, онда осы таңдалған элементтің атауы мен нөмірі пішіннің басқа өрісінде көрсетіледі.

Мектеп информатикасынан периодтық кесте

Мәселені кез келген әмбебап тілді қолдану арқылы шешуге болады. Біз қарапайым ескі Delpi-7 аламыз, ол бәріне дерлік түсінікті. Бірақ PL тілінде бағдарламалаудан бұрын екі сурет салайық, мысалы, Photoshop-та. Алдымен периодтық жүйені бағдарламада көргіміз келетін пішінде салайық. Нәтижені графикалық файлға сақтаңыз table01.bmp.

Мектеп информатикасынан периодтық кесте

Екінші сурет үшін біз біріншісін қолданамыз. Біз барлық графикадан тазартылған кесте ұяшықтарын RGB түс үлгісіндегі бірегей түстермен дәйекті түрде толтырамыз. R және G әрқашан 0 болады, ал сутегі үшін B=1, гелий үшін 2 және т.б. Бұл сызба біздің басқару картамыз болады, оны біз деп аталатын файлда сақтаймыз. table2.bmp.

Мектеп информатикасынан периодтық кесте

Photoshop-та графикалық бағдарламалаудың бірінші кезеңі аяқталды. Delpi-7 IDE-де графикалық графикалық интерфейсті бағдарламалауға көшейік. Ол үшін жаңа жобаны ашыңыз, онда негізгі пішінде диалогтық түймені орналастырамыз (tableDlg), онда кестемен жұмыс орындалады. Әрі қарай формамен жұмыс істейміз tableDlg.

Пішінге класс компонентін орналастырыңыз Сурет. Біз алып жатырмыз Image1. Жалпы алғанда, үлкен жобалар үшін пішіннің атаулары автоматты түрде жасалғанын ескеріңіз ImageNқайда N бірнеше ондаған немесе одан да көп болуы мүмкін - бұл ең жақсы бағдарламалау стилі емес, және одан да мағыналы атаулар берілуі керек. Бірақ біздің кішкентай жобада, қайда N 2-ден аспайды, оны жасалған күйінде қалдыруға болады.

Меншікке Сурет1.Сурет файлды жүктеп салыңыз table01.bmp. Біз жасаймыз Image2 және сол жерде біздің басқару картамызды жүктеңіз table2.bmp. Бұл жағдайда пішіннің төменгі сол жақ бұрышында көрсетілгендей файлды кішкентай және пайдаланушыға көрінбейтін етіп жасаймыз. Біз қосымша басқару элементтерін қосамыз, олардың мақсаты айқын. Delpi-7 IDE-де графикалық графикалық интерфейсті бағдарламалаудың екінші кезеңі аяқталды.

Мектеп информатикасынан периодтық кесте

Үшінші кезеңге көшейік – Delpi-7 IDE-де код жазу. Модуль тек бес оқиға өңдегішінен тұрады: пішін жасау (FormCreate), курсордың қозғалысы Image1 (Image1Mouse Move), ұяшықтағы LMB түймесін басу (Кескін 1 басыңыз) және OK түймелерін пайдаланып диалогтан шығыңыз (OKBtnClick) немесе Болдырмау (CancelBtnClick). Бұл өңдеушілердің тақырыптары IDE көмегімен стандартты түрде жасалады.

Модульдің бастапқы коды:

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.

Біздің нұсқада біз 104 элементтен тұратын кестені алдық (тұрақты мөлшері). Бұл мөлшерді ұлғайтуға болатыны анық. Элемент белгілеулері (химиялық белгілер) массивке жазылады Кесте таңбалары. Дегенмен, бастапқы кодтың ықшамдығына байланысты бұл белгілердің тізбегін жолдық тұрақтылар түрінде жазған жөн сияқты. Периодтық кестеStr1, ..., Периодтық кестеStr4осылайша пішін жасалған кезде программаның өзі бұл белгілеулерді массив элементтері арасында шашыратады. Әрбір элементтің белгіленуі бір немесе екі латын әріптерінен тұрады, бірінші әріп бас әріп, ал екінші (бар болса) кіші әріп. Бұл қарапайым ереже массив жүктелген кезде орындалады. Осылайша, белгілер тізбегін бос орындарсыз қысқаша жазуға болады. Тізбекті төрт бөлікке бөлу (тұрақтылар Периодтық кестеStr1, ..., Периодтық кестеStr4) бастапқы кодты оқудың жеңілдігі туралы ойларға байланысты, өйткені Тым ұзын жол экранға толығымен сәйкес келмеуі мүмкін.

Тінтуір курсоры үстіне жылжытқанда Image1 өңдеуші Image1Mouse Move бұл оқиға басқару картасы пикселінің көк түсті құрамдас бөлігінің мәнін анықтайды Image2 ағымдағы курсор координаталары үшін. Құрылысы бойынша Image2 бұл мән, егер курсор ұяшық ішінде болса, элемент нөміріне тең; шекарада болса нөл, ал басқа жағдайларда 255. Бағдарлама орындайтын қалған әрекеттер тривиальды және түсіндіруді қажет етпейді.

Жоғарыда атап өткен стилистикалық бағдарламалау әдістерінен басқа, түсініктеме стилін де атап өткен жөн. Қатаң айтқанда, талқыланатын код соншалықты кішкентай және қарапайым, сондықтан түсініктемелер қажет емес сияқты. Дегенмен, олар әдістемелік себептермен де қосылды - қысқа код кейбір жалпы қорытындыларды нақтырақ жасауға мүмкіндік береді. Ұсынылған кодта бір класс жарияланған (TtableDlg). Бұл сыныптың әдістерін ауыстыруға болады және бұл бағдарламаның жұмысына ешқандай әсер етпейді, бірақ оның оқылуына әсер етуі мүмкін. Мысалы, тізбекті елестетіп көріңіз:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Бұл өте байқалмауы мүмкін, бірақ оқу және түсіну сәл қиындай түседі. Бөлімде бес емес, ондаған есе көп әдістер болса жүзеге асыру оларда сыныптық сипаттамаларға қарағанда мүлде басқа тәртіп бар, сонда хаос күшейе түседі. Сондықтан, оны қатаң дәлелдеу қиын және тіпті мүмкін емес болса да, қосымша тәртіпті енгізу кодтың оқылуын жақсартады деп үміттенуге болады. Бұл қосымша тәртіп байланысты тапсырмаларды орындайтын бірнеше әдістерді логикалық топтастыру арқылы жеңілдетіледі. Әр топқа тақырып беру керек, мысалы:

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

Бұл тақырыптарды модульдің басына көшіріп, мазмұндар кестесі ретінде пішімдеу керек. Ұзын модульдердің кейбір жағдайларда мұндай мазмұн кестелері қосымша шарлау опцияларын қамтамасыз етеді. Сол сияқты, бір әдістің, процедураның немесе функцияның ұзын бөлігінде, біріншіден, осы дененің соңын белгілеу керек:

end; // FormCreate

және, екіншіден, бағдарлама жақшалары басы - соңы бар тармақталған операторларда жабу жақшасы сілтеме жасайтын операторды белгілеңіз:

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

Топ тақырыптарын және әдіс денелерінің ұштарын бөлектеу үшін көптеген операторлардың ұзындығынан асатын және, мысалы, сәйкесінше, «=» және «_» таңбаларынан тұратын жолдарды қосуға болады.
Тағы да ескертпе жасау керек: біздің мысал тым қарапайым. Әдістің коды бір экранға сәйкес келмегенде, кодты өзгерту үшін алты қатарынан соңын түсіну қиын болуы мүмкін. Кейбір ескі компиляторларда, мысалы, IBM 8000/360 операциялық жүйесіне арналған Паскаль 370, листингтің сол жағында осындай қызмет бағаны басып шығарылды.

B5
…
E5

Бұл E5 жолындағы жабу жақшасы В5 жолындағы ашылатын жақшаға сәйкес келетінін білдірді.

Әрине, бағдарламалау стилі өте қайшылықты мәселе, сондықтан мұнда айтылған идеяларды ойға азық ретінде қабылдау керек. Көптеген жылдар бойы жұмыс істеп, әртүрлі стильдерді дамытып, үйреніп қалған екі тәжірибелі программисттің келісімге келуі өте қиын болуы мүмкін. Өз стилін тауып үлгермеген, бағдарламалауды үйреніп жатқан студент үшін бұл басқа мәселе. Менің ойымша, бұл жағдайда мұғалім ең болмағанда студенттеріне бағдарламаның сәттілігі оның бастапқы кодының жазылу стиліне байланысты екендігі туралы қарапайым, бірақ айқын емес идеяны жеткізуі керек. Студент ұсынылған стильді ұстанбауы мүмкін, бірақ оған ең болмағанда бастапқы кодтың дизайнын жақсарту үшін «қосымша» әрекеттердің қажеттілігі туралы ойлануға мүмкіндік беріңіз.

Периодтық жүйедегі негізгі мәселемізге оралсақ: одан әрі даму әртүрлі бағытта жүруі мүмкін. Бағыттардың бірі анықтамалық болып табылады: тінтуір курсорын кесте ұяшығына апарған кезде көрсетілген элемент бойынша қосымша ақпаратты қамтитын ақпараттық терезе пайда болады. Әрі қарай дамыту - сүзгілер. Мысалы, орнатуға байланысты ақпараттық терезеде тек мыналар болады: ең маңызды физикалық және химиялық ақпарат, ашылу тарихы туралы ақпарат, табиғатта таралуы туралы ақпарат, ең маңызды қосылыстардың тізімі (осы элементті қамтиды), физиологиялық қасиеттері, шет тіліндегі атауы және т.б.. Е.Осы мақала басталатын Кавериннің «үйрегін» еске түсіре отырып, бағдарламаның осы дамуы арқылы біз жаратылыстану ғылымдары бойынша толық оқу кешенін аламыз деп айта аламыз: компьютерден басқа ғылым, физика және химия - биология, экономикалық география, ғылым тарихы және тіпті шет тілдері.

Бірақ жергілікті дерекқор шек емес. Бағдарлама интернетке табиғи түрде қосылады. Элементті таңдаған кезде сілтеме белсендіріледі және веб-шолғыш терезесінде осы элемент туралы Wikipedia мақаласы ашылады. Википедия, өзіңіз білетіндей, беделді дереккөз емес. Сіз беделді дереккөздерге сілтемелер орната аласыз, мысалы, химиялық энциклопедия, TSB, дерексіз журналдар, осы элемент үшін іздеу жүйелеріндегі тапсырыс сұраулары және т.б. Бұл. Студенттер ДҚБЖ және Интернет тақырыптары бойынша қарапайым, бірақ мағыналы тапсырмаларды орындай алады.

Жеке элемент бойынша сұрауларға қосымша ретінде, мысалы, кестедегі белгілі бір критерийлерге сәйкес келетін ұяшықтарды әртүрлі түстермен белгілейтін функционалдылықты жасауға болады. Мысалы, металдар мен бейметалдар. Немесе жергілікті химиялық зауыт су қоймаларына тастайтын жасушалар.

Сондай-ақ жазу кітапшасын ұйымдастырушы функцияларын жүзеге асыруға болады. Мысалы, кестеде емтиханға кіретін элементтерді бөлектеңіз. Содан кейін емтиханға дайындалу кезінде студент зерттеген/қайталаған элементтерді бөлектеңіз.

Міне, мысалы, мектептегі химияның типтік есептерінің бірі:

10 г бор берілген. Осы борды еріту үшін қанша тұз қышқылын алу керек?

Бұл мәселені шешу үшін химияны жазып алу керек. реакциясын және оған коэффициенттерді орналастырып, кальций карбонаты мен хлорсутектің молекулалық массасын есептеп, содан кейін пропорцияны құрастырып, шеш. Біздің негізгі бағдарламамызға негізделген калькулятор есептеп, шеше алады. Рас, сіз әлі де қышқылды ақылға қонымды мөлшерде және ақылға қонымды концентрацияда қабылдау керек екенін ескеруіңіз керек, бірақ бұл информатика емес, химия.
1-қосымша: Химия калькуляторы қалай жұмыс істейдіЖоғарыда келтірілген бор мен «ходгеподж» есебінің мысалын пайдаланып калькулятордың жұмысын талдап көрейік. Реакциядан бастайық:

CaCO3 + 2HCl = CaCl2 + H2O

Бұдан біз келесі элементтердің атомдық салмақтары қажет болатынын көреміз: кальций (Са), көміртегі (С), оттегі (O), сутегі (Н) және хлор (Cl). Ең қарапайым жағдайда біз бұл салмақтарды ретінде анықталған бір өлшемді массивке жаза аламыз

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

мұндағы массив индексі элемент нөміріне сәйкес келеді. Пішіннің бос орны туралы толығырақ tableDlg екі өрісті қойыңыз. Бірінші өрісте бастапқыда былай деп жазылады: «Бірінші реагент беріледі», екіншісінде - «Екінші реагент х-ті табу». Өрістерді белгілейік реагент1, реагент2 тиісінше. Бағдарламаға басқа толықтырулар калькулятордың келесі мысалынан анық болады.

Компьютер пернетақтасында тереміз: 10 г.Өрістегі жазу реагент1 өзгереді: «Бірінші реагентке 10 г беріледі». Енді осы реагенттің формуласын енгіземіз, оны енгізу кезінде калькулятор оның молекулалық салмағын есептеп көрсетеді.

Ca таңбасы бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент1 өзгертулер: «40.078 г берілген Ca 10 бірінші реактиві».

C белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент1 өзгерістер: «52.089 г берілген CaC 10 бірінші реактиві». Анау. Калькулятор кальций мен көміртектің атомдық салмағын қосты.

O белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент1 өзгерістер: «68.088 г берілген CaCO 10 бірінші реагент.» Калькулятор қосындыға оттегінің атомдық салмағын қосты.

O белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент1 өзгерістер: «2 г берілген бірінші реагент CaCO84.087 10». Калькулятор қосындыға тағы да оттегінің атомдық салмағын қосты.

O белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент1 өзгертулер: «3 г берілген CaCO100.086 10 бірінші реактиві». Калькулятор қосындыға тағы да оттегінің атомдық салмағын қосты.

Компьютер пернетақтасында Enter пернесін басыңыз. Бірінші реагентті енгізу аяқталып, өріске ауысады реагент2. Бұл мысалда біз минималды нұсқаны беретінімізді ескеріңіз. Қаласаңыз, бір типті атомдардың көбейткіштерін оңай ұйымдастыруға болады, осылайша, мысалы, хром формуласын (K2Cr2O7) енгізу кезінде оттегі ұяшығын қатарынан жеті рет басу қажет емес.

H белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент2 өзгертеді: «Екінші реагент Н 1.008 х табыңыз.»

Cl белгісі бар кесте ұяшығындағы LMB түймесін басыңыз. Өрістегі жазу реагент2 өзгереді: «Екінші реагент HCl 36.458 х табыңыз.» Калькулятор сутегі мен хлордың атомдық салмағын қосты. Жоғарыдағы реакция теңдеуінде хлорсутегінің алдында 2 коэффициенті бар. Сондықтан өрістегі LMB түймесін басыңыз. реагент2. Молекулярлық массасы екі есе артады (екі рет басқанда үш есе артады және т.б.). Өрістегі жазу реагент2 өзгертеді: «Екінші реагент 2HCl 72.916 х табыңыз.»

Компьютер пернетақтасында Enter пернесін басыңыз. Екінші реагентті енгізу аяқталды, ал калькулятор пропорциядан х табады

Мектеп информатикасынан периодтық кесте

Бізге осыны табу керек еді.

1 ескертуі. Алынған пропорцияның мағынасы: еріту үшін 100.086 Da борға 72.916 Да қышқыл қажет, ал 10 г борды еріту үшін х қышқылы қажет.

2 ескертуі. Ұқсас есептер жинағы:

Хомченко И.Г., Химиядан есептер мен жаттығулар жинағы 2009 (8-11 сыныптар).
Хомченко Г.П., Хомченко И.Г., ЖОО-ға түсушілерге арналған химиядан есептер жинағы, 2019 ж.

3 ескертуі. Тапсырманы жеңілдету үшін бастапқы нұсқадағы формуланы енгізуді жеңілдетуге және формула жолының соңына элемент белгісін қосуға болады. Сонда кальций карбонатының формуласы:
CaCOOO
Бірақ химия мұғаліміне мұндай жазба ұнамауы екіталай. Дұрыс жазба жасау қиын емес - бұл үшін массив қосу керек:

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

мұндағы индекс химиялық элементтің нөмірі, ал осы индекстегі мән атомдар саны болып табылады (бастапқыда массивтің барлық элементтері нөлге дейін қалпына келтіріледі). Химияда қабылданған формулада атомдардың жазылу ретін ескеру қажет. Мысалы, O3CaC да аз адамдар ұнайды. Жауапкершілікті пайдаланушыға аударайық. Массив жасау:

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

мұнда формуладағы пайда болу индексіне сәйкес химиялық элементтің нөмірін жазамыз. Атомды қосу currNo формулаға:

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

Формуланы жолға жазу:

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 ескертуі. Пернетақтадан реагент формуласын балама енгізу мүмкіндігін қамтамасыз ету мағынасы бар. Бұл жағдайда сізге қарапайым талдаушыны енгізу қажет болады.

Айта кету керек:

Бүгінгі күні кестенің бірнеше жүздеген нұсқасы бар және ғалымдар үнемі жаңа нұсқаларды ұсынады. (Уикипедия)

Студенттер бұл бағытта ұсынылған нұсқалардың бірін жүзеге асыру арқылы өздерінің тапқырлықтарын көрсете алады немесе өздерінің түпнұсқасын жасауға тырысады. Бұл информатика сабақтары үшін ең аз пайдалы бағыт болып көрінуі мүмкін. Дегенмен, осы мақалада енгізілген периодтық кесте түрінде кейбір студенттер стандартты түймелерді қолданатын балама шешімнен бақылау карталарының қандай да бір артықшылығын көрмеуі мүмкін. TB түймесі. Үстелдің спиральды пішіні (ұяшықтар әртүрлі пішінде) мұнда ұсынылған шешімнің артықшылықтарын айқынырақ көрсетеді.

Мектеп информатикасынан периодтық кесте
(Теодор Бенфейдің альтернативті элементтер жүйесі, Көзі)

Сондай-ақ, периодтық жүйеге арналған қазіргі уақытта бар компьютерлік бағдарламалардың бірқатары жақында Хабреде жарияланған мақалада сипатталғанын қосамыз. мақала.

2-қосымша: сүзгілерге арналған тапсырмалардың мысалдарыСүзгілерді пайдалана отырып, мысалы, келесі тапсырмаларды шешуге болады:

1) Кестеден орта ғасырларда белгілі барлық элементтерді таңдаңыз.

2) Периодтық заң ашылған кездегі белгілі элементтердің барлығын анықтаңыз.

3) Алхимиктер металдар деп есептеген жеті элементті анықтаңыз.

4) Қалыпты жағдайда газ күйіндегі барлық элементтерді таңдаңыз (n.s.).

5) № бойынша сұйық күйдегі барлық элементтерді таңдаңыз.

6) № бойынша тұтас күйдегі барлық элементтерді таңдаңыз.

7) Қалыпты жағдайда айтарлықтай өзгерістерсіз ұзақ уақыт бойы ауада тұруға болатын барлық элементтерді таңдаңыз.

8) Тұз қышқылында еритін барлық металдарды таңдаңыз.

9) № бойынша күкірт қышқылында еритін барлық металдарды таңдаңыз.

10) Қыздырғанда күкірт қышқылында еритін барлық металдарды таңдаңыз.

11) Азот қышқылында еритін барлық металдарды таңдаңыз.

12) Қоршаған орта жағдайында сумен қатты әрекеттесетін барлық металдарды оқшаулаңыз.

13) Барлық металдарды таңдаңыз.

14) Табиғатта кең таралған элементтерді анықтаңыз.

15) Табиғатта бос күйінде кездесетін элементтерді анықтау.

16) Адам мен жануарлар ағзасында ең маңызды рөл атқаратын элементтерді анықтаңыз.

17) Күнделікті өмірде кеңінен қолданылатын элементтерді таңдау (еркін формада немесе комбинацияда).

18) Жұмыс істеу үшін аса қауіпті және арнайы шаралар мен қорғаныс құралдарын қажет ететін элементтерді анықтау.

19) Бос немесе қосылыстар түрінде қоршаған ортаға ең үлкен қауіп төндіретін элементтерді анықтаңыз.

20) Бағалы металдарды таңдау.

21) Бағалы металдардан қымбат элементтерді анықтаңыз.

Ескертулер

1) Бірнеше сүзгілерді қамтамасыз ету мағынасы бар. Мысалы, 1 (орта ғасырда белгілі барлық элементтер) және 20 (асыл металдар) есептерін шешу үшін сүзгіні қоссаңыз, орта ғасырларда белгілі асыл металдары бар ұяшықтар бөлектеледі (мысалы, түсі бойынша) ( мысалы, палладий бөлектелмейді , 1803 жылы ашылған).

2) Бірнеше сүзгілердің әрбір сүзгі өз түсі бар ұяшықтарды таңдайтын, бірақ басқа сүзгінің таңдауын толығымен алып тастамайтындай режимде жұмыс істеуін қамтамасыз ету мағынасы бар (ұяшық бір түсте, бір бөлігі басқада). Сонда алдыңғы мысалда орта ғасырларда ашылған жиындар мен асыл металдардың қиылысу элементтері, сонымен қатар тек бірінші және екінші жиындарға ғана жататын элементтер көрінеді. Анау. орта ғасырларда белгісіз бағалы металдар және орта ғасырларда белгілі, бірақ бағалы металдар емес элементтер.

3) Алынған нәтижелермен басқа жұмыстарды орындау мүмкіндігін қамтамасыз ету үшін сүзгіні қолданғаннан кейін мағынасы бар. Мысалы, орта ғасырларда белгілі таңдалған элементтерге ие болған пайдаланушы таңдалған элементте LMB түймесін басып, осы элемент туралы Уикипедия мақаласына өтеді.

4) Таңдалған кесте ұяшығындағы LMB түймесін басу арқылы пайдаланушыға таңдауды алып тастау мүмкіндігін беру мағынасы бар. Мысалы, бұрыннан қаралған элементтерді жою үшін.

5) Таңдалған ұяшықтар тізімінің файлда сақталуын және мұндай файлдың ұяшықтарды автоматты түрде таңдаумен жүктелуін қамтамасыз ету мағынасы бар. Бұл пайдаланушыға жұмыстан үзіліс жасауға мүмкіндік береді.

Біз статикалық, алдын ала анықталған басқару картасын қолдандық, бірақ бағдарламаның орындалуына қарай өзгеретін динамикалық басқару карталарын қолдануға болатын көптеген маңызды тапсырмалар бар. Мысал ретінде пайдаланушы тінтуірді терезедегі шыңдардың орындарын көрсету және олардың арасына жиектер салу үшін пайдаланатын графикалық редактор болуы мүмкін. Шыңды немесе жиекті жою үшін пайдаланушы оны көрсетуі керек. Бірақ егер шеңбермен белгіленген шыңды көрсету оңай болса, онда жіңішке сызықпен сызылған жиекті көрсету қиынырақ болады. Басқару картасы мұнда көмектеседі, мұнда шыңдар мен жиектер көрінетін суретке қарағанда кеңірек аудандарды алады.

Кешенді оқытудың осы әдісіне қатысты қызықты қосымша сұрақ: бұл әдіс АИ үйретуде пайдалы бола ала ма?

Ақпарат көзі: www.habr.com

пікір қалдыру