Okul bilgisayar bilimlerinde periyodik tablo

(Kontrol kartları)
(Kimyasal Elementlerin Periyodik Tablosunun Uluslararası Yılı'na ithaf edilmiştir)
(En son eklemeler 8 Nisan 2019 tarihinde yapılmıştır. İlavelerin listesi kesimin hemen altındadır)

Okul bilgisayar bilimlerinde periyodik tablo
(Mendeleev'in çiçeği, Kaynak)

Ördeği geçtiğimizi hatırlıyorum. Bunlar aynı anda üç dersti: coğrafya, doğa bilimleri ve Rusça. Bir fen dersinde bir ördeğin ördek gibi olduğu, hangi kanatları olduğu, hangi bacakları olduğu, nasıl yüzdüğü vb. incelendi. Coğrafya dersinde aynı ördek dünyanın bir sakini olarak incelendi: Nerede yaşadığını ve nerede yaşamadığını bir harita üzerinde göstermek gerekiyordu. Serafima Petrovna bize Rusça "u-t-k-a" yazmayı ve Brem'den ördekler hakkında bir şeyler okumayı öğretti. Bu arada bize Almancada ördeğin böyle, Fransızcada böyle olduğunu bildirdi. O zamanlar buna “karmaşık yöntem” deniyordu sanırım. Genel olarak her şey "geçerek" ortaya çıktı.

Veniamin Kaverin, İki kaptan

Yukarıdaki alıntıda Veniamin Kaverin, karmaşık öğretim yönteminin eksikliklerini ustaca gösterdi, ancak bazı (belki de oldukça nadir) durumlarda bu yöntemin unsurları haklı. Böyle bir örnek, D.I. Mendeleev'in okul bilgisayar bilimleri derslerindeki periyodik tablosudur. Periyodik tablo ile tipik eylemlerin yazılım otomasyonunun görevi, kimya okumaya başlayan okul çocukları için açıktır ve birçok tipik kimyasal probleme bölünmüştür. Aynı zamanda, bilgisayar bilimi çerçevesinde, bu görev, kelimenin geniş anlamıyla grafik öğeleri kullanarak programlama olarak anlaşılan, grafiksel programlamaya atfedilebilecek kontrol kartları yöntemini basit bir biçimde göstermemize olanak tanır.

(8 Nisan 2019 tarihinde yapılan eklemeler:
Ek 1: Kimya Hesaplayıcısı Nasıl Çalışır?
Ek 2: filtreler için görev örnekleri)

Temel görevle başlayalım. En basit durumda, periyodik tablo ekranda her hücrede elementin kimyasal bir tanımının olacağı bir pencere biçiminde görüntülenmelidir: H - hidrojen, He - helyum, vb. Fare imleci bir hücreye işaret ediyorsa, elemanın tanımı ve numarası formumuzdaki özel bir alanda görüntülenir. Kullanıcı LMB'ye basarsa, seçilen bu öğenin adı ve numarası formun başka bir alanında belirtilecektir.

Okul bilgisayar bilimlerinde periyodik tablo

Sorun herhangi bir evrensel dil kullanılarak çözülebilir. Hemen hemen herkesin anlayabileceği basit eski Delpi-7'yi alacağız. Ancak PL'de programlamadan önce, örneğin Photoshop'ta iki resim çizelim. Öncelikle Periyodik Tabloyu programda görmek istediğimiz formda çizelim. Sonucu bir grafik dosyasına kaydedin tablo01.bmp.

Okul bilgisayar bilimlerinde periyodik tablo

İkinci çizim için ilkini kullanıyoruz. Tüm grafiklerden arındırılmış tablo hücrelerini, RGB renk modelindeki benzersiz renklerle sırayla dolduracağız. R ve G her zaman 0 olacaktır ve hidrojen için B=1, helyum için 2 vb. olacaktır. Bu çizim bizim kontrol kartımız olacak ve bunu adlı bir dosyaya kaydedeceğiz. tablo2.bmp.

Okul bilgisayar bilimlerinde periyodik tablo

Photoshop'ta grafik programlamanın ilk aşaması tamamlandı. Delpi-7 IDE'de grafiksel GUI programlamaya geçelim. Bunu yapmak için, ana forma bir iletişim düğmesi yerleştirdiğimiz yeni bir proje açın (masaDlg), tabloyla çalışmanın yapılacağı yer. Daha sonra formla çalışıyoruz masaDlg.

Forma bir sınıf bileşeni yerleştirin TResim. Biz alırız Image1. Genel olarak büyük projeler için form adlarının otomatik olarak oluşturulduğunu unutmayın. ResimNNerede N birkaç düzine veya daha fazlasına ulaşabilir - bu en iyi programlama stili değildir ve daha anlamlı isimler verilmelidir. Ama bizim küçük projemizde, nerede N 2'yi geçmeyecek, oluşturulduğu gibi bırakabilirsiniz.

Mülke Resim1.Resim dosyayı yükle tablo01.bmp. Biz yaratırız Image2 ve kontrol kartımızı oraya yükleyin tablo2.bmp. Bu durumda formun sol alt köşesinde gösterildiği gibi dosyayı küçük ve kullanıcıya görünmez hale getiriyoruz. Amacı belli olan ek kontrol unsurları ekliyoruz. Delpi-7 IDE'de grafiksel GUI programlamanın ikinci aşaması tamamlandı.

Okul bilgisayar bilimlerinde periyodik tablo

Üçüncü aşamaya geçelim - Delpi-7 IDE'de kod yazmaya. Modül yalnızca beş olay işleyicisinden oluşur: form oluşturma (FormOluştur), imleç hareketi Image1 (Image1FareHareket), bir hücrede LMB'ye tıklayarak (Resim1Tıklayın) ve OK düğmelerini (OKBtnTıklayın) ya da iptal (İptalBtnTıklayın). Bu işleyicilerin başlıkları IDE kullanılarak standart bir şekilde oluşturulur.

Modül kaynak kodu:

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.

Bizim versiyonumuzda 104 elementten oluşan bir tablo aldık (sabit boyut). Elbette bu boyut arttırılabilir. Eleman tanımları (kimyasal semboller) bir diziye yazılır TabloSembolleri. Bununla birlikte, kaynak kodunun kompaktlığı nedeniyle, bu gösterimlerin sırasının dize sabitleri biçiminde yazılması tavsiye edilebilir gibi görünmektedir. Periyodik TabloStr1, ..., Periyodik TabloStr4böylece form oluşturulduğunda programın kendisi bu atamaları dizinin öğeleri arasında dağıtır. Her öğe tanımı bir veya iki Latin harften oluşur; ilk harf büyük, ikinci harf (varsa) küçük harftir. Bu basit kural bir dizi yüklenirken uygulanır. Böylece notasyon dizisi boşluksuz ve kısa bir şekilde yazılabilir. Bir diziyi dört parçaya ayırma (sabitler Periyodik TabloStr1, ..., Periyodik TabloStr4) kaynak kodunu okuma kolaylığına ilişkin hususlardan kaynaklanmaktadır, çünkü Çok uzun bir çizgi ekrana tam olarak sığmayabilir.

Fare imleci öğenin üzerine geldiğinde Image1 işleyici Image1FareHareket bu olay kontrol kartı pikselinin mavi renk bileşeninin değerini belirler Image2 geçerli imleç koordinatları için. İnşaat gereği Image2 imleç hücrenin içindeyse bu değer eleman numarasına eşittir; sınırdaysa sıfır, diğer durumlarda 255. Program tarafından gerçekleştirilen geri kalan eylemler önemsizdir ve açıklama gerektirmez.

Yukarıda belirtilen stilistik programlama tekniklerine ek olarak, yorum stiline de dikkat etmek önemlidir. Açıkça konuşursak, tartışılan kod o kadar küçük ve basittir ki, yorumların özellikle gerekli olmadığı görülmektedir. Ancak bunlar aynı zamanda metodolojik nedenlerden dolayı da eklenmiştir; kısa kod, bazı genel sonuçları daha net bir şekilde çıkarmamıza olanak sağlar. Sunulan kodda bir sınıf bildirildi (TtableDlg). Bu sınıfın yöntemleri değiştirilebilir ve bu, programın işleyişini hiçbir şekilde etkilemez ancak okunabilirliğini etkileyebilir. Örneğin şu sırayı hayal edin:

OKBtnClick, Image1MouseMove, FormCreate, Image1Click, CancelBtnClick.

Çok fark edilmeyebilir ama okunması ve anlaşılması biraz daha zor hale gelecektir. Bölümde beş değil onlarca kat daha fazla yöntem varsa uygulama sınıf açıklamalarından tamamen farklı bir düzenleri varsa, o zaman kaos daha da artacaktır. Bu nedenle, kesin olarak kanıtlanması zor ve hatta imkansız olsa da, ek düzen getirilmesinin kodun okunabilirliğini artıracağı umulabilir. Bu ek düzen, ilgili görevleri gerçekleştiren çeşitli yöntemlerin mantıksal olarak gruplandırılmasıyla kolaylaştırılır. Her gruba bir başlık verilmelidir, örneğin:

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

Bu başlıklar modülün başına kopyalanmalı ve içindekiler tablosu şeklinde formatlanmalıdır. Oldukça uzun modüllerin olduğu bazı durumlarda, bu tür içindekiler tabloları ek gezinme seçenekleri sağlar. Benzer şekilde, bir yöntemin, prosedürün veya işlevin uzun gövdesinde, öncelikle bu gövdenin sonunu işaretlemeye değer:

end; // FormCreate

ve ikinci olarak, başlangıç ​​- bitiş program parantezleri içeren dallanmış ifadelerde, kapanış parantezinin atıfta bulunduğu ifadeyi işaretleyin:

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

Grup başlıklarını ve yöntem gövdelerinin uçlarını vurgulamak için çoğu ifadeden daha uzun olan ve örneğin sırasıyla "=" ve "_" karakterlerinden oluşan satırlar ekleyebilirsiniz.
Yine rezervasyon yapmamız gerekiyor: Örneğimiz çok basit. Ve bir yöntemin kodu tek ekrana sığmadığında, altı ardışık kod değişikliğinin yapılmasının anlaşılması zor olabilir. Bazı eski derleyicilerde, örneğin OS IBM 8000/360 için Pascal 370'de, buna benzer bir hizmet sütunu listenin solunda basılmıştır.

B5
…
E5

Bu, E5 satırındaki kapanış parantezinin B5 satırındaki açılış parantezine karşılık geldiği anlamına geliyordu.

Elbette programlama stili çok tartışmalı bir konudur, bu nedenle burada ifade edilen fikirlerin düşünce gıdasından başka bir şey olmadığı kabul edilmelidir. Uzun yıllar çalışarak farklı tarzlar geliştiren ve bunlara alışan oldukça deneyimli iki programcının anlaşmaya varması çok zor olabilir. Henüz kendi tarzını bulmaya zamanı olmamış, programlamayı öğrenen bir öğrenci için bu farklı bir konudur. Bu durumda öğretmenin en azından öğrencilerine bu kadar basit ama açık olmayan bir fikri aktarması gerektiğini düşünüyorum, bir programın başarısının büyük ölçüde kaynak kodunun yazılma tarzına bağlı olduğu. Öğrenci önerilen stili takip etmeyebilir ancak en azından kaynak kodun tasarımını geliştirmek için "ekstra" eylemlere duyulan ihtiyacı düşünmesine izin verin.

Periyodik Tablodaki temel sorunumuza dönersek: daha fazla gelişme farklı yönlere gidebilir. Yönergelerden biri referans amaçlıdır: Fare imlecini bir tablo hücresinin üzerine getirdiğinizde, belirtilen öğe hakkında ek bilgiler içeren bir bilgi penceresi görünür. Daha fazla gelişme filtrelerdir. Örneğin, kuruluma bağlı olarak bilgi penceresi yalnızca şunları içerecektir: en önemli fiziksel ve kimyasal bilgiler, keşif geçmişine ilişkin bilgiler, doğadaki dağılıma ilişkin bilgiler, en önemli bileşiklerin bir listesi (bu elementi içerir), fizyolojik özellikler, yabancı dilde isim vb. e.Bu makalenin başladığı Kaverin'in “ördeğini” hatırlayarak, programın bu gelişmesiyle birlikte doğa bilimleri alanında tam bir eğitim kompleksi elde edeceğimizi söyleyebiliriz: bilgisayara ek olarak bilim, fizik ve kimya - biyoloji, ekonomik coğrafya, bilim tarihi ve hatta yabancı diller.

Ancak yerel bir veritabanı sınır değildir. Program doğal olarak internete bağlanır. Bir öğeyi seçtiğinizde bağlantı etkinleştirilir ve bu öğeyle ilgili Wikipedia makalesi web tarayıcı penceresinde açılır. Wikipedia bildiğiniz gibi güvenilir bir kaynak değil. Kimyasal ansiklopedi, TSB, özet dergiler, bu öğe için arama motorlarındaki sipariş sorguları vb. gibi yetkili kaynaklara bağlantılar ayarlayabilirsiniz. O. Öğrenciler DBMS ve İnternet konularında basit ama anlamlı ödevleri tamamlayabilecektir.

Tek bir öğeye ilişkin sorgulara ek olarak, örneğin tablodaki belirli kriterleri karşılayan hücreleri farklı renklerle işaretleyecek işlevsellik oluşturabilirsiniz. Örneğin metaller ve metal olmayanlar. Veya yerel bir kimya tesisi tarafından su kütlelerine atılan hücreler.

Ayrıca bir dizüstü bilgisayar düzenleyicisinin işlevlerini de uygulayabilirsiniz. Örneğin, tabloda sınava dahil olan unsurları vurgulayın. Daha sonra öğrencinin sınava hazırlanırken çalıştığı/tekrarladığı unsurları vurgulayın.

Ve işte, örneğin, tipik okul kimyası problemlerinden biri:

10 gr tebeşir verildi. Tüm bu tebeşiri eritmek için ne kadar hidroklorik asit alınması gerekir?

Bu sorunu çözmek için kimyayı yazmak gerekir. reaksiyon ve katsayıları içine yerleştirmek, kalsiyum karbonat ve hidrojen klorürün moleküler ağırlıklarını hesaplamak, ardından oranı oluşturmak ve çözmek. Temel programımızı temel alan bir hesap makinesi hesaplayabilir ve çözebilir. Doğru, asidin makul miktarda ve makul bir konsantrasyonda alınması gerektiğini yine de hesaba katmanız gerekecek, ancak bu kimyadır, bilgisayar bilimi değil.
Ek 1: Kimya Hesaplayıcısı Nasıl Çalışır?Yukarıdaki tebeşir ve "karmaşık" problemi örneğini kullanarak hesap makinesinin çalışmasını analiz edelim. Tepkiyle başlayalım:

CaCO3 + 2HCl = CaCl2 + H2O

Buradan şu elementlerin atom ağırlıklarına ihtiyacımız olacağını görüyoruz: kalsiyum (Ca), karbon (C), oksijen (O), hidrojen (H) ve klor (Cl). En basit durumda bu ağırlıkları şu şekilde tanımlanan tek boyutlu bir diziye yazabiliriz:

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

burada dizi indeksi eleman numarasına karşılık gelir. Formun boş alanı hakkında daha fazla bilgi masaDlg iki alan koyun. İlk alanda başlangıçta şöyle yazılır: “İlk reaktif verilir”, ikincisinde - “İkinci reaktif x'i bulmaktır”. Alanları belirtelim reaktif1, reaktif2 sırasıyla. Programa yapılan diğer eklemeler aşağıdaki hesap makinesi örneğinden açıkça anlaşılacaktır.

Bilgisayar klavyesine yazıyoruz: 10 g. Alandaki yazı reaktif1 değişir: “İlk reaktife 10 g verilir.” Şimdi bu reaktifin formülünü giriyoruz ve siz girerken hesap makinesi molekül ağırlığını hesaplayacak ve gösterecektir.

Ca sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazıt reaktif1 değişiklikler: “40.078 g verilen ilk reaktif Ca 10.”

C sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazı reaktif1 değişiklikler: “52.089 g verilen ilk reaktif CaC 10.” Onlar. Hesap makinesi kalsiyum ve karbonun atom ağırlıklarını topladı.

O sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazı reaktif1 değişiklikler: “68.088 g verilen ilk reaktif CaCO 10.” Hesap makinesi oksijenin atom ağırlığını toplama ekledi.

O sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazı reaktif1 değişiklikler: “2 g verilen ilk reaktif CaCO84.087 10.” Hesap makinesi bir kez daha oksijenin atom ağırlığını toplama ekledi.

O sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazı reaktif1 değişiklikler: “3 g verilen ilk reaktif CaCO100.086 10.” Hesap makinesi yine oksijenin atom ağırlığını toplama ekledi.

Bilgisayarınızın klavyesinde Enter tuşuna basın. İlk reaktifin tanıtımı tamamlanır ve sahaya geçilir reaktif2. Bu örnekte minimal bir sürüm sağladığımızı unutmayın. İstenirse aynı türden atomların çarpanlarını kolayca düzenleyebilirsiniz, böylece örneğin krom formülünü (K2Cr2O7) girerken oksijen hücresine arka arkaya yedi kez tıklamanıza gerek kalmaz.

H sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazı reaktif2 değişiklikler: "İkinci reaktif H 1.008 x'i bul."

Cl sembolünün bulunduğu tablo hücresinde LMB'ye tıklayın. Alandaki yazıt reaktif2 değişiklikler: “İkinci reaktif HCl 36.458 x'i bul.” Hesap makinesi hidrojen ve klorun atom ağırlıklarını topladı. Yukarıdaki reaksiyon denkleminde hidrojen klorürün önünde 2 katsayısı bulunur. Bu nedenle alanda LMB'ye tıklayın. reaktif2. Molekül ağırlığı iki katına çıkar (iki kez basıldığında üç katına çıkar, vb.). Alandaki yazıt reaktif2 değişiklikler: "İkinci reaktif 2HCl 72.916 x'i bul."

Bilgisayarınızın klavyesinde Enter tuşuna basın. İkinci reaktifin girişi tamamlanır ve hesap makinesi orandan x'i bulur

Okul bilgisayar bilimlerinde periyodik tablo

Bulmamız gereken şey buydu.

1 edin. Ortaya çıkan oranın anlamı: çözünme için 100.086 Da tebeşir 72.916 Da asit gerektirir ve 10 g tebeşiri çözmek için x asit gerekir.

2 edin. Benzer sorunların koleksiyonları:

Khomchenko I. G., Kimyada problemler ve alıştırmalar koleksiyonu 2009 (8-11. Sınıflar).
Khomchenko G.P., Khomchenko I.G., Üniversitelere başvuranlar için kimyadaki problemlerin toplanması, 2019.

3 edin. Görevi basitleştirmek için, ilk versiyonda formülün girişini basitleştirebilir ve öğe sembolünü formül satırının sonuna ekleyebilirsiniz. O zaman kalsiyum karbonatın formülü şöyle olacaktır:
CaCOOO
Ancak bir kimya öğretmeninin böyle bir kayıttan hoşlanma olasılığı düşüktür. Doğru girişi yapmak zor değil; bunu yapmak için bir dizi eklemeniz gerekir:

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

burada indeks kimyasal elementin numarasıdır ve bu indeksteki değer atom sayısıdır (başlangıçta dizinin tüm elemanları sıfıra sıfırlanır). Kimyada benimsendiği şekliyle bir formülde atomların yazılma sırası dikkate alınmalıdır. Örneğin çok az kişi O3CaC'yi sevecektir. Sorumluluğu kullanıcıya aktaralım. Bir dizi oluşturalım:

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

formüldeki görünüm indeksine göre kimyasal elementin sayısını yazdığımız yer. Atom eklemek akımHayır formüle:

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

Formülü bir satıra yazmak:

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 edin. Reaktif formülüne alternatif olarak klavyeden girme yeteneğinin sağlanması mantıklıdır. Bu durumda basit bir ayrıştırıcı uygulamanız gerekecektir.

Şunu belirtmekte fayda var:

Bugün tablonun birkaç yüz versiyonu var ve bilim adamları sürekli olarak yeni seçenekler sunuyor. (Vikipedi)

Öğrenciler daha önce önerilen seçeneklerden birini uygulayarak veya kendi orijinalini yapmaya çalışarak bu yöndeki yaratıcılıklarını gösterebilirler. Bu, bilgisayar bilimi dersleri için en az kullanışlı yön gibi görünebilir. Ancak bu makalede uygulanan Periyodik Tablo biçiminde, bazı öğrenciler kontrol kartlarının standart düğmeleri kullanan alternatif çözüme göre belirli avantajlarını göremeyebilirler. T Düğmesi. Tablonun spiral şekli (hücrelerin farklı şekillerde olduğu), burada önerilen çözümün avantajlarını daha net bir şekilde ortaya koyacaktır.

Okul bilgisayar bilimlerinde periyodik tablo
(Theodore Benfey'in alternatif element sistemi, Kaynak)

Ayrıca, yakın zamanda Habré'de yayınlanan Periyodik Tablo için mevcut bir dizi bilgisayar programının açıklandığını da ekliyoruz. Makale.

Ek 2: Filtrelere yönelik görev örnekleriFiltreleri kullanarak örneğin aşağıdaki görevleri çözebilirsiniz:

1) Orta Çağ'da bilinen tüm unsurları tablodan seçin.

2) Periyodik Yasanın keşfi sırasında bilinen tüm unsurları tanımlayın.

3) Simyacıların metal olarak kabul ettiği yedi elementi tanımlayın.

