Programujeme ve Visual Basic .NET - 3.díl - proměnné

Visual Basic .NET - zkráceně VB.NET - je jedním z programovacích jazyků pro Microsoft .NET Framework podporovaných společností Microsoft ve vývojovém prostředí Visual Studio .NET. V tomto dílu se budeme věnovat funkci a použití proměnných v prostředí VB.NET a na konkrétním příkladu se seznámíme s některými zásadami uživatelského rozhraní.

Proměnné a jejich použití

Proměnné hrají při programování stejně důležitou roli, jako v matematice. Prakticky každý větší program používá proměnné pro opakovanou práci s daty a dosazování hodnot, podobně jako matematici počítají se vzorci. Dejme tomu, že potřebujeme napsat program, který nám spočítá obvod kružnice podle známého vzorečku:

obvod = 2 ∙ π ∙ polomer
kde π je tzv. Ludolfovo číslo (3.1415926535897932384626433832795..., tj. přibližně 3.1416)

Pokud předem známe hodnotu poloměru - např. 4 cm - můžeme do vzorce hodnotu poloměru dosadit a na základě dosavadních znalostí sestavit jednoduchý program ve VB.NET:

Module modMain
  Sub Main
    System.Console.WriteLine(2 * 3.1416 * 4)
  End Sub
End Module

Pokud program zkopírujeme do editoru Snippet Compiler (pokud jste tak již neučinili, věnujte přitom prosím pozornost správné konfiguraci podle 2. dílu našeho seriálu) a spustíme tlačítkem se zelenou šipkou, získáme následující správný výsledek (taktéž v cm):

25.1328

Nyní jasně vidíme nevýhodu tohoto postupu: pokud bychom potřebovali spočítat výsledek pro jinou hodnotu poloměru, náš program je uživateli bez užitku. Museli bychom uživateli dát zdrojový kód, aby si jej upravil a znovu zkompiloval, a tím jej postavit do role programátora. Je jasné, že se takto v praxi nepostupuje.

Obvyklý postup je v podobných případech takový, že se v programu vyhradí část paměti počítače pro předem určená data a s ním se pak provádí operace stejně, jako kdyby to bylo pevně zadané číslo. Pojmenovaná oblasti paměti se nazývá proměnná. Na začátku se do této proměnné načte hodnota, následně se s ní provede výpočet a zobrazí výsledek. K načtení hodnoty proměnné do programu lze použít metodu, System.Console.ReadLine(), kterou již známe z úvodní ukázky (viz první díl seriálu) a k přiřazení se používá znak rovnítko "=":

polomer = System.Console.ReadLine()

Jakmile VB.NET na takovéto přiřazení narazí, vyhradí v paměti počítače určitý prostor a naplní je daty, která uživatel z příkazového řádku odeslal klávesou Enter. S těmito daty pak můžeme provést výpočet obvodu kružnice, jako kdyby to bylo přímo toto zadané číslo:

System.Console.WriteLine(2 * 3.1416 * polomer)

Pokud celý program sestavíme, bude vypadat následovně:

Module modMain
  Sub Main
    polomer = System.Console.ReadLine()
    System.Console.WriteLine(2 * 3.1416 * polomer)
  End Sub
End Module

Po jeho přeložení a spuštění v editoru Snippet Compiler se zobrazí černé okno systémové konzole. Pokud do něj zapíšeme nějakou vhodnou hodnotu poloměru a stiskneme klávesu Enter, program nám prakticky okamžitě vrátí požadovaný výsledek, např.:

Klepněte pro větší obrázek

Nyní se můžeme přesvědčit, že pokud jsme zadali stejnou hodnotu poloměru jako v případě, kdy byla zapsána přímo do zdrojového kódu, program vrátí stejný výsledek. V případě, že zadáme hodnotu poloměru jinou (vyšší, nebo nižší), program vrátí odpovídající hodnotu obvodu kružnice - vyšší, nebo nižší. Náš program tedy funguje zcela univerzálně, ale určitě existuje spousta možností, jak ho dále vylepšovat.

Zásady uživatelského rozhraní

