IntegrovanΘ prost°edφ rubriky Visual Basic

Autor: Jßn Hanßk

ZaΦφnßme s VB .NET

┌vod do sv∞ta .NET (11. dφl)

╚asovß nßroΦnost

(min):

45

ZaΦßteΦnφk

PokroΦil²

Profesionßl

Pou₧it² operaΦnφ systΘm : Hlavnφ v²vojov² nßstroj :

DalÜφ v²vojov² software :

Jin² software :

Windows 2000 SP3

Visual Basic .NET 2002

Äßdn²

Äßdn²

 

Nep°ehlΘdn∞te exkluzivnφ Specißl pro programßtory, kter² pojednßvß o jazykovΘ interoperabilit∞ mezi jazyky Managed Extensions for C++ a Visual Basic .NET.

 

Vß₧enφ Φtenß°i,

 

v jedenßctΘ lekci budeme pokraΦovat v problematice pou₧itφ operßtor∙ ve Visual Basicu .NET. Nejprve si p°edstavφme klasifikaci operßtor∙ v p°ehlednΘ form∞, abyste zφskali zßkladnφ p°ehled o vÜech kategoriφch operßtor∙, s nimi₧ se m∙₧ete v novΘ verzi programovacφho jazyka setkat. PotΘ p°ejdeme na bli₧Üφ v²klad aritmetick²ch a porovnßvacφch operßtor∙. P°eji vßm p°φjemnΘ poΦtenφ.

 

Obsah

Klasifikace operßtor∙

AritmetickΘ operßtory

Pro zvφdavΘ programßtory: Pou₧itφ operßtoru \ p°i centrovßnφ formulß°e

Porovnßvacφ operßtory

Pro zvφdavΘ programßtory: Generovßnφ nßhodn²ch Φφsel pod drobnohledem

 

á

Klasifikace operßtor∙

 

Visual Basic .NET obsahuje znaΦnΘ mno₧stvφ operßtor∙, kterΘ m∙₧ete pou₧φt p°i r∙zn²ch p°φle₧itostech. Abyste m∞li ihned ze zaΦßtku zßkladnφ p°ehled o operßtorech, rozd∞lφme si je na n∞kolik homogennφch skupin (tab. 1).

 

Kategorie operßtor∙

Charakteristika

AritmetickΘ operßtory

 

Mezi aritmetickΘ operßtory pat°φ tyto:

 

          operßtor pro sΦφtanφ (+)

          operßtor pro odΦφtanφ (-)

          operßtor pro nßsobenφ (*)

          operßtor pro d∞lenφ (/)

          operßtor pro celoΦφselnΘ d∞lenφ (\)

          operßtor zbytku po d∞lenφ (Mod)

          operßtor pro umoc≥ovßnφ (^)

 

AritmetickΘ operßtory se pou₧φvajφ p°i b∞₧n²ch matematick²ch operacφch s cel²mi Φφsly, nebo s Φφsly s desetinnou Φßstφ. á

 

Porovnßvacφ operßtory

 

Porovnßvacφ operßtory se vyu₧φvajφ p°i porovnßvßnφ hodnot dvou, nebo i vφce v²raz∙. Mezi porovnßvacφ operßtory za°azujeme tyto:

 

          operßtor rovnosti (=)

          operßtor nerovnosti (<>)

          operßtor menÜφ ne₧ (<)

          operßtor v∞tÜφ ne₧ (>)

          operßtor menÜφ nebo rovno (<=)

          operßtor v∞tÜφ nebo rovno (>=)

          operßtor Is

          operßtor Like

 

P°i°azovacφ operßtory

 