4) Normal koşullar altında gaz halinde olan tüm elementleri seçin (n.s.).

5) No. XNUMX'de sıvı halde olan tüm elemanları seçin.

6) No. XNUMX'de katı durumda olan tüm elemanları seçin.

7) Normal şartlarda gözle görülür bir değişiklik olmadan uzun süre havaya maruz kalabilecek tüm elemanları seçin.

8) Hidroklorik asitte çözünen tüm metalleri seçin.

9) No.lu sülfürik asitte çözünen tüm metalleri seçin.

10) Isıtıldığında sülfürik asitte çözünen tüm metalleri seçin.

11) Nitrik asitte çözünen tüm metalleri seçin.

12) Ortam koşullarında suyla şiddetli reaksiyona giren tüm metalleri izole edin.

13) Tüm metalleri seçin.

14) Doğada yaygın olarak bulunan elementleri tanımlar.

15) Doğada serbest halde bulunan elementleri tanımlar.

16) İnsan ve hayvan vücudunda en önemli rol oynayan unsurları tanımlar.

17) Günlük yaşamda yaygın olarak kullanılan öğeleri seçin (serbest biçimde veya kombinasyon halinde).

18) Çalışması en tehlikeli olan ve özel önlem ve koruyucu ekipman gerektiren unsurları belirleyin.

