اسڪول ڪمپيوٽر سائنس تي دوري جدول

(ڪنٽرول ڪارڊ)
(ڪيميائي عنصرن جي دوري جدول جي بين الاقوامي سال لاءِ وقف)
(تازو اضافا اپريل 8، 2019 تي ڪيا ويا. اضافن جي لسٽ فوري طور تي ڪٽ جي ھيٺان آھي)

اسڪول ڪمپيوٽر سائنس تي دوري جدول
(مينڊيليف جو گل, ذريعو)

مون کي ياد آهي ته اسان بتھ پاس ڪيو. اهي ٽي سبق هڪ ئي وقت هئا: جاگرافي، قدرتي سائنس ۽ روسي. سائنس جي سبق ۾، بتھ کي بتھ جي حيثيت سان اڀياس ڪيو ويو، ان جا ڪھڙا پر آھن، ان جون ڪھڙيون ٽنگون آھن، اھو ڪيئن تري ٿو، وغيره. هڪ جاگرافيائي سبق ۾، ساڳئي بتڪ کي دنيا جي هڪ رهواسي جي حيثيت سان اڀياس ڪيو ويو: اهو ضروري هو ته نقشي تي ڏيکاريو وڃي ته اهو ڪٿي رهي ٿو ۽ ڪٿي نه. روسي ۾، Serafima Petrovna اسان کي "u-t-k-a" لکڻ سيکاريو ۽ Brem کان بتھ بابت ڪجهه پڙهو. گذرندي، هن اسان کي ٻڌايو ته جرمن ۾ بتھ اهڙي آهي، ۽ فرينچ ۾ اهڙي. منهنجو خيال آهي ته ان کي "پيچيده طريقو" سڏيو ويندو هو. عام طور تي، سڀڪنھن شيء کي "گذرڻ ۾."

وينامين ڪاورين، ٻه ڪپتان

مٿي ڏنل اقتباس ۾، Veniamin Kaverin ماهر طور تي پيچيده تدريس واري طريقي جي نقص کي ظاهر ڪيو، جڏهن ته، ڪجهه (شايد ڪافي نادر) ڪيسن ۾، هن طريقي جي عناصر کي جائز قرار ڏنو ويو آهي. اهڙو ئي هڪ ڪيس DI. Mendeleev جي اسڪول ڪمپيوٽر سائنس جي سبقن ۾ دوري ٽيبل آهي. عام عملن جي سافٽ ويئر آٽوميشن جو ڪم دوراني جدول سان گڏ اسڪول جي ٻارن لاءِ واضح آهي جن ڪيميا پڙهڻ شروع ڪيو آهي، ۽ ڪيترن ئي عام ڪيميائي ڪمن ۾ ورهايل آهي. ساڳئي وقت، ڪمپيوٽر سائنس جي فريم ورڪ جي اندر، هي ڪم اسان کي هڪ سادي شڪل ۾ ڪنٽرول ڪارڊ جو طريقو ڏيکارڻ جي اجازت ڏئي ٿو، جيڪو گرافڪ پروگرامنگ ڏانهن منسوب ڪري سگهجي ٿو، لفظ جي وسيع معني ۾ سمجهي سگهجي ٿو گرافڪ عناصر استعمال ڪندي پروگرامنگ.

(اپريل 8، 2019 شامل ڪيا ويا:
ضميمه 1: ڪيمسٽري ڪليڪٽر ڪيئن ڪم ڪندو آهي
ضميمو 2: فلٽرن لاءِ ڪم جا مثال)

اچو ته بنيادي ڪم سان شروع ڪريون. سادي صورت ۾، دوراني جدول کي ونڊو فارم ۾ اسڪرين تي ڏيکاريو وڃي، جتي هر سيل ۾ عنصر جي ڪيميائي نموني هوندي: H - هائيڊروجن، هي - هيليم، وغيره. جيڪڏهن ماؤس ڪرسر هڪ سيل ڏانهن اشارو ڪري ٿو، ته عنصر جي نامزدگي ۽ ان جو نمبر اسان جي فارم تي هڪ خاص فيلڊ ۾ ڏيکاريل آهي. جيڪڏهن صارف LMB کي دٻائي ٿو، ته پوء هن چونڊيل عنصر جي نامزدگي ۽ نمبر فارم جي ٻئي فيلڊ ۾ ظاهر ڪيو ويندو.