První potíž, kterou jistě brzy postřehneme je, že program po spuštění vlastně nic neprovádí - jen čeká na vstup uživatele, takže - pokud nejsme jeho autory (a nenapsali jsme jej dříve, než před týdnem...) - prakticky netušíme, co se právě děje a co od nás program chce. Velmi důležitou zásadou pro tvorbu uživatelsky příjemných programu je, aby s uživatelem komunikovaly tak, aby jejich použití vyžadovalo minimální studium nápovědy, či uživatelské dokumentace. Z toho vyplývá, že dobře napsaný program by měl v první řadě by uživatele informovat, co vlastně dělá, popř. jak danou činnost provádí, aby uživatel mohl posoudit, zda je pro jeho potřeby vhodný. Pokud aplikace vypisuje nějaké výsledky, měla by uživateli sdělit, čeho se týkají, jaké jsou použité jednotky, apod. A co především - pokud program od uživatele něco chce, měl by o to uživatele slušně požádat a pokud to nedostane, měl by uživatele na tuto skutečnost vhodným způsobem upozornit.

Se znalostí příkazu System.Console.WriteLine() realizace výše uvedených zásad není problém - proto do našeho programu připíšeme následující řádky:

Module modMain
  Sub Main
    System.Console.WriteLine("Program pro výpočet obvodu kruhu na základě zadané hodnoty poloměru")
    System.Console.WriteLine()
    System.Console.WriteLine("Výpočet probíhá podle vzorce Obvod = 2 * pi * polomer")
    System.Console.WriteLine("Nyní prosím zadejte hodnotu poloměru [cm]")
    polomer = System.Console.ReadLine()
    System.Console.WriteLine("Obvod kruhu [cm]:")
    System.Console.WriteLine(2 * 3.1416 * polomer)
  End Sub
End Module

Pokud upravený program spustíme, bude se chovat v duchu uvedených zásad zcela korektně a vypíše nejprve informaci o své funkci, potom požádá o vstupní údaje, posléze oznámí výsledek a nakonec jej vypíše. Z výpisů systémové konzole je přitom zjevné celé použití programu:

Klepněte pro větší obrázek

Stručné shrnutí

Na konkrétním příkladu jsme se seznámili s funkcí a použitím proměnných hodnot v programu VB.NET. Proměnnou tvoří datová struktura v paměti, která je za běhu programu přiřazená určité hodnotě operátorem přířazení = (rovnítko). Dále jsme si prakticky předvedli některé z hlavních zásad komunikace uživatele s programem. V dalším dílu seriálu si tyto zásady dále rozvedeme a seznámíme se se způsoby, jakým se v prostředí VB.NET programu ošetřují chyby, ke kterým může dojít např. při nesprávně zadané vstupní hodnotě.

Diskuze (65) Další článek: Novinka v USA: spamování přes Wi-Fi

Témata článku: Software, Microsoft, Programování, Program, Stejný výsledek, Vhodný font, Správný výsledek, Vhodný uživatel, Jednoduchý vzorec, Určitý prostor, Dosavadní znalost, Pros, Spousta možností, Visual, O Kruhu, Ludolf, Důležitá role


Určitě si přečtěte

Zapomeňte na kometu, české nebe každý den křižují mnohem zajímavější kousky

Zapomeňte na kometu, české nebe každý den křižují mnohem zajímavější kousky

** České nebe každý den křižuje hromada exotických letounů ** Na populární mapě Flightradar24 je ale nenajdete ** Jsou to vojenské letouny USA, UK a NATO

Jakub Čížek | 39

Z rozmazané šmouhy krásná fotka. Takhle kouzlí nová umělá inteligence MyHeritage

Z rozmazané šmouhy krásná fotka. Takhle kouzlí nová umělá inteligence MyHeritage

** MyHeritage slibuje nejlepší neuronovou síť pro vylepšování fotek ** Funguje tím líp, čím horší fotku upravuje ** Otestovali jsme desítky různých snímků

Marek Lutonský, Lukáš Václavík | 39

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

** Nvidia uvedla nové desktopové grafické karty GeForce RTX 3000 ** Jedná se o modely GeForce RTX 3070, 3080 a 3090 ** K výrobě se používá 8nm technologii od Samsungu

Karel Javůrek | 67


Aktuální číslo časopisu Computer

Megatest mobilů do 8 000 Kč

Test bezdrátových headsetů

Linux i pro začátečníky

Jak surfovat anonymně