Мектептик информатика боюнча мезгилдүү таблица

(Башкаруу карталары)
(Химиялык элементтердин мезгилдик системасынын эл аралык жылына арналган).
(Акыркы толуктоолор 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де графикалык GUI программалоого өтөлү. Бул үчүн, жаңы долбоорду ачыңыз, анда негизги формада диалог баскычын орнотобуз (tableDlg), таблица менен иштөө кайсы жерде болот. Кийинки форма менен иштейбиз tableDlg.

Формага класс компонентин коюңуз TImage. алабыз Image1. Белгилей кетсек, жалпысынан ири долбоорлор үчүн форманын аталыштары автоматтык түрдө түзүлөт ImageNкайда N бир нече ондогон же андан көп жетиши мүмкүн - бул мыкты программалоо стили эмес, жана андан да маанилүү аттар берилиши керек. Бирок биздин кичинекей долбоордо, кайда N 2ден ашпайт, сиз аны түзүлгөн бойдон калтырсаңыз болот.

Менчикке Image1.Picture файлды жүктөө table01.bmp. Биз түзөбүз Image2 жана биздин башкаруу картабызды ошол жерге жүктөйбүз table2.bmp. Бул учурда, биз форманын төмөнкү сол бурчунда көрсөтүлгөндөй, файлды кичинекей жана колдонуучуга көрүнбөгөн кылып жасайбыз. Биз кошумча башкаруу элементтерин кошобуз, алардын максаты ачык. Delpi-7 IDEде графикалык GUI программалоонун экинчи этабы аяктады.

Мектептик информатика боюнча мезгилдүү таблица

Үчүнчү этапка — Delpi-7 IDEде код жазууга өтөбүз. Модуль беш гана окуяны иштетүүчүдөн турат: форма түзүү (FormCreate), курсордун кыймылы Image1 (Image1MouseMove), уячадагы LMB чыкылдатуу (Image1Click) жана 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 элементтен турган таблицаны алдык (туруктуу көлөм). Албетте, бул өлчөмүн көбөйтүүгө болот. Элементтердин белгилөөлөрү (химиялык белгилер) массивге жазылат TableSymbols. Бирок, баштапкы коддун компакттуулугунан улам, бул белгилер ырааттуулугун саптык константалар түрүндө жазуу максатка ылайыктуу көрүнөт. Periodic TableStr1..., Periodic TableStr4Ошентип, форма түзүлгөндө, программа өзү бул белгилөөлөрдү массивдин элементтеринин арасына чачат. Ар бир элементтин белгилениши бир же эки латын тамгасынан турат, биринчи тамга чоң, экинчиси (эгер бар болсо) кичине тамга. Бул жөнөкөй эреже массивди жүктөөдө ишке ашырылат. Ошентип, белгилер ырааттуулугун боштуксуз кыскача жазууга болот. Ырааттуулукту төрт бөлүккө бөлүү (туруктуулар Periodic TableStr1..., Periodic TableStr4) баштапкы кодду окуунун жөнөкөйлүгүн эске алуу менен шартталган, анткени Өтө узун сызык экранга толук туура келбеши мүмкүн.

Чычкан курсорунун үстүнө келгенде Image1 иштетүүчү Image1MouseMove бул окуя башкаруу картасынын пикселинин көк түс компонентинин маанисин аныктайт Image2 учурдагы курсор координаттары үчүн. Курулуш боюнча Image2 бул маани, эгерде курсор уячанын ичинде болсо, элементтин санына барабар; чек арада болсо нөл, башка учурларда 255. Программа тарабынан аткарылган калган аракеттер тривиалдуу жана түшүндүрүүнү талап кылбайт.

Жогоруда белгиленген стилистикалык программалоо ыкмаларынан тышкары, комментарий стилин белгилей кетүү керек. Тактап айтканда, талкууланган код ушунчалык кичинекей жана жөнөкөй болгондуктан, комментарийлер өзгөчө зарыл эместей сезилет. Бирок, алар дагы методологиялык себептерден улам кошулган - кыска код кээ бир жалпы тыянактарды айкыныраак жасоого мүмкүндүк берет. Берилген коддо бир класс жарыяланган (TtableDlg). Бул класстын ыкмаларын алмаштырууга болот жана бул программанын иштешине эч кандай таасир этпейт, бирок анын окулушуна таасир этиши мүмкүн. Мисалы, ырааттуулукту элестетиңиз:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Бул анча байкалбашы мүмкүн, бирок окуу жана түшүнүү бир аз кыйындайт. Бөлүмдө беш эмес, ондогон эсе көп ыкмалар бар болсо ишке ашыруу алар класстык сүрөттөмөлөргө караганда такыр башка тартипке ээ, анда баш аламандык күчөйт. Ошондуктан, аны так далилдөө кыйын жана мүмкүн эмес болсо да, кошумча тартипти киргизүү коддун окулушун жакшыртат деп үмүттөнсө болот. Бул кошумча тартип байланышкан милдеттерди аткарган бир нече ыкмаларды логикалык топтоого көмөктөшөт. Ар бир топко наам берилиши керек, мисалы:

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

Бул рубрикалар модулдун башына көчүрүлүп, мазмун таблицасы катары форматталышы керек. Бир топ узун модулдардын кээ бир учурларда, мындай мазмун таблицалары навигациянын кошумча варианттарын камсыз кылат. Ошо сыяктуу эле, бир ыкманын, процедуранын же функциянын узун бөлүгүндө, биринчиден, бул органдын аягына белгилөө керек:

end; // FormCreate

жана экинчиден, программалык кашаалар башталыш - аяктоо менен бутакталган операторлордо жабуу кашаасы тиешелүү болгон операторду белгилеңиз:

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

Топтун аталыштарын жана методдун тулкуларынын учтарын бөлүп көрсөтүү үчүн сиз көпчүлүк операторлордун узундугунан ашкан жана, мисалы, тиешелүүлүгүнө жараша “=” жана “_” символдорунан турган саптарды кошсоңуз болот.
Дагы, биз эскертүү керек: биздин мисал өтө жөнөкөй. Ал эми методдун коду бир экранга туура келбегенде, кодду өзгөртүү үчүн алты ырааттуу аягы түшүнүү кыйын болушу мүмкүн. Кээ бир эски компиляторлордо, мисалы, OS IBM 8000/360 үчүн Pascal 370, листингдин сол жагында ушул сыяктуу кызмат тилкеси басылган

B5
…
E5

Бул E5 сызыгындагы жабуу кашаасы B5 сызыгындагы ачуучу кашаага туура келгенин билдирген.

Албетте, программалоо стили өтө талаштуу маселе, андыктан бул жерде айтылган ой-пикирлерди ойлоно турган азык катары гана кабыл алуу керек. Көп жылдар бою ар кандай стилдерди иштеп чыгып, көнүп калган эки тажрыйбалуу программисттин бир пикирге келиши өтө кыйын болушу мүмкүн. Өз стилин табууга үлгүрө элек студент программалоону үйрөнүп жатканы башка маселе. Менимче, мындай учурда мугалим жок дегенде окуучуларына программанын ийгилиги анын баштапкы коду кандай стилде жазылганынан көз каранды деген жөнөкөй, бирок ачык-айкын эмес идеяны жеткирүүсү керек. Студент сунушталган стилди карманбашы мүмкүн, бирок ал жок дегенде баштапкы коддун дизайнын жакшыртуу үчүн "кошумча" иш-аракеттердин зарылдыгы жөнүндө ойлонсун.

Мезгилдик таблицадагы негизги маселебизге кайрылсак: андан аркы өнүгүү ар кандай багытта жүрүшү мүмкүн. Багыттардын бири маалымдама үчүн: чычкан курсорун таблица уячасынын үстүнө алып барганда, көрсөтүлгөн элемент боюнча кошумча маалыматты камтыган маалымат терезеси пайда болот. Андан ары өнүктүрүү - чыпкалар. Мисалы, орнотууга жараша, маалымат терезеси гана камтылат: эң маанилүү физикалык жана химиялык маалыматтар, ачылыш тарыхы боюнча маалымат, жаратылышта таралуу жөнүндө маалымат, эң маанилүү кошулмалардын тизмеси (бул элементти камтыйт), физиологиялык касиеттери, чет тилдеги аталышы ж. илим, физика жана химия — биология, экономикалык география, илимдин тарыхы жана ал тургай чет тилдер.

Бирок жергиликтүү маалымат базасы чек эмес. Программа табигый түрдө Интернетке туташат. Элементти тандаганыңызда, шилтеме жандырылат жана бул элемент жөнүндө Wikipedia макаласы веб браузер терезесинде ачылат. Википедия, сиз билгендей, авторитеттүү булак эмес. Сиз абройлуу булактарга шилтемелерди орното аласыз, мисалы, химиялык энциклопедия, TSB, абстракттуу журналдар, бул элемент үчүн издөө системаларында буйрутма сурамдары ж.б. Ошол. Студенттер DBMS жана Интернет темалары боюнча жөнөкөй, бирок мазмундуу тапшырмаларды аткара алышат.

Жеке элемент боюнча сурамдардан тышкары, сиз, мисалы, таблицадагы белгилүү критерийлерге жооп берген клеткаларды түрдүү түстөр менен белгилей турган функцияларды түзө аласыз. Мисалы, металлдар жана металл эместер. Же жергиликтүү химиялык завод тарабынан суу объектилерине ташталган клеткалар.

Сиз ошондой эле блокнот уюштуруучунун функцияларын ишке ашыра аласыз. Мисалы, экзаменге кирген элементтерди таблицада бөлүп көрсөтүңүз. Андан кийин экзаменге даярданууда студент тарабынан изилденген/кайталанган элементтерди белгилеңиз.

Ал эми бул жерде, мисалы, типтүү мектеп химия көйгөйлөрдүн бири болуп саналат:

10 г бор берилет. Бул бордун баарын эритүү үчүн канча туз кислотасын алуу керек?

Бул маселени чечүү үчүн, хим жазуу керек. реакциясын жүргүзүп, ага коэффициенттерди коюп, кальций карбонаты менен хлордуу суутектин молекулалык салмагын эсептеп, андан кийин пропорцияны түзүп, чечиңиз. Биздин негизги программабызга негизделген калькулятор эсептеп, чече алат. Туура, сиз дагы эле кислота акылга сыярлык ашыкча жана акылга сыярлык концентрацияда кабыл алынышы керек экенин эске алышыңыз керек, бирок бул информатика эмес, химия.
1-тиркеме: Химия калькулятору кантип иштейтКелгиле, калькулятордун иштешин жогорудагы бор жана “ходгеподж” маселесин мисал кылып талдап көрөлү. Реакциядан баштайлы:

CaCO3 + 2HCl = CaCl2 + H2O

Мындан биз төмөнкү элементтердин атомдук салмактары керек болорун көрөбүз: кальций (Са), көмүртек (С), кычкылтек (O), суутек (Н) жана хлор (Cl). Эң жөнөкөй учурда, биз бул салмактарды катары аныкталган бир өлчөмдүү массивге жаза алабыз

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

мында массивдин индекси элементтин номерине туура келет. Форманын бош мейкиндиги жөнүндө көбүрөөк tableDlg эки талаа кой. Биринчи талаада адегенде мындай деп жазылат: “Биринчи реагент берилет”, экинчисинде - “Экинчи реагент – х табуу”. талааларды белгилейли реагент1, реагент2 тиешелүү түрдө. Программага башка толуктоолор төмөнкүдөй калькулятордун мисалынан көрүнүп турат.

Компьютердин клавиатурасында теребиз: 10 г.Талаадагы жазуу реагент1 өзгөрөт: "Биринчи реагентке 10 г берилет." Эми биз бул реагенттин формуласын киргизебиз, ал эми калькулятор анын молекулярдык салмагын эсептеп, аны киргизген сайын көрсөтөт.

Ca белгиси менен столдун уячасында LMB чыкылдатыңыз. Талаадагы жазуу реагент1 өзгөртүүлөр: "Биринчи реагент Ca 40.078 10 г берилген."

C символу менен столдун уячасында LMB чыкылдатыңыз. Талаадагы жазуу реагент1 өзгөртүүлөр: "Биринчи реагент CaC 52.089 10 г берилген." Ошол. Калкулятор кальций менен көмүртектин атомдук салмагын кошкон.

Таблицадагы уячадагы LMB баскычын чыкылдатыңыз O. Талаадагы жазуу реагент1 өзгөртүүлөр: "Биринчи реагент CaCO 68.088 10 г берилген." Калькулятор суммага кычкылтектин атомдук салмагын кошкон.

Таблицадагы уячадагы LMB баскычын чыкылдатыңыз O. Талаадагы жазуу реагент1 өзгөртүүлөр: "Биринчи реагент CaCO2 84.087 10 г берилген." Калькулятор дагы бир жолу суммага кычкылтектин атомдук салмагын кошту.

Таблицадагы уячадагы LMB баскычын чыкылдатыңыз O. Талаадагы жазуу реагент1 өзгөртүүлөр: "Биринчи реагент CaCO3 100.086 10 г берилген." Калькулятор кайрадан суммага кычкылтектин атомдук салмагын кошту.

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

Талаадагы H. Inscription белгиси менен таблица уячасында LMB чыкылдатыңыз реагент2 өзгөртүүлөр: "Экинчи реагент H 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. Клавиатурадан реагент формуласын альтернатива катары киргизүү мүмкүнчүлүгүн берүү мааниси бар. Бул учурда, сиз жөнөкөй талдоочу ишке ашыруу керек болот.

Белгилей кетүүчү нерсе:

Бүгүнкү күндө таблицанын бир нече жүз версиялары бар жана окумуштуулар дайыма жаңы варианттарды сунуштап жатышат. (Wikipedia)

Студенттер буга чейин сунушталган варианттардын бирин ишке ашыруу менен бул багытта өздөрүнүн тапкычтыгын көрсөтө алышат же өздөрүнүн оригиналдуу вариантын жасоого аракет кылышат. Бул информатика сабагы үчүн эң аз пайдалуу багыт окшойт. Бирок, бул макалада ишке ашырылган Мезгилдик таблица түрүндө, кээ бир студенттер стандарттык баскычтарды колдонуу менен альтернативдүү чечимге караганда башкаруу карталарынын өзгөчө артыкчылыктарын көрө алышпайт. TBbutton. Столдун спиралдык формасы (мында клеткалар ар кандай формада болот) бул жерде сунушталган чечимдин артыкчылыктарын айкыныраак көрсөтөт.

Мектептик информатика боюнча мезгилдүү таблица
(Теодор Бенфейдин альтернативалуу элементтер системасы, булак)

Мезгилдик таблица үчүн азыркы учурда иштеп жаткан бир катар компьютердик программалар жакында Habré сайтында жарыялангандыгын кошумчалайлы. макала.

2-тиркеме: чыпкалар үчүн тапшырмалардын мисалдарыЧыпкаларды колдонуу менен, мисалы, төмөнкү милдеттерди чече аласыз:

1) Таблицадан орто кылымдарда белгилүү болгон бардык элементтерди тандаңыз.