19) Serbest formda veya bileşik formunda çevreye en büyük tehdidi oluşturan elementleri belirleyin.

20) Değerli metalleri seçin.

21) Değerli metallerden daha pahalı olan elementleri belirleyin.

Notlar

1) Birden fazla filtre sağlamak mantıklıdır. Örneğin, 1. problemi (Orta Çağ'da bilinen tüm elementler) ve 20'yi (değerli metaller) çözmek için bir filtreyi açarsanız, Orta Çağ'da bilinen değerli metallere sahip hücreler vurgulanacaktır (örneğin, renge göre) ( örneğin paladyum vurgulanmayacaktır, 1803'te açılmıştır).

2) Birkaç filtrenin, her filtrenin kendi rengindeki hücreleri seçeceği, ancak başka bir filtrenin seçimini (hücrenin bir kısmı bir renkte, bir kısmı diğerinde) tamamen kaldırmayacağı bir modda çalışmasını sağlamak mantıklıdır. Daha sonra, önceki örnekte, Orta Çağ'da keşfedilen kümelerin ve değerli metallerin kesişimindeki unsurların yanı sıra yalnızca birinci ve yalnızca ikinci kümeye ait olan unsurlar görülecektir. Onlar. Orta Çağ'da bilinmeyen değerli metaller ve Orta Çağ'da bilinen ancak değerli metaller olmayan elementler.