Skupina p°i°azovacφch operßtor∙ se ve Visual Basicu .NET znaΦn∞ rozrostla v d∙sledku zavedenφ tzv. zkrßcen²ch tvar∙ operßtor∙. Do tΘto kategorie pat°φ nßsledujφcφ operßtory:

 

          operßtor p°i°azenφ (=)

          zkrßcen² operßtor pro sΦφtanφ a p°i°azenφ (+=)

          zkrßcen² operßtor pro odeΦφtanφ a p°i°azenφ (-=)

          zkrßcen² operßtor pro nßsobenφ a p°i°azenφ (*=)

          zkrßcen² operßtor pro d∞lenφ a p°i°azenφ (/=)

          zkrßcen² operßtor pro celoΦφselnΘ d∞lenφ a p°i°azenφ (\=)

          zkrßcen² operßtor pro umoc≥ovßnφ a p°i°azenφ (^=)

          zkrßcen² operßtor pro z°et∞zenφ a p°i°azenφ (&=)

 

LogickΘ operßtory

 

LogickΘ operßtory se vklßdajφ do logick²ch v²raz∙, p°iΦem₧ pomocφ operßtor∙ lze zφskat pravdivostnφ hodnotu danΘho logickΘho v²razu. Tato pravdivostnφ hodnota m∙₧e poslΘze poslou₧it pro °φzenφ jin²ch programov²ch konstrukcφ (nap°. rozhodovacφ konstrukce If Φi cykl∙). Mezi logickΘ operßtory pat°φ tyto:

 

          operßtor And

          operßtor AndAlso

          operßtor Or

          operßtor OrElse

          operßtor Not

          operßtor Xor

 

Operßtory pro z°et∞zenφ

 

Operßtory tΘto kategorie se uplat≥ujφ p°i z°et∞zenφ dvou, nebo i n∞kolika operand∙ (tyto operandy mohou b²t °et∞zcovΘho typu (String), nebo i jinΘho typu). Mezi operßtory pro z°et∞zenφ pat°φ:

 

          operßtor pro z°et∞zenφ (&)

          operßtor pro z°et∞zenφ (+)

 

BitovΘ operßtory

 

BitovΘ operßtory se pou₧φvajφ p°i provßd∞nφ operacφ nad jednotliv²mi bity hodnot celoΦφseln²ch datov²ch typ∙. Do skupiny bitov²ch operßtor∙ pat°φ nßsledujφcφ zßstupci:

 

          bitov² operßtor And

          bitov² operßtor Or

          bitov² operßtor Not

          bitov² operßtor Xor

 

Jak si m∙₧ete vÜimnout, bitovΘ operßtory majφ stejnΘ nßzvy jako n∞kterΘ logickΘ operßtory. Ve skuteΦnosti ovÜem existuje pouze jedna verze t∞chto operßtor∙, ovÜem zp∙sob prßce operßtor∙ je determinovßn na zßklad∞ typu dodan²ch operand∙. Operßtor∙m, kter²ch Φinnost zßvisφ od urΦitΘho kontextu (v tomto p°φpad∞ od typu operand∙) se °φkß p°etφ₧enΘ operßtory. P°etφ₧enΘ operßtory jsou u₧iteΦnou programovacφ technikou, proto₧e operßtory äv∞dφô, co majφ provΘst se sv²mi operandy.

 

Specißlnφ operßtory

 

Visual Basic .NET mß v rukßvu rovn∞₧ dv∞ esa, kter²mi jsou dva specißlnφ operßtory:

 

          operßtor AddressOf

          operßtor GetType

 

Operßtor AddressOf umo₧≥uje p°φstup k runtime adrese procedury nebo funkce. Operßtor AddressOf se pou₧φvß nap°. p°i tvorb∞ delegßt∙, nebo p°i programovßnφ vφcevlßknov²ch aplikacφ.

 

Operßtor GetType vracφ typ vstupnφho objektu.

á

á

á

AritmetickΘ operßtory

 