اسڪول ڪمپيوٽر سائنس تي دوري جدول

مسئلو ڪنهن به آفاقي ٻولي استعمال ڪندي حل ڪري سگهجي ٿو. اسان سادو پراڻو Delpi-7 وٺي وينداسين، جيڪو تقريبا هرڪو سمجهي سگهي ٿو. پر PL ۾ پروگرام ڪرڻ کان اڳ، اچو ته ٻه تصويرون ڪڍون، مثال طور، فوٽوشاپ ۾. پهرين، اچو ته Periodic Table ان شڪل ۾ ٺاھيون جنھن کي اسان پروگرام ۾ ڏسڻ چاھيون ٿا. نتيجو محفوظ ڪريو گرافڪ فائل ۾ table01.bmp.

اسڪول ڪمپيوٽر سائنس تي دوري جدول

ٻئي ڊرائنگ لاءِ اسان پهريون استعمال ڪريون ٿا. اسان ترتيب وار ٽيبل سيلز کي ڀرينداسين، سڀني گرافڪس مان صاف ٿيل، آر بي بي رنگ ماڊل ۾ منفرد رنگن سان. R ۽ G هميشه 0 هوندا، ۽ B=1 هائيڊروجن لاءِ، 2 هيليم لاءِ وغيره. هي ڊرائنگ اسان جو ڪنٽرول ڪارڊ هوندو، جنهن کي اسين فائل ۾ محفوظ ڪنداسين table2.bmp.

اسڪول ڪمپيوٽر سائنس تي دوري جدول

فوٽوشاپ ۾ گرافڪ پروگرامنگ جو پهريون مرحلو مڪمل ٿي چڪو آهي. اچو ته ڊيلپي-7 IDE ۾ گرافڪ GUI پروگرامنگ ڏانهن وڃو. هن کي ڪرڻ لاء، هڪ نئون پروجيڪٽ کوليو، جتي مکيه فارم تي اسين هڪ ڊائلاگ بٽڻ رکون ٿا (ٽيبل ڊي ايل جي)، جنهن ۾ ٽيبل سان ڪم ڪيو ويندو. اڳيون اسان فارم سان ڪم ڪريون ٿا ٽيبل ڊي ايل جي.

فارم تي ڪلاس جو حصو رکو ٽائيم... اسان حاصل ڪيون Image1. نوٽ ڪريو ته عام طور تي، وڏن منصوبن لاءِ، پاڻمرادو ٺاهيل فارم جا نالا تصوير اينڪٿي N ڪيترن ئي درجن يا وڌيڪ تائين پهچي سگھي ٿو - اهو بهترين پروگرامنگ انداز ناهي، ۽ وڌيڪ معنيٰ وارا نالا ڏنا وڃن. پر اسان جي ننڍڙي منصوبي ۾، جتي N 2 کان وڌيڪ نه ٿيندو، توھان ان کي ڇڏي سگھوٿا جيئن ٺاھيل.

ملڪيت ڏانهن تصوير 1. تصوير فائل اپ لوڊ ڪريو table01.bmp. اسان ٺاهيندا آهيون Image2 ۽ اسان جو ڪنٽرول ڪارڊ اتي لوڊ ڪريو table2.bmp. انهي صورت ۾، اسان فائل کي ننڍڙو ۽ پوشيده بڻائيندا آهيون صارف لاء، جيئن فارم جي هيٺئين کاٻي ڪنڊ ۾ ڏيکاريل آهي. اسان اضافي ڪنٽرول عناصر شامل ڪندا آهيون، جنهن جو مقصد واضح آهي. ڊيلپي-7 IDE ۾ گرافڪ GUI پروگرامنگ جو ٻيو مرحلو مڪمل ٿي چڪو آهي.