2) Мезгилдик мыйзам ачылган учурда белгилүү болгон бардык элементтерди аныктагыла.

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

4) Кадимки шарттарда газ абалында болгон бардык элементтерди тандоо (н.с.).

5) No боюнча суюк абалда болгон бардык элементтерди тандаңыз.

6) No боюнча катуу абалда турган бардык элементтерди тандаңыз.

7) Кадимки шарттарда байкаларлык өзгөрүүсүз узак убакыт бою абага дуушар боло турган бардык элементтерди тандаңыз.

8) Туз кислотасында эрүүчү бардык металлдарды тандаңыз.

9) No боюнча күкүрт кислотасында эрүүчү бардык металлдарды тандаңыз.

10) ысытылганда күкүрт кислотасында эрүүчү бардык металлдарды тандаңыз.

11) Азот кислотасында эрүүчү бардык металлдарды тандаңыз.

12) Айлана-чөйрөнүн шарттарында суу менен катуу реакцияга кирген бардык металлдарды бөлүп алыңыз.

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

14) Табиятта кеңири таралган элементтерди аныктагыла.

15) Табиятта эркин абалда кездешкен элементтерди аныктагыла.

16) Адам менен жаныбарлардын организминде эң маанилүү роль ойногон элементтерди аныктагыла.