AritmetickΘ operßtory m∙₧ete pou₧φt, kdykoliv budete pot°ebovat realizovat jistou aritmetickou operaci. Pravd∞podobn∞ nejΦast∞ji se budete setkßvat se zßkladnφmi aritmetick²mi operßtory, mezi kterΘ pat°φ operßtory pro sΦφtanφ, odΦφtßnφ, nßsobenφ a d∞lenφ. VÜechny tyto operßtory pracujφ tak, jak byste Φekali: Vezmou hodnoty sv²ch operand∙ a provedou p°φsluÜnou matematickou operaci. Zde m∙₧ete vid∞t n∞kolik p°φklad∙:

 

ááááááá Dim a, b, c, d As Integer

ááááááá a = 11 + 88

ááááááá b = 111 - 55

ááááááá c = b * 10

ááááááá d = CInt(c / 3)

ááááááá Me.Text = "a=" & a & " b=" & b & " c=" & c & " d=" & d

 

V uvedenΘm fragmentu zdrojovΘho k≤du se st°etßvßme s prom∞nn²mi a, b, c a d datovΘho typu Integer. V dalÜφch krocφch jsou prom∞nnΘ inicializovanΘ vypoΦten²mi hodnotami. Tyto hodnoty p°edstavujφ v²sledek prßce aritmetick²ch operßtor∙. Kdybyste tento k≤d umφstili do udßlostnφ procedury Click tlaΦφtka a spustili byste projekt, v titulkovΘm pruhu aktußlnφ instance formulß°e by se objevili pozm∞n∞nΘ hodnoty pou₧it²ch prom∞nn²ch: a=99, b=56, c=560 a d=187. I kdy₧ jsou v²slednΘ hodnoty prom∞nn²ch a, b a c vskutku pochopitelnΘ, jistΘ pochybnosti byste mohli mφt u prom∞nnΘ d. Hodnota prom∞nnΘ d je toti₧ 187, a to i p°esto, ₧e podφl Φφsel 560 a 3 je 186,6667. Jak je to mo₧nΘ? Tato skuteΦnost je zp∙sobena pou₧itφm konverznφ funkce CInt, kterß p°evede nßvratovou hodnotu operßtoru pro d∞lenφ do podoby celΘho Φφsla. P°ipomφnßm, ₧e konverznφ funkci CInt je nutnΘ pou₧φt v p°φpad∞, kdy pracujete s aktivovanou volbou Option Strict On. Kdy₧ operßtor / dokonΦφ svou prßci, vracφ zvyΦejn∞ v²slednφ hodnotu v podob∞ desetinnΘho Φφsla s dvojitou p°esnostφ (datov² typ Double). Nßvratovou hodnotu operßtoru p°evezme konverznφ funkce CInt, kterß p°etypuje p°edanou hodnotu na hodnotu datovΘho typu Integer. Jeliko₧ hodnoty typu Integer nemohou uchovßvat desetinnou Φßst Φφsla, je Φφslo zaokrouhleno. Tedy z p°esnΘ hodnoty 186,6667 se stane hodnota 187.

 

Pokud p°i programovßnφ nepou₧φvßte volbu Option Strict On, nemusφte konverznφ funkci CInt volat explicitn∞. Visual Basic p°evede p°etypovßnφ implicitn∞, ovÜem v²slednß hodnota ulo₧enß v prom∞nnΘ d bude stejnß (187).

ááá

Budete-li chtφt zφskat p°esnou hodnotu podφlu, m∙₧ete pou₧φt tento programov² k≤d:

 

ááááááá Dim a, b, c As Integer

ááááááá Dim d As Double

ááááááá a = 11 + 88

ááááááá b = 111 - 55

ááááááá c = b * 10

ááááááá d = c / 3

ááááááá Me.Text = "a=" & a & " b=" & b & " c=" & c & " d=" & d

 

Zcela jist∞ zajφmavΘ bude pou₧itφ operßtoru pro celoΦφselnΘ d∞lenφ (\):

 

ááááááá Dim x As Short = 100

ááááááá Dim y As Short = 26

ááááááá Me.Text = "V²sledek celoΦφselnΘho d∞lenφ je " & x \ y

 