اسڪول ڪمپيوٽر سائنس تي دوري جدول

اچو ته ٽئين مرحلي تي وڃو - ڊيلپي-7 IDE ۾ ڪوڊ لکڻ. ماڊل صرف پنج ايونٽ ھينڊلرن تي مشتمل آھي: فارم ٺاھڻ (فارم ٺاهيو)، ڪسر تحريڪ Image1 (تصوير 1 ماؤس موو)، سيل تي LMB تي ڪلڪ ڪندي (تصوير 1 ڪلڪ ڪريو) ۽ OK بٽڻ استعمال ڪندي ڊائلاگ مان نڪرڻ (OKBtn ڪلڪ ڪريو) يا منسوخ ڪريو (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 عناصر جي ٽيبل ورتو (مسلسل ڪرائون سائيز واري). ظاهر آهي ته هن سائيز کي وڌائي سگهجي ٿو. عنصر نامزدگي (ڪيميائي علامتون) هڪ صف ڏانهن لکيل آهن ٽيبل جا نشان. بهرحال، سورس ڪوڊ جي ٺهڪندڙ سببن جي ڪري، اهو مناسب لڳي ٿو ته انهن نوٽشنن جي تسلسل کي اسٽرنگ جي تسلسل جي صورت ۾ لکجي. PeriodicTableStr1،…، PeriodicTableStr4تنهن ڪري جڏهن فارم ٺاهيو ويندو آهي، پروگرام پاڻ کي صفن جي عناصر جي وچ ۾ انهن نامزدگي کي ورهائي ٿو. هر عنصر جي نامزدگي هڪ يا ٻه لاطيني اکرن تي مشتمل آهي، جنهن ۾ پهريون اکر اپر اکر ۽ ٻيو (جيڪڏهن ڪو به) ننڍو اکر هوندو آهي. هي سادو قاعدو لاڳو ٿئي ٿو جڏهن هڪ صف لوڊ ڪندي. اهڙيءَ طرح، تصنيفات جي تسلسل کي اختصار سان لکي سگهجي ٿو، سواءِ خالن جي. هڪ تسلسل کي چئن حصن ۾ ورهائڻ (مسلسل PeriodicTableStr1،…، PeriodicTableStr4) سورس ڪوڊ پڙهڻ جي آسانيءَ جي ڪري آهي، ڇاڪاڻ ته ھڪڙي لڪير جيڪا تمام ڊگھي آھي شايد مڪمل طور تي اسڪرين تي مناسب نه ٿي سگھي.

جڏهن ته مائوس جو ڪرسر مٿي هلي ٿو Image1 سنڀاليندڙ تصوير 1 ماؤس موو هي واقعو ڪنٽرول ڪارڊ پکسل جي نيري رنگ جي جزو جي قيمت کي طئي ڪري ٿو Image2 موجوده ڪرسر ڪوآرڊينيٽس لاءِ. تعمير سان Image2 ھي قدر عنصر نمبر جي برابر آھي جيڪڏھن ڪسر سيل جي اندر آھي؛ صفر جيڪڏهن سرحد تي، ۽ 255 ٻين ڪيسن ۾. پروگرام پاران ڪيل باقي ڪارناما ننڍا آهن ۽ وضاحت جي ضرورت ناهي.

مٿي ذڪر ڪيل اسٽائلسٽڪ پروگرامنگ ٽيڪنڪ جي علاوه، اهو تبصرو انداز کي سمجهڻ جي قابل آهي. سختي سان ڳالهائڻ، ڪوڊ تي بحث ايترو ننڍڙو ۽ سادو آهي ته تبصرو خاص طور تي ضروري نه ٿو لڳي. بهرحال، اهي پڻ شامل ڪيا ويا آهن طريقن جي سببن لاء - مختصر ڪوڊ اسان کي اجازت ڏئي ٿو ته ڪجهه عام نتيجن کي وڌيڪ واضح طور تي. پيش ڪيل ڪوڊ ۾ ھڪڙي طبقي جو اعلان ڪيو ويو آھي (ٽيبل ڊي ايل جي). هن طبقي جا طريقا مٽائي سگھجن ٿا ۽ اهو پروگرام جي ڪم کي ڪنهن به طرح متاثر نه ڪندو، پر ان جي پڙهڻ جي صلاحيت کي متاثر ڪري سگهي ٿو. مثال طور، ترتيب تصور ڪريو:

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 تي افتتاحي قوس سان مطابقت رکي ٿي.

يقينن، پروگرامنگ انداز هڪ تمام تڪراري مسئلو آهي، تنهنڪري هتي بيان ڪيل خيالن کي سوچڻ جي خوراڪ کان وڌيڪ ڪجهه نه وٺڻ گهرجي. ٻن منصفانه تجربيڪار پروگرامرن لاءِ، جن ڪيترن سالن کان ڪم جي مختلف اندازن ۾ ترقي ڪئي ۽ عادي ٿي ويا آهن، هڪ معاهدو ڪرڻ لاءِ تمام ڏکيو ٿي سگهي ٿو. اهو هڪ الڳ ڳالهه آهي ته هڪ شاگرد جيڪو پروگرام جي سکيا وٺي رهيو آهي، جنهن کي اڃا تائين پنهنجو انداز ڳولڻ جو وقت نه مليو آهي. مان سمجهان ٿو ته ان صورت ۾ استاد کي گهرجي ته گهٽ ۾ گهٽ پنهنجي شاگردن کي ايترو سادو، پر واضح خيال نه هجي ته ڪنهن پروگرام جي ڪاميابيءَ جو دارومدار ان انداز تي هوندو آهي جنهن ۾ ان جو سورس ڪوڊ لکيل آهي. شاگرد شايد تجويز ڪيل انداز جي پيروي نه ڪري، پر هن کي گهٽ ۾ گهٽ سوچڻ ڏيو "اضافي" عملن جي ضرورت جي باري ۾ سورس ڪوڊ جي ڊيزائن کي بهتر ڪرڻ لاءِ.

دوري جدول تي اسان جي بنيادي مسئلي ڏانهن موٽڻ: وڌيڪ ترقي مختلف طرفن ۾ ٿي سگهي ٿو. ھدايتن مان ھڪڙو حوالو آھي: جڏھن توھان ماؤس جي ڪرسر کي ٽيبل سيل تي ھور ڪريو ٿا، ھڪڙي معلوماتي ونڊو ظاهر ٿئي ٿي جنھن ۾ مخصوص عنصر تي اضافي معلومات شامل آھي. وڌيڪ ترقي فلٽر آهي. مثال طور، انسٽاليشن جي بنياد تي، معلومات ونڊو صرف تي مشتمل هوندي: سڀ کان اهم جسماني ۽ ڪيميائي معلومات، دريافت جي تاريخ تي معلومات، فطرت ۾ ورهائڻ بابت معلومات، سڀ کان اهم مرکبات جي فهرست (جنهن ۾ هي عنصر شامل آهي)، جسماني ملڪيت، غير ملڪي ٻولي ۾ نالو، وغيره. مثال طور، Kaverin جي "ڊڪ" کي ياد ڪندي، جنهن سان هي مضمون شروع ٿئي ٿو، اسان اهو چئي سگهون ٿا ته هن پروگرام جي ترقي سان اسان کي قدرتي سائنس ۾ مڪمل تربيتي ڪمپليڪس حاصل ڪنداسين: ڪمپيوٽر کان علاوه. سائنس، فزڪس ۽ ڪيمسٽري - حياتيات، اقتصادي جاگرافي، سائنس جي تاريخ ۽ جيتوڻيڪ غير ملڪي ٻوليون.

پر مقامي ڊيٽابيس جي حد نه آهي. پروگرام قدرتي طور انٽرنيٽ سان ڳنڍيندو آهي. جڏهن توهان هڪ عنصر چونڊيو ٿا، لنڪ چالو ٿي ويندي آهي، ۽ هن عنصر بابت وڪيپيڊيا آرٽيڪل ويب برائوزر ونڊو ۾ کوليو ويندو آهي. وڪيپيڊيا، جيئن توهان کي خبر آهي، هڪ مستند ذريعو نه آهي. توھان مستند ذريعن جا لنڪ سيٽ ڪري سگھو ٿا، مثال طور، ڪيميڪل انسائيڪلوپيڊيا، TSB، خلاصو جرنلز، ھن عنصر لاءِ سرچ انجڻ ۾ سوالن جا آرڊر وغيره. اهو. شاگرد ڊي بي ايم ايس ۽ انٽرنيٽ جي عنوانن تي سادي پر بامعني تفويض مڪمل ڪرڻ جي قابل هوندا.

هڪ انفرادي عنصر تي سوالن کان علاوه، توهان ڪارڪردگي ٺاهي سگهو ٿا، مثال طور، ٽيبل ۾ سيلز کي نشانو بڻايو جيڪي مختلف رنگن سان ڪجهه معيار پورا ڪن. مثال طور، دھات ۽ غير ڌاتو. يا سيلز جيڪي مقامي ڪيميڪل پلانٽ ذريعي پاڻي جي جسم ۾ ڊمپ ڪيا ويا آهن.

توهان پڻ هڪ نوٽ بڪ آرگنائيزر جي ڪم کي لاڳو ڪري سگهو ٿا. مثال طور، ٽيبل ۾ نمايان ڪريو عناصر جيڪي امتحان ۾ شامل ڪيا ويا آھن. ان کان پوءِ امتحان جي تياري ۾ شاگرد پاران اڀياس ڪيل عنصرن کي نمايان ڪريو.

۽ هتي، مثال طور، هڪ عام اسڪول ڪيمسٽري مسئلن مان هڪ آهي:

چاڪ جي 10 گرام ڏني وئي. هن سڄي چڪر کي ٽوڙڻ لاءِ ڪيترو هائيڊروڪلوڪ اسيد وٺڻ گهرجي؟

هن مسئلي کي حل ڪرڻ لاء، اهو ضروري آهي ته ڪيم کي لکڻ لاء. رد عمل ۽ ان ۾ ڪوئفينٽس رکي، ڪلسيم ڪاربونيٽ ۽ هائيڊروجن ڪلورائڊ جي ماليڪيولر وزنن کي ڳڻيو، پوءِ ان تناسب کي ترتيب ڏيو ۽ حل ڪريو. اسان جي بنيادي پروگرام جي بنياد تي هڪ ڳڻپيوڪر حساب ۽ حل ڪري سگهي ٿو. سچ، توهان کي اڃا تائين اهو خيال رکڻو پوندو ته تيزاب کي مناسب مقدار ۾ ۽ مناسب ڪنسنٽريشن ۾ ورتو وڃي، پر اها ڪيمسٽري آهي، ڪمپيوٽر سائنس نه.
ضميمه 1: ڪيمسٽري ڪليڪٽر ڪيئن ڪم ڪندو آهياچو ته چيڪ ۽ ”هاج پاڊج“ جي مٿين مسئلي جو مثال استعمال ڪندي ڪليڪٽر جي آپريشن جو تجزيو ڪريون. اچو ته رد عمل سان شروع ڪريون:

CaCO3 + 2HCl = CaCl2 + H2O

ان مان اسان ڏسون ٿا ته اسان کي هيٺين عنصرن جي ايٽمي وزن جي ضرورت پوندي: ڪلسيم (Ca)، ڪاربان (C)، آڪسيجن (O)، هائڊروجن (H) ۽ ڪلورين (Cl). آسان ترين صورت ۾، اسان انهن وزنن کي هڪ طرفي صف ۾ بيان ڪري سگھون ٿا

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

جتي سر انڊيڪس عنصر نمبر سان ملندو آهي. فارم جي خالي جاء تي وڌيڪ ٽيبل ڊي ايل جي ٻه شعبا لڳايو. پهرين فيلڊ ۾ اهو شروعاتي طور تي لکيو ويو آهي: "پهريون ريجنٽ ڏنو ويو آهي"، ٻئي ۾ - "ٻيو ريجنٽ x ڳولڻ آهي". اچو ته شعبن کي بيان ڪريون ريجنٽ 1, ريجنٽ 2 ترتيب سان. پروگرام ۾ ٻيا اضافا ڪيلڪيوليٽر جي هيٺين مثال مان واضح ٿيندا.

اسان ڪمپيوٽر جي ڪيبورڊ تي ٽائپ ڪريون ٿا: 10 گ. فيلڊ ۾ لکت ريجنٽ 1 تبديليون: "پهرين ريجنٽ ڏنو ويو آهي 10 گ." ھاڻي اسان ھن ري ايجٽ جو فارمولا داخل ڪريون ٿا، ۽ ڳڻپيوڪر حساب ڪندو ۽ ان جو ماليڪيولر وزن ڏيکاريندو جيئن توھان ان کي داخل ڪندا.

Ca علامت سان ٽيبل سيل تي LMB تي ڪلڪ ڪريو. ميدان ۾ لکت ريجنٽ 1 تبديليون: "پهرين ريجنٽ Ca 40.078 ڏنو ويو 10 گ."

ڪلڪ ڪريو LMB ٽيبل سيل تي علامت C سان گڏ. فيلڊ ۾ لکت ريجنٽ 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) ۾ داخل ٿيڻ وقت آڪسيجن سيل تي قطار ۾ ست ڀيرا ڪلڪ ڪرڻ جي ضرورت ناهي.

