(පාලක කාඩ්පත්)
(රසායනික මූලද්රව්ය ආවර්තිතා වගුවේ ජාත්යන්තර වර්ෂය සඳහා කැප කර ඇත)
(නවතම එකතු කිරීම් 8 අප්රේල් 2019 වෙනිදා සිදු කරන ලදී. එකතු කිරීම් ලැයිස්තුව වහාම කප්පාදුවට පහළින් ඇත)
මට මතකයි අපි තාරාව පසු කළා. මේවා එකවර පාඩම් තුනක් විය: භූගෝලය, ස්වභාවික විද්යාව සහ රුසියානු. විද්යා පාඩමකදී තාරාවෙකු තාරාවෙකු ලෙස අධ්යයනය කරන ලදී, එයට කුමන පියාපත් තිබේද, කුමන කකුල් තිබේද, එය පිහිනන ආකාරය සහ යනාදිය. භූගෝලීය පාඩමකදී, එම තාරාවා ලෝක ගෝලයේ වැසියෙකු ලෙස අධ්යයනය කරන ලදී: එය ජීවත් වන ස්ථානය සහ එය නොමැති තැන සිතියමක පෙන්වීමට අවශ්ය විය. රුසියානු භාෂාවෙන්, Serafima Petrovna "u-t-k-a" ලිවීමට සහ Brem වෙතින් තාරාවන් ගැන යමක් කියවීමට අපට ඉගැන්වීය. පසුකරමින්, ඇය අපට දන්වා සිටියේ ජර්මානු තාරා මේ වගේ බවත්, ප්රංශ භාෂාවෙන් මේ වගේ බවත්ය. මම හිතන්නේ එදා එය හැඳින්වූයේ "සංකීර්ණ ක්රමය" ලෙසයි. පොදුවේ ගත් කල, සෑම දෙයක්ම "ඉදිරියේදී" පිටතට පැමිණියේය.
Veniamin Kaverin, කපිතාන්වරු දෙදෙනෙක්
ඉහත උද්ධෘතයේ දී, Veniamin Kaverin සංකීර්ණ ඉගැන්වීමේ ක්රමයේ අඩුපාඩු දක්ෂ ලෙස පෙන්වා ඇත, කෙසේ වෙතත්, සමහර (සමහර විට තරමක් දුර්ලභ) අවස්ථා වලදී, මෙම ක්රමයේ අංග යුක්ති සහගත ය. එවැනි එක් අවස්ථාවක් වන්නේ පාසල් පරිගණක විද්යා පාඩම් වල D.I. මෙන්ඩලීව්ගේ ආවර්තිතා වගුවයි. ආවර්තිතා වගුව සමඟ සාමාන්ය ක්රියා වල මෘදුකාංග ස්වයංක්රීය කිරීමේ කාර්යය රසායන විද්යාව හැදෑරීමට පටන් ගෙන ඇති පාසල් සිසුන්ට පැහැදිලි වන අතර සාමාන්ය රසායනික ගැටළු රාශියකට බෙදා ඇත. ඒ අතරම, පරිගණක විද්යාවේ රාමුව තුළ, මෙම කාර්යය මඟින් ග්රැෆික් මූලද්රව්ය භාවිතයෙන් ක්රමලේඛනය ලෙස වචනයේ පුළුල් අර්ථයෙන් තේරුම් ගත හැකි ග්රැෆික් ක්රමලේඛනයට ආරෝපණය කළ හැකි පාලන කාඩ්පත් ක්රමය සරල ආකාරයකින් නිරූපණය කිරීමට අපට ඉඩ සලසයි.
(අප්රේල් 8, 2019 එකතු කිරීම් සිදු කරන ලදී:
අපි මූලික කාර්යය සමඟ ආරම්භ කරමු. සරලම අවස්ථාවෙහිදී, ආවර්තිතා වගුව කවුළුවක ස්වරූපයෙන් තිරය මත ප්රදර්ශනය කළ යුතු අතර, සෑම සෛලයකම මූලද්රව්යයේ රසායනික නාමයක් ඇත: 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.
පෝරමය මත පන්ති සංරචකයක් තබන්න ටයිමේජ්... අපිට ලැබෙනවා Image1. සාමාන්යයෙන්, විශාල ව්යාපෘති සඳහා, පෝරමයේ නම් ස්වයංක්රීයව ජනනය කරන බව සලකන්න රූපය එන්කොහෙද N දුසිම් කිහිපයකට හෝ ඊට වැඩි ගණනකට ළඟා විය හැකිය - මෙය හොඳම ක්රමලේඛන විලාසය නොවන අතර වඩාත් අර්ථවත් නම් ලබා දිය යුතුය. ඒත් අපේ පුංචි ව්යාපෘතියේ කොහෙද N 2 නොඉක්මවනු ඇත, ඔබට එය ජනනය කළ පරිදි තැබිය හැකිය.
දේපල වලට රූපය1.පින්තූරය ගොනුව උඩුගත කරන්න table01.bmp. අපි නිර්මාණය කරනවා Image2 සහ අපගේ පාලන කාඩ්පත එහි පූරණය කරන්න table2.bmp. මෙම අවස්ථාවෙහිදී, පෝරමයේ පහළ වම් කෙළවරේ පෙන්වා ඇති පරිදි, අපි ගොනුව කුඩා සහ පරිශීලකයාට නොපෙනෙන ලෙස සකස් කරමු. අපි අතිරේක පාලන මූලද්රව්ය එකතු කරමු, එහි අරමුණ පැහැදිලිය. Delpi-7 IDE හි චිත්රක GUI වැඩසටහන්කරණයේ දෙවන අදියර සම්පූර්ණ කර ඇත.
අපි තුන්වන අදියර වෙත යමු - Delpi-7 IDE හි කේතය ලිවීම. මොඩියුලය සමන්විත වන්නේ සිදුවීම් හසුරුවන්න පහකින් පමණි: පෝරමය නිර්මාණය (FormCreate), කර්සරය චලනය Image1 (Image1MouseMove), කොටුවක් මත 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 හසුරුවන්නා 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 පේළියේ ආරම්භක වරහන් වලට අනුරූප වන බවයි.
ඇත්ත වශයෙන්ම, ක්රමලේඛන විලාසය ඉතා මතභේදාත්මක කරුණකි, එබැවින් මෙහි ප්රකාශිත අදහස් සිතීමට ආහාරයක් ලෙස ගත යුතුය. වසර ගනනාවක් වැඩ කරමින් විවිධ ශෛලීන් වර්ධනය කර පුරුදු වී සිටින තරමක් පළපුරුදු ක්රමලේඛකයින් දෙදෙනෙකුට එකඟතාවයකට පැමිණීම ඉතා අපහසු විය හැකිය. තමාගේම ශෛලියක් සොයා ගැනීමට තවමත් කාලය නොමැති ශිෂ්යයෙකුට වැඩසටහන් කිරීමට ඉගෙනීම වෙනම කාරණයකි. මෙම අවස්ථාවේ දී ගුරුවරයා අවම වශයෙන් තම සිසුන්ට එවැනි සරල, නමුත් පැහැදිලි අදහසක් ලබා දිය යුතු යැයි මම සිතමි, වැඩසටහනක සාර්ථකත්වය බොහෝ දුරට රඳා පවතින්නේ එහි මූල කේතය ලියා ඇති විලාසය මත ය. ශිෂ්යයා නිර්දේශිත ශෛලිය අනුගමනය නොකළ හැකිය, නමුත් මූලාශ්ර කේතයේ සැලසුම වැඩිදියුණු කිරීම සඳහා "අතිරේක" ක්රියාවන් සඳහා අවශ්යතාවය ගැන ඔහුට අවම වශයෙන් සිතීමට ඉඩ දෙන්න.
ආවර්තිතා වගුවේ අපගේ මූලික ගැටලුව වෙත ආපසු යාම: වැඩිදුර සංවර්ධනය විවිධ දිශාවලට යා හැකිය. එක් දිශාවක් යොමු කිරීම සඳහා වේ: ඔබ මූසික කර්සරය වගු කොටුවක් මත තබා ඇති විට, නිශ්චිත මූලද්රව්යයේ අමතර තොරතුරු අඩංගු තොරතුරු කවුළුවක් දිස්වේ. තවදුරටත් සංවර්ධනය පෙරහන් වේ. උදාහරණයක් ලෙස, ස්ථාපනය මත පදනම්ව, තොරතුරු කවුළුවේ අඩංගු වන්නේ: වඩාත්ම වැදගත් භෞතික හා රසායනික තොරතුරු, සොයාගැනීමේ ඉතිහාසය පිළිබඳ තොරතුරු, සොබාදහමේ බෙදා හැරීම පිළිබඳ තොරතුරු, වඩාත්ම වැදගත් සංයෝග ලැයිස්තුවක් (මෙම මූලද්රව්යය ඇතුළත් වේ), භෞතික විද්යාත්මක ගුණාංග, විදේශීය භාෂාවකින් නම, ආදිය. e. මෙම ලිපිය ආරම්භ වන Kaverin ගේ "තාරා" මතක තබා ගනිමින්, මෙම වැඩසටහනේ වර්ධනයත් සමඟ අපට ස්වාභාවික විද්යාවන්හි සම්පූර්ණ පුහුණු සංකීර්ණයක් ලැබෙනු ඇතැයි අපට පැවසිය හැකිය: පරිගණකයට අමතරව විද්යාව, භෞතික විද්යාව සහ රසායන විද්යාව - ජීව විද්යාව, ආර්ථික භූගෝල විද්යාව, විද්යාවේ ඉතිහාසය සහ විදේශීය භාෂා පවා.
නමුත් දේශීය දත්ත සමුදායක් සීමාව නොවේ. වැඩසටහන ස්වභාවිකවම අන්තර්ජාලයට සම්බන්ධ වේ. ඔබ මූලද්රව්යයක් තෝරන විට, සබැඳිය සක්රිය වන අතර, මෙම මූලද්රව්යය පිළිබඳ විකිපීඩියා ලිපිය වෙබ් බ්රව්සර් කවුළුවෙහි විවෘත වේ. විකිපීඩියාව, ඔබ දන්නා පරිදි, බලයලත් මූලාශ්රයක් නොවේ. ඔබට බලයලත් මූලාශ්ර වෙත සබැඳි සැකසිය හැක, උදාහරණයක් ලෙස, රසායනික විශ්වකෝෂය, TSB, වියුක්ත සඟරා, මෙම මූලද්රව්ය සඳහා සෙවුම් යන්ත්රවල විමසුම් ඇණවුම් කිරීම යනාදිය. එම. DBMS සහ අන්තර්ජාල මාතෘකා පිළිබඳ සරල නමුත් අර්ථවත් පැවරුම් සම්පූර්ණ කිරීමට සිසුන්ට හැකි වේ.
තනි මූලද්රව්යයක් පිළිබඳ විමසීම් වලට අමතරව, ඔබට ක්රියාකාරීත්වය නිර්මාණය කළ හැකිය, උදාහරණයක් ලෙස, විවිධ වර්ණ සහිත නිශ්චිත නිර්ණායක සපුරාලන වගුවේ සෛල සලකුණු කරයි. උදාහරණයක් ලෙස, ලෝහ සහ ලෝහ නොවන. එසේත් නැතිනම් දේශීය රසායනික කම්හලක් මගින් ජල කඳන් වෙත හෙළනු ලබන සෛල.
ඔබට සටහන් පොත් සංවිධායකයෙකුගේ කාර්යයන් ද ක්රියාත්මක කළ හැකිය. උදාහරණයක් ලෙස, විභාගයට ඇතුළත් කර ඇති අංග වගුවේ උද්දීපනය කරන්න. ඉන්පසු විභාගයට සූදානම් වීමේදී ශිෂ්යයා විසින් අධ්යයනය කරන ලද/පුනරාවර්තනය කරන ලද අංග ඉස්මතු කරන්න.
මෙන්න, උදාහරණයක් ලෙස, සාමාන්ය පාසල් රසායන විද්යා ගැටළු වලින් එකකි:
හුණු ග්රෑම් 10 ක් ලබා දී ඇත. මෙම හුණු විසුරුවා හැරීමට හයිඩ්රොක්ලෝරික් අම්ලය කොපමණ ප්රමාණයක් ගත යුතුද?
මෙම ගැටළුව විසඳීම සඳහා, කෙම් ලිවීමට අවශ්ය වේ. ප්රතික්රියාව සහ එහි සංගුණක තැබීම, කැල්සියම් කාබනේට් සහ හයිඩ්රජන් ක්ලෝරයිඩ් අණුක බර ගණනය කරන්න, ඉන්පසු සමානුපාතිකය රචනා කර විසඳන්න. අපගේ මූලික වැඩසටහන මත පදනම් වූ කැල්ක්යුලේටරය ගණනය කර විසඳිය හැක. ඇත්ත, ඔබ තවමත් අම්ලය සාධාරණ අතිරික්තයක් සහ සාධාරණ සාන්ද්රණයකින් ගත යුතු බව සැලකිල්ලට ගත යුතුය, නමුත් මෙය රසායන විද්යාව මිස පරිගණක විද්යාව නොවේ.
CaCO3 + 2HCl = CaCl2 + H2O
මෙයින් අපට පෙනෙන්නේ අපට පහත සඳහන් මූලද්රව්යවල පරමාණුක බර අවශ්ය වනු ඇති බවයි: කැල්සියම් (Ca), කාබන් (C), ඔක්සිජන් (O), හයිඩ්රජන් (H) සහ ක්ලෝරීන් (Cl). සරලම අවස්ථාවෙහිදී, අපට මෙම බර එක්-මාන අරාවකට ලිවිය හැකිය
AtomicMass : array [1..size] of real;
එහිදී අරා දර්ශකය මූලද්රව්ය අංකයට අනුරූප වේ. පෝරමයේ නිදහස් ඉඩ පිළිබඳ වැඩි විස්තර tableDlg ක්ෂේත්ර දෙකක් දැම්මා. පළමු ක්ෂේත්රයේ එය මුලින් ලියා ඇත්තේ: “පළමු ප්රතික්රියාකාරකය ලබා දී ඇත”, දෙවැන්න - “දෙවන ප්රතික්රියාකාරකය x සොයා ගැනීමයි”. ක්ෂේත්ර සඳහන් කරමු ප්රතික්රියාකාරක 1, ප්රතික්රියාකාරක 2 පිළිවෙලින්. වැඩසටහනට වෙනත් එකතු කිරීම් කැල්කියුලේටරයේ පහත උදාහරණයෙන් පැහැදිලි වනු ඇත.
අපි පරිගණක යතුරු පුවරුව මත ටයිප් කරන්නෙමු: ග්රෑම් 10. ක්ෂේත්රයේ ශිලා ලිපිය ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරකයට ග්රෑම් 10 ක් ලබා දී ඇත." දැන් අපි මෙම ප්රතික්රියාකාරකයේ සූත්රය ඇතුළු කරන අතර, ඔබ එයට ඇතුළු වන විට කැල්කියුලේටරය එහි අණුක බර ගණනය කර පෙන්වනු ඇත.
Ca සංකේතය සහිත වගු කොටුවේ LMB ක්ලික් කරන්න. ක්ෂේත්රයේ ශිලා ලේඛනය ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරක Ca 40.078 ග්රෑම් 10 ක් ලබා දී ඇත."
ක්ෂේත්රයේ C. ශිලා ලේඛනය සමඟ වගු කොටුව මත LMB ක්ලික් කරන්න ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරක CaC 52.089 ග්රෑම් 10 ක් ලබා දී ඇත." එම. කැල්කියුලේටරය කැල්සියම් සහ කාබන් පරමාණුක බර එකතු කළේය.
ක්ෂේත්රයේ O. ශිලා ලේඛනය සමඟ වගු කොටුව මත LMB ක්ලික් කරන්න ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරක CaCO 68.088 ග්රෑම් 10 ක් ලබා දී ඇත." කැල්කියුලේටරය ඔක්සිජන් පරමාණුක බර එකතුවට එකතු කළේය.
ක්ෂේත්රයේ O. ශිලා ලේඛනය සමඟ වගු කොටුව මත LMB ක්ලික් කරන්න ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරක CaCO2 84.087 ග්රෑම් 10 ක් ලබා දී ඇත." කැල්කියුලේටරය නැවත වරක් ඔක්සිජන් පරමාණුක බර එකතුවට එකතු කළේය.
ක්ෂේත්රයේ O. ශිලා ලේඛනය සමඟ වගු කොටුව මත LMB ක්ලික් කරන්න ප්රතික්රියාකාරක 1 වෙනස්කම්: "පළමු ප්රතික්රියාකාරක CaCO3 100.086 ග්රෑම් 10 ක් ලබා දී ඇත." කැල්කියුලේටරය නැවතත් ඔක්සිජන් පරමාණුක බර එකතුවට එකතු කළේය.
ඔබේ පරිගණක යතුරුපුවරුවේ Enter ඔබන්න. පළමු ප්රතික්රියාකාරකය හඳුන්වාදීම අවසන් කර ක්ෂේත්රයට මාරු වේ ප්රතික්රියාකාරක 2. මෙම උදාහරණයේ අපි අවම අනුවාදයක් සපයන බව සලකන්න. අවශ්ය නම්, ඔබට එකම වර්ගයේ පරමාණු වල ගුණකයන් පහසුවෙන් සංවිධානය කළ හැකිය, එවිට ඔබට ක්රෝමියම් සූත්රය (K2Cr2O7) ඇතුළු කිරීමේදී ඔක්සිජන් සෛලය මත පේළියකට හත් වතාවක් ක්ලික් කිරීමට අවශ්ය නොවේ.
ක්ෂේත්රයේ H. ශිලා ලේඛනය සමඟ වගු කොටුවේ LMB ක්ලික් කරන්න ප්රතික්රියාකාරක 2 වෙනස්කම්: "දෙවන ප්රතික්රියාකාරක H 1.008 සොයා x."
Cl සංකේතය සහිත වගු කොටුවේ LMB ක්ලික් කරන්න. ක්ෂේත්රයේ ශිලා ලේඛනය ප්රතික්රියාකාරක 2 වෙනස්කම්: "දෙවන ප්රතික්රියාකාරක HCl 36.458 x සොයා ගන්න." ගණක යන්ත්රය හයිඩ්රජන් සහ ක්ලෝරීන්වල පරමාණුක බර එකතු කළේය. ඉහත ප්රතික්රියා සමීකරණයේදී, හයිඩ්රජන් ක්ලෝරයිඩ් 2 සංගුණකයකින් ඉදිරියෙන් ඇත. එබැවින්, ක්ෂේත්රයේ LMB ක්ලික් කරන්න. ප්රතික්රියාකාරක 2. අණුක බර දෙගුණ වේ (දෙවරක් එබූ විට තුන් ගුණයකින් වැඩි වේ, ආදිය). ක්ෂේත්රයේ ශිලා ලේඛනය ප්රතික්රියාකාරක 2 වෙනස්කම්: "දෙවන ප්රතික්රියාකාරක 2HCl 72.916 සොයා x."
ඔබේ පරිගණක යතුරුපුවරුවේ Enter ඔබන්න. දෙවන ප්රතික්රියාකාරකයේ ප්රවේශය සම්පූර්ණ කර ඇති අතර, ගණක යන්ත්රය සමානුපාතිකයෙන් x සොයා ගනී.
ඒක තමයි අපිට හොයන්න ඕන වුණේ.
සටහන 1. ප්රතිඵලය සමානුපාතිකයේ අර්ථය: විසුරුවා හැරීම සඳහා 100.086
සටහන 2. සමාන ගැටළු වල එකතුව:
Khomchenko I. G., රසායන විද්යාවේ ගැටළු සහ අභ්යාස එකතු කිරීම 2009 (ශ්රේණි 8-11).
Khomchenko G. P., Khomchenko I. G., විශ්ව විද්යාල සඳහා අයදුම්කරුවන් සඳහා රසායන විද්යාවේ ගැටළු එකතු කිරීම, 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. යතුරුපුවරුවෙන් ප්රතික්රියාකාරක සූත්රය විකල්ප ලෙස ඇතුළත් කිරීමේ හැකියාව ලබා දීම අර්ථවත් කරයි. මෙම අවස්ථාවේදී, ඔබ සරල විග්රහයක් ක්රියාත්මක කිරීමට අවශ්ය වනු ඇත.
එය සඳහන් කිරීම වටී:
අද වන විට, මේසයේ අනුවාද සිය ගණනක් ඇති අතර විද්යාඥයින් නිරන්තරයෙන් නව විකල්ප ඉදිරිපත් කරයි. (
විකිපීඩියා )
දැනටමත් යෝජිත විකල්පයන්ගෙන් එකක් ක්රියාත්මක කිරීමෙන් හෝ තමන්ගේම මුල් පිටපතක් සෑදීමට උත්සාහ කිරීමෙන් සිසුන්ට මෙම දිශාවට ඔවුන්ගේ දක්ෂතාවය පෙන්විය හැකිය. පරිගණක විද්යා පාඩම් සඳහා අවම ප්රයෝජනවත් දිශාව මෙය බව පෙනේ. කෙසේ වෙතත්, මෙම ලිපියේ ක්රියාත්මක කරන ලද ආවර්තිතා වගුවේ ස්වරූපයෙන්, සම්මත බොත්තම් භාවිතයෙන් විකල්ප විසඳුමට වඩා පාලක කාඩ්පත්වල විශේෂ වාසි සමහර සිසුන්ට නොපෙනේ. TButton. මේසයේ සර්පිලාකාර හැඩය (සෛල විවිධ හැඩයන් ඇති) මෙහි යෝජිත විසඳුමේ වාසි වඩාත් පැහැදිලිව පෙන්නුම් කරයි.
(
ආවර්තිතා වගුව සඳහා දැනට පවතින පරිගණක වැඩසටහන් ගණනාවක් හබ්රේ හි මෑතකදී ප්රකාශයට පත් කර ඇති බව ද අපි එකතු කරමු.
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) තෝරාගත් සෛල ලැයිස්තුව ගොනුවක සුරකින බව සහතික කිරීම සහ එවැනි ගොනුවක් ස්වයංක්රීයව සෛල තෝරාගැනීමෙන් පටවනු ලැබේ. මෙය පරිශීලකයාට රැකියාවෙන් විවේකයක් ගැනීමට අවස්ථාව ලබා දෙනු ඇත.
අපි ස්ථිතික, කලින් තීරණය කළ පාලන සිතියමක් භාවිතා කළ නමුත්, වැඩසටහන ක්රියාත්මක වන විට වෙනස් වන ගතික පාලන සිතියම් භාවිතා කළ හැකි වැදගත් කාර්යයන් රාශියක් ඇත. උදාහරණයක් ලෙස ප්රස්ථාර සංස්කාරකයක් වනු ඇත, පරිශීලකයා කවුළුවක සිරස් පිහිටීම දැක්වීමට සහ ඒවා අතර දාර ඇඳීමට මූසිකය භාවිතා කරයි. ශීර්ෂයක් හෝ දාරයක් මකා දැමීමට, පරිශීලකයා එය වෙත යොමු කළ යුතුය. නමුත් රවුමකින් සලකුණු කර ඇති ශීර්ෂයක් වෙත යොමු කිරීම තරමක් පහසු නම්, තුනී රේඛාවකින් අඳින ලද දාරයක් වෙත යොමු කිරීම වඩාත් අපහසු වනු ඇත. දෘශ්ය රූපයට වඩා පුළුල් අසල්වැසි ප්රදේශ වල සිරස් සහ දාර පවතින පාලන සිතියමක් මෙහි උපකාරී වනු ඇත.
මෙම සංකීර්ණ පුහුණු ක්රමයට අදාළ සිත්ගන්නා අතුරු ප්රශ්නයක් නම්: AI පුහුණු කිරීමේදී මෙම ක්රමය ප්රයෝජනවත් විය හැකිද?
මූලාශ්රය: www.habr.com