Operßtor pro celoΦφselnΘ d∞lenφ (\) vyd∞lφ hodnotu levΘho operandu hodnotou pravΘho operandu a vrßtφ podφl v podob∞ celoΦφselnφ hodnoty (v naÜem p°φpad∞ jde o hodnotu 3). Jeliko₧ po äzavolßnφô operßtoru obdr₧φme celoΦφselnou hodnotu, nenφ zapot°ebφ pou₧φt ₧ßdnou konverznφ funkci. Krom∞ toho, celoΦφselnΘ d∞lenφ je v²poΦetn∞ mΘn∞ nßroΦnΘ jako p°esnΘ d∞lenφ, p°i kterΘm je v²sledkem Φφslo s pohyblivou desetinnou Φßrkou.

 

SprßvnΘ pou₧itφ operßtoru pro celoΦφselnΘ d∞lenφ m∙₧e v jist²ch situacφch znateln∞ ovlivnit rychlost vykonßvßnφ programovΘho k≤du. Nepot°ebujete-li p°φliÜnou p°esnost, dalo by se °φci, ₧e operßtor \ je pro vßs äto pravΘô.

 

Mnozφ programßto°i operßtor pro celoΦφselnΘ d∞lenφ neznajφ. Kdy₧ jej proto pou₧ijete ve vhodnΘ chvφli, m∙₧ete ukßzat, jak znalφ programßto°i jste. Jestli₧e se budete uchßzet o mφsto programßtora ve Visual Basicu a ukß₧ete znalost operßtoru pro celoΦφselnΘ d∞lenφ, vaÜe hodnota v oΦφch vaÜeho budoucφho zam∞stnavatele zcela jist∞ stoupne. Z tohoto pohledu lze pou₧itφ operßtoru \ p°irovnat pomyslnΘ t°eÜniΦce na dortu. á

 

Pro zvφdavΘ programßtory: Pou₧itφ operßtoru \ p°i centrovßnφ formulß°e

 

Formulß° (instance t°φdy Form1) lze umφstit do st°edu obrazovky pomocφ nßsledujφcφch °ßdk∙ zdrojovΘho k≤du:

 

áá Me.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) \ 2

áá Me.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) \ 2

 

P°i centrovßnφ formulß°e pou₧ijeme t°φdu Screen. T°φda Screen vÜak nedisponuje ve°ejn²m konstruktorem, a proto nelze p°φmo vytvo°it jejφ instanci. Instance t°φdy Screen se vytvo°φ v okam₧iku, kdy zavolßme ve°ejnΘ metody nebo vlastnosti tΘto t°φdy. V naÜem p°φpad∞ volßme vlastnost PrimaryScreen, kterß vrßtφ instanci t°φdy Screen. Vlastnost PrimaryScreen je sdφlenß (shared) a urΦena jenom pro Φtenφ (readonly). Kdy₧ zavolßme vlastnost PrimaryScreen, zjistφme primßrnφ zobrazovacφ jednotku (pokud poΦφtaΦ disponuje pouze jednou zobrazovacφ jednotkou, je vrßcena tato, v opaΦnΘm p°φpad∞ je vrßcena ta zobrazovacφ jednotka, kterß je nakonfigurovßna jako hlavnφ). Dßle volßme vlastnost Bounds, kterß vrßtφ instanci t°φdy Rectangle (takΘ vlastnost Bounds je urΦena jenom pro Φtenφ). Tato instance p°edstavuje obdΘlnφkov² region, jen₧ reprezentuje viditelnou plochu primßrnφ zobrazovacφ jednotky. V²Üku, resp. Üφ°ku obdΘlnφkovΘho regionu zφskßme prost°ednictvφm vlastnostφ Height a Width. Aby byl formulß° vyst°ed∞n, je nutnΘ od v²Üky, resp. Üφ°ky obdΘlnφkovΘho regionu odeΦφst v²Üku, resp. Üφ°ku formulß°e a nßsledn∞ zφskanΘ hodnoty vyd∞lit dv∞mi pomocφ operßtoru pro celoΦφselnΘ d∞lenφ (\).

 