ٽيبل سيل تي LMB تي ڪلڪ ڪريو علامت H. Inscription سان فيلڊ ۾ ريجنٽ 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 لاء Da چاڪ کي 72.916 ڊي ايسڊ جي ضرورت آهي، ۽ چاڪ جي 10 گرام کي ٽوڙڻ لاء توهان کي ايڪس ايسڊ جي ضرورت آهي.

نوٽ 2. ملندڙ مسئلن جو مجموعو:

Khomchenko I. G.، ڪيمسٽري 2009 ۾ مسئلن ۽ مشقن جو مجموعو (گريڊ 8-11).
Khomchenko G. P.، Khomchenko I. G.، ڪيمسٽري ۾ مسئلن جو مجموعو يونيورسٽين ۾ درخواست ڏيندڙن لاءِ، 2019.

نوٽ 3. ڪم کي آسان ڪرڻ لاءِ، توھان شروعاتي ورزن ۾ فارمولا جي داخلا کي آسان ڪري سگھو ٿا ۽ فارمولا لائن جي آخر ۾ عنصر جي علامت شامل ڪريو. پوء calcium carbonate جو فارمولا ٿيندو:
CaCOOO
پر ڪيمسٽري استاد اهڙي رڪارڊنگ کي پسند ڪرڻ ممڪن ناهي. صحيح داخلا ڪرڻ ڏکيو نه آهي - اهو ڪرڻ لاء توهان کي هڪ صف شامل ڪرڻ جي ضرورت آهي:

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