3) Filtreyi uyguladıktan sonra elde edilen sonuçlarla başka çalışmaların yapılabilmesini sağlamak mantıklıdır. Örneğin, Orta Çağ'da bilinen öğeleri seçtikten sonra kullanıcı, seçilen öğe üzerinde LMB'ye tıklar ve bu öğeyle ilgili Wikipedia makalesine yönlendirilir.

4) Kullanıcıya seçilen tablo hücresinde LMB'ye tıklayarak seçimi kaldırma yeteneğinin sağlanması mantıklıdır. Örneğin, önceden görüntülenen öğeleri kaldırmak için.

5) Seçilen hücrelerin listesinin bir dosyaya kaydedilmesini ve böyle bir dosyanın otomatik hücre seçimiyle yüklenmesini sağlamak mantıklıdır. Bu, kullanıcıya işe ara verme fırsatı verecektir.

Statik, önceden belirlenmiş bir kontrol haritası kullandık ancak program çalıştıkça değişen dinamik kontrol haritalarının kullanılabileceği birçok önemli görev var. Bunun bir örneği, kullanıcının bir penceredeki köşelerin konumlarını belirtmek ve aralarındaki kenarları çizmek için fareyi kullandığı bir grafik düzenleyici olabilir. Bir köşeyi veya kenarı silmek için kullanıcının onu işaret etmesi gerekir. Ancak daire ile işaretlenmiş bir köşeyi işaret etmek oldukça kolaysa, o zaman ince bir çizgi ile çizilmiş bir kenarı işaret etmek daha zor olacaktır. Köşelerin ve kenarların görünen şekilde olduğundan daha geniş mahalleler işgal ettiği durumlarda bir kontrol haritası burada yardımcı olacaktır.

Bu karmaşık eğitim yöntemiyle ilgili ilginç bir yan soru şudur: Bu yöntem yapay zeka eğitiminde faydalı olabilir mi?

Kaynak: habr.com

Yorum ekle