P°edpoklßdejme, ₧e pou₧φvßte 17palcov² monitor s rozliÜenφm 1024x768 obrazov²ch bod∙. Spustφte-li uveden² k≤d, bude vlastnost Top formulß°e rovna hodnot∞ 234 a vlastnost Left zase hodnot∞ 362. P°i tomto v²poΦtu vychßzφme ze skuteΦnosti, ₧e rozm∞ry formulß°e majφ implicitnφ velikost 300x300 obrazov²ch bod∙ (viz obrßzek).

 

ááá

 

Budete-li chtφt zφskat zbytek po d∞lenφ, pou₧ijte operßtor Mod. Kup°φkladu nßsledujφcφ k≤d vytiskne do titulku okna hlßÜenφ äZbytek po d∞lenφ je 3ô:

 

ááááááá Dim m, n As Byte

ááááááá m = 23

ááááááá n = 4

ááááááá Me.Text = "Zbytek po d∞lenφ je " & m Mod n

 

Podφvejme se, proΦ je tomu tak. Algoritmus prßce operßtoru Mod probφhß p°ibli₧n∞ v t∞chto krocφch:

 

  1. Operand m je vyd∞len operandem n, tedy 23 / 4 = 5,75.
  2. Desetinnß Φßst podφlu je o°ezßna, zφskßvßme tedy celΘ Φφslo 5.
  3. Modifikovanß hodnota podφlu je vynßsobenß operandem n, tedy 5 * 4 = 20.
  4. Od operandu m je odeΦten vypoΦten² souΦin, tedy 23 - 20 = 3.

 

Aby byl nßÜ v²klad aritmetick²ch operßtor∙ ·pln², uka₧me si jeÜt∞ p°φklad operßtoru pro umoc≥ovßnφ:

 

ááááááá Dim k As Integer = 2, l As Integer = 8

ááááááá Me.Text = CStr(k ^ l)

 

VÜeobecnφ forma pou₧itφ operßtoru pro umoc≥ovßnφ je:

 

╚φselnß hodnota ^ exponent

 

V naÜem p°φpad∞ je vypoΦtena osmß mocnina Φφsla 2, kterß je rovna hodnot∞ 256. Operßtor ^ p°ed samotn²m v²poΦtem p°evede vÜechny operandy do datovΘho typu Double a na takto upraven²ch operandech je poslΘze provedena operace umocn∞nφ. Nßvratovß hodnota operandu je op∞t datovΘho typu Double, tak₧e pou₧φvßte-li volbu Option Strict On, budete muset v p°φpad∞ pot°eby uskuteΦnit explicitnφ p°etypovßnφ zφskanΘ hodnoty.

 

Exponentem p°itom m∙₧e b²t jak²koliv numerick² v²raz:

 

ááááááá Dim k As Integer = 2, l As Integer = 8

ááááááá Me.Text = CStr(k ^ (l * 2 - 6))

 

Tento programov² k≤d vypoΦφtß desßtou mocninu Φφsla 2, co₧ je 1024.

 

 

Porovnßvacφ operßtory

 

Porovnßvacφ operßtory porovnßvajφ v²razy nebo Φßsti v²raz∙ a na zßklad∞ v²sledk∙ porovnßnφ vracejφ jistou pravdivostnφ hodnotu (bu∩ hodnotu True nebo False). Vφce informacφ nabφzφ tab. 2.

 

Porovnßvacφ operßtor

Operandy

V²sledkem je pravdivostnφ hodnota True

V²sledkem je pravdivostnφ hodnota False

Operßtor rovnosti (=)

a, b

a = b

a <> b

Operßtor nerovnosti (<>)

a, b

a <> b

a = b

Operßtor menÜφ ne₧ (<)

a, b

a < b

a >= b

Operßtor v∞tÜφ ne₧ (>)

a, b

a > b

a <= b