17) Күнүмдүк турмушта кеңири колдонулган элементтерди тандоо (эркин формада же айкалыштарда).

18) иштөөдө эң коркунучтуу жана атайын чараларды жана коргоочу каражаттарды талап кылган элементтерди аныктоо.

19) Эркин формада же кошулма түрүндө айлана-чөйрөгө эң чоң коркунуч туудурган элементтерди аныктоо.

20) Баалуу металлдарды тандоо.

21) Баалуу металлдардан кымбат элементтерди аныктагыла.

жазуулар

1) Бул бир нече чыпкаларды камсыз кылуу үчүн мааниси бар. Мисалы, 1 (орто кылымдарда белгилүү болгон бардык элементтер) жана 20 (баалуу металлдар) көйгөйүн чечүү үчүн чыпканы күйгүзсөңүз, анда орто кылымдарда белгилүү болгон баалуу металлдар бар клеткалар бөлүнүп чыгат (мисалы, түсү боюнча) ( мисалы, палладий баса албайт , 1803-жылы ачылган).

2) Бир нече чыпкалардын ар бир фильтр өз түсү бар уячаларды тандай тургандай режимде иштешин камсыз кылуу акылга сыярлык, бирок башка чыпканын тандоосун толук алып салбайт (уячанын бир бөлүгү бир түстө, бир бөлүгү башка түстө). Анда мурунку мисалда орто кылымдарда ачылган көптүктөр менен баалуу металлдардын кесилишинин элементтери, ошондой эле биринчи жана экинчи көптүккө гана тиешелүү элементтер көрүнөт. Ошол. орто кылымдарда белгисиз баалуу металлдар жана орто кылымдарда белгилүү, бирок баалуу металлдар эмес элементтер.