جتي انڊيڪس ڪيميائي عنصر جو تعداد آهي، ۽ هن انڊيڪس تي قيمت ائٽم جو تعداد آهي (شروعاتي طور تي صف جا سڀئي عنصر صفر تي ري سيٽ ڪيا ويا آهن). ترتيب جنهن ۾ ايٽم هڪ فارمولا ۾ لکيو ويو آهي، جيئن ڪيميا ۾ اختيار ڪيو ويو آهي، حساب ۾ ورتو وڃي. مثال طور، ڪجھ ماڻھو پسند ڪندا O3CaC يا. اچو ته ذميواري کي صارف ڏانهن منتقل ڪريون. ترتيب ڏيڻ:

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

جتي اسان ڪيميائي عنصر جو تعداد لکون ٿا فارمولا ۾ ان جي ظاهر جي انڊيڪس مطابق. ايٽم شامل ڪرڻ ڪرنٽ نمبر فارمولا ۾:

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. اهو سمجھ ۾ اچي ٿو ته ڪيبورڊ مان متبادل طور تي ريگينٽ فارمولا داخل ڪرڻ جي صلاحيت مهيا ڪرڻ. هن معاملي ۾، توهان کي هڪ سادي parser لاڳو ڪرڻ جي ضرورت پوندي.