Operßtor menÜφ nebo rovno (<=)

a, b

a <= b

a > b

Operßtor v∞tÜφ nebo rovno (>=)

a, b

a >= b

a < b

 

Ukßzku pou₧itφ porovnßvacφch operßtor∙ p°inßÜφ dalÜφ fragment zdrojovΘho k≤du:

 

ááááááá Dim q, v As Short

ááááááá Randomize()

ááááááá q = CShort(Int((10 * Rnd()) + 1))

ááááááá If q >= 1 And q <= 5 Then

ááááááááááá For v = 1 To q

ááááááááááááááá Debug.WriteLine("Bylo vygenerovßno Φφslo " & q)

ááááááááááá Next v

ááááááá End If

 

V tomto k≤du jsou deklarovanΘ dv∞ prom∞nnΘ (q, v) datovΘho typu Short. P°φkaz Randomize inicializuje generßtor nßhodn²ch Φφsel, Φili je patrnΘ, ₧e se budeme pokouÜet o zφskßnφ nßhodn²ch Φφsel z jistΘho ΦφselnΘho intervalu. Tento interval je tvo°en Φφsly 1 a₧ 10, p°iΦem₧ pro vygenerovßnφ nßhodn²ch Φφsel pou₧φvßme funkci Rnd. Funkce Rnd je v naÜem p°φpad∞ vno°ena do funkce Int (pokud byste se cht∞li dozv∞d∞t o generovßnφ nßhodn²ch Φφsel vφce, nep°ehlΘdn∞te ostr∙vek pro zvφdavΘ programßtory dßle v tomto textu). ZφskanΘ nßhodnΘ Φφslo je p°etypovßno do datovΘho typu Short a p°i°azeno do prom∞nnΘ q. Pokud hodnota prom∞nnΘ q z intervalu <1,5> je aktivovßn cyklus For-Next, kter² do okna Output vypφÜe uvedenou zprßvu (zprßva bude vypsanß n-krßt, kde n je obdr₧enΘ nßhodnΘ Φφslo z intervalu <1,5>).

 

Pro zvφdavΘ programßtory: Generovßnφ nßhodn²ch Φφsel pod drobnohledem

 

Pro generovßnφ nßhodn²ch Φφsel se zvyΦejn∞ pou₧φvß funkce Rnd spoleΦn∞ s p°φkazem Randomize. Nenφ-li p°φkaz Randomize nßsledovßn numerickou hodnotou, kterß by inicializovala generßtor nßhodn²ch Φφsel, je generßtor inicializovßn na zßklad∞ hodnoty zφskanΘ prost°ednictvφm systΘmovΘho Φasu (p°esn∞ji jde o nßvratovou hodnotu funkce Timer). P°φkaz Randomize nemusφ b²t v∙bec aplikovßn; v tomto p°φpad∞ je funkce Rnd inicializovßna posledn∞ vygenerovan²m Φφslem.

 

Funkce Rnd vracφ hodnotu, kterß m∙₧e b²t v∞tÜφ nebo rovna ne₧ nula, ovÜem je v₧dy menÜφ ne₧ 1. Takto zφskanß hodnota ovÜem nenφ zvyΦejn∞ pou₧itelnß, a proto je n∞jak smyslupln∞ upravena. Vygenerovanß hodnota tak m∙₧e b²t t°eba vynßsobena jist²m Φφslem (nejΦast∞ji mocninou Φφsla 10). ╚φslo, kterΘ bylo vytvo°eno pomocφ funkce Rnd, je ulo₧eno ve tvaru datovΘho typu Single (jde tedy o Φφslo s desetinnou Φßstφ). Proto₧e p°i generovßnφ nßhodn²ch Φφsel se ve v∞tÜin∞ experiment∙ nepou₧φvß prßv∞ ona desetinnß Φßst Φφsla, b²vß tato odstran∞na. Existujφ dva zp∙soby, pomocφ kter²ch lze äzlikvidovatô desetinnou Φßst nßhodnΘho Φφsla:

 