3) Алынган натыйжалар менен башка иш жүргүзүү мүмкүнчүлүгүн камсыз кылуу үчүн чыпканы колдонгондон кийин мааниси бар. Мисалы, орто кылымдарда белгилүү болгон тандалган элементтерге ээ болгон колдонуучу тандалган элементке LMB чыкылдатып, бул элемент жөнүндө Wikipedia макаласына өтөт.

4) Колдонуучуга тандалган таблица уячасында LMB чыкылдатуу менен тандоону жокко чыгаруу мүмкүнчүлүгүн берүү мааниси бар. Мисалы, мурунтан эле көрүлгөн нерселерди алып салуу.

5) Тандалган уячалардын тизмеси файлда сакталышын жана мындай файлга уячаларды автоматтык түрдө тандоо менен жүктөлүшүн камсыз кылуу мааниси бар. Бул колдонуучуга жумуштан тыныгуу мүмкүнчүлүгүн берет.

Биз статикалык, алдын ала аныкталган башкаруу картасын колдондук, бирок программанын иштешине жараша өзгөрүп турган динамикалык башкаруу карталарын колдонсо болот, көптөгөн маанилүү тапшырмалар бар. Мисал катары колдонуучу чычканды терезенин чокуларынын ордун көрсөтүү жана алардын ортосуна чектерди тартуу үчүн колдонгон график редактору болот. Чокуну же четти жок кылуу үчүн колдонуучу аны көрсөтүшү керек. Ал эми тегерекче менен белгиленген чокуга көрсөтүү оңой болсо, анда ичке сызык менен тартылган четти көрсөтүү кыйыныраак болот. Көзгө көрүнгөн фигурага караганда чокулары жана четтери кененирээк райондорду ээлеген башкаруу картасы бул жерде жардам берет.

Комплекстүү окутуунун бул ыкмасына байланыштуу кызыктуу кошумча суроо: бул ыкма AI окутууда пайдалуу болушу мүмкүнбү?

Source: www.habr.com

Комментарий кошуу