Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Kyseliny (Visual Basic)

Jelikož tu jsem asi jeden z mála co umí VB.NET, tak zdejší komunitě občas napíšu nějaký prográmek jako ukázku použití VB.NET :) Tentokrát jsem se hodně nudil v chemii. Jak jsem se tak nudil, tak jsem hledal souvislosti pro převod názvu kyseliny na vzorec a naopak. Pár jsem jich našel a připravil tuto aplikaci. Jen tak mimochodem, někteří spolužáci měli díky mě o trochu (spíš dost) jednoduší domácí úkol :D

Jak to vlastně funguje?

Vzorec > název

Nejprve vám vysvětlím jak zkrátitit paní učitelčin sedmi krokový postup do dvou. Paní učitelčin postup je následující:

Zdrojákoviště VB .NET - Okenní aplikace Windows Forms

To co je zadané je černě, to co musíme (měli bychom) doplnit je červeně.

1.) Nad O (kyslík) si dáme oxidační číslo -II

2.) Nad H (vodík) si dáme oxidační číslo +I

3.) vynásobíme to co je nad sebou (-II * 4 = -8; +I * 2 = 2)

4.) dopočítamé neznámou (v ukázce u síry ) tak aby výsledek byl 0

5.) zjistíme koncovku

6.) do výsledného názvu dáme slovo Kyselina

7.) za název Kyselina přidáme prvek (sírá) a koncovku, jelikož jsme Češi musíme si to občas přizpůsobit.

No, řekněme si na rovinu, že dávat toto do algoritmu je nesmysl, tak si to zkraťmě.

Zdrojákoviště VB .NET - Okenní aplikace Windows Forms

číslo za vodíkem si označme valA a číslo za kyslíkem valB. Koncovku budeme zjišťovat pomocí vzorce:

koncovka = valB * 2 - valA

Jednoduché, že?

Název > vzorec

Zde už je to horší, my si totiž musíme získat koncovku a prvek. Na to mám v aplikaci celkem jednoduché funkce, které sice nefungují dokonale, ale můžete si je upravit, aby fungovaly lépe.

Pak už to musíme udělat tak jak z chemie známe:

If (koncovka + 1) Mod 2 = 1 Then 'Pokud je číslo liché
    valA.Text = "2"
    valB.Text = (2 + koncovka) / 2
Else
    valA.Text = ""
    valB.Text = (1 + koncovka) / 2
End If

Jediná zajimavost zde je, jak zjišťuji liché číslo (někteří to možná neví).

Jednoduše zjistím si zbytek po dělení čísla dvojkou, pokud je zbytek 1 tak je číslo liché, pokud 0 tak sudé.

Pro zjišťovaní zbytku po dělení je ve VB.NET operátor Mod.


Galerie

Program byl vytvořen v roce 2013.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 443x (88.08 kB)
Aplikace je včetně zdrojových kódů v jazyce VB.NET

 

Všechny články v sekci
Zdrojákoviště VB .NET - Okenní aplikace Windows Forms
Program pro vás napsal Michal Žůrek - misaz
Avatar
Uživatelské hodnocení:
3 hlasů
Autor se věnuje tvorbě aplikací pro počítače, mobilní telefony, mikroprocesory a tvorbě webových stránek a webových aplikací. Nejraději programuje ve Visual Basicu a TypeScript. Ovládá HTML, CSS, JavaScript, TypeScript, C# a Visual Basic.
Aktivity