1. Zaokrouhlenφ nßhodnΘho Φφsla áááááá

2. O°ezßnφ desetinnΘ Φßsti nßhodnΘho Φφsla

 

K zaokrouhlenφ nßhodnΘho Φφsla podle znßm²ch matematick²ch pravidel dochßzφ p°i nßsledujφcφch p°φle₧itostech:

 

1.      P°i p°i°azenφ nßhodnΘho Φφsla do celoΦφselnΘ prom∞nnΘ. V tomto okam₧iku je implicitn∞ realizovßna konverze nßhodnΘho Φφsla z datovΘho typu Single do cφlovΘho celoΦφselnΘho datovΘho typu.á á

2.      P°i explicitn∞ realizovanΘ konverzi pou₧itφm vhodnΘ konverznφ funkce, nap°. CInt nebo CShort.

 

O°ezanφ desetinnΘ Φßsti nßhodnΘho Φφsla lze uskuteΦnit zavolßnφm funkce Int nebo funkce Fix. Ob∞ funkce odstra≥ujφ desetinnou Φßst nßhodnΘho Φφsla, ovÜem p°i prßci se zßporn²mi Φφsly se chovajφ pon∞kud odliÜn∞ (tato odliÜnost nßs ale nemusφ zajφmat, proto₧e my pracujeme pouze s kladn²mi Φφsly).

 

Budete-li chtφt zφskat nßhodnΘ celΘ Φφslo z jistΘho intervalu, pou₧ijte tuto magickou formulku:

 

Prom∞nnß = Int ((Hornφ hranice intervalu û Dolnφ hranice intervalu + 1) * Rnd() + Dolnφ hranice intervalu)

 

Pro interval <0, 100> bude programov² k≤d vypadat takto:

 

ááááááá Prom∞nnß = CInt(Int((100 - 1 + 1) * Rnd()) + 1)

 

Aby k≤d vypadal uhlazen∞, upravφme jej takto:

 

á

ááááááá Prom∞nnß = CInt(Int(100 * Rnd()) + 1)

ááááááá

Algoritmus generovßnφ nßhodnΘho Φφsla mß p°ibli₧n∞ tuto podobu:

 

1.      Funkce Rnd vrßtφ nßhodn∞ vybranou numerickou hodnotu typu Single z intervalu <0, 1). Pov∞zme, ₧e funkce Rnd vybere hodnotu 0.234.

2.      Hodnota 0.234 je vynßsobena hodnotou 100, Φφm₧ zφskßvßme mezihodnotu 23.4.

3.      Funkce Int odstranφ desetinnou Φßst mezihodnoty, na co₧ se z Φφsla s desetinnou Φßstφ stane celΘ Φφslo 23.

4.      K hodnot∞ 23 je p°ipoΦtena hodnota dolnφ hranice zvolenΘho intervalu (v naÜem p°φpad∞ 1). Dostßvßme tak koneΦnou podobu nßhodnΘho Φφsla 24.á á

 

 

 

Prßv∞ jste doΦetli 11. dφl serißlu ZaΦφnßme s VB .NET.á

 

Jestli₧e se chcete dozv∞d∞t vφce informacφ o programovßnφ ve Visual Basicu .NET, nevßhejte a navÜtivte takΘ dalÜφ sekce rubriky Visual Basic. A jakß₧e je dneÜnφ nabφdka?

TΘma m∞sφce

Programovßnφ vφcevlßknov²ch aplikacφ

Programßtorskß laborato°

Tvorba zapeΦet∞nΘ t°φdy

P°φstup k registr∙m operaΦnφho systΘmu Windows

Vytvß°enφ vlastnφho delegßta

 

Nep°ehlΘdn∞te exkluzivnφ Specißl pro programßtory, kter² pojednßvß o jazykovΘ interoperabilit∞ mezi jazyky Managed Extensions for C++ a Visual Basic .NET.