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 |
Pro zvφdavΘ programßtory: Pou₧itφ operßtoru \ p°i
centrovßnφ formulß°e |
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:
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? |
|
Programovßnφ vφcevlßknov²ch aplikacφ |
||
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. |