اهو قابل ذڪر آهي ته:

اڄ، ٽيبل جا ڪيترائي سو نسخا آهن، ۽ سائنسدان مسلسل نوان اختيارن کي پيش ڪري رهيا آهن. (وڪيپيڊيا)

شاگرد اڳ ۾ ئي تجويز ڪيل اختيارن مان ڪنهن هڪ تي عمل ڪندي هن هدايت ۾ پنهنجي ذهانت ڏيکاري سگهن ٿا يا پنهنجو اصل اختيار ٺاهڻ جي ڪوشش ڪري سگهن ٿا. اهو لڳي سگھي ٿو ته هي ڪمپيوٽر سائنس جي سبقن لاءِ گهٽ ۾ گهٽ مفيد هدايت آهي. بهرحال، هن مضمون ۾ لاڳو ڪيل دوراني جدول جي صورت ۾، ڪجهه شاگرد شايد معياري بٽڻن جي استعمال سان متبادل حل تي ڪنٽرول ڪارڊ جا خاص فائدا نه ڏسن. ٽي بٽن. ٽيبل جي سرپل شڪل (جتي سيل مختلف شڪلين جا آهن) هتي پيش ڪيل حل جي فائدن کي وڌيڪ واضح طور تي ظاهر ڪندو.

اسڪول ڪمپيوٽر سائنس تي دوري جدول
(Theodore Benfey پاران عناصر جو متبادل نظام, ذريعو)

اچو ته اهو پڻ شامل ڪريون ته موجوده وقت ۾ موجود ڪمپيوٽر پروگرامن جو تعداد Periodic Table لاءِ تازو شايع ٿيل Habré ۾ بيان ڪيو ويو آهي. مضمون.

ضميمه 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) انهي کي يقيني بڻائي ٿو ته چونڊيل سيلز جي فهرست هڪ فائل ۾ محفوظ ڪئي وئي آهي ۽ اهڙي فائل سيلز جي خودڪار چونڊ سان لوڊ ڪئي وئي آهي. اهو صارف کي ڪم کان وقفو وٺڻ جو موقعو ڏيندو.

اسان هڪ جامد، اڳواٽ مقرر ڪيل ڪنٽرول نقشو استعمال ڪيو، پر اتي ڪيترائي اهم ڪم آهن جتي متحرڪ ڪنٽرول نقشا جيڪي تبديل ٿين ٿا جيئن پروگرام هلن ٿا استعمال ڪري سگھجن ٿا. ھڪڙو مثال ھڪڙو گراف ايڊيٽر ھوندو، جنھن ۾ صارف مائوس استعمال ڪري ٿو ھڪڙي ونڊو ۾ عمودي جي پوزيشن کي ظاھر ڪرڻ ۽ انھن جي وچ ۾ ڪنارن کي ٺاھيو. ھڪڙي عمدي يا ڪنڊ کي ختم ڪرڻ لاء، صارف کي ان ڏانھن اشارو ڪرڻ گھرجي. پر جيڪڏهن دائري سان نشان لڳل عمدي ڏانهن اشارو ڪرڻ بلڪل آسان آهي، ته پوءِ پتلي لڪير سان ٺهيل ڪنڊ ڏانهن اشارو ڪرڻ وڌيڪ ڏکيو ٿيندو. ھڪ ڪنٽرول نقشو ھتي مدد ڪندو، جتي عمودي ۽ ڪنارن کي ڏسڻ واري شڪل جي ڀيٽ ۾ وسيع پاڙيسري تي قبضو ڪيو ويندو.

پيچيده تربيت جي هن طريقي سان لاڳاپيل هڪ دلچسپ سوال آهي: ڇا اهو طريقو AI جي تربيت ۾ ڪارائتو ٿي سگهي ٿو؟

جو ذريعو: www.habr.com

تبصرو شامل ڪريو