IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 6. diel - Cykly vo Visual Basicu

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Kit
Tvůrce
Avatar
Kit:29.4.2013 14:30

Je škoda, že modifikaci řídící proměnné uvnitř cyklu neohlásí překladač jako chybu.

Odpovedať
29.4.2013 14:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Michal Žůrek - misaz:29.4.2013 19:34

Ono to totiž chyba není, občas se toho může využít. Pouze to však nedoporučuje.

 
Odpovedať
29.4.2013 19:34
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Kit:30.4.2013 10:25

Sice mě napadlo, jak by se toho dalo využít, ale takové hnusné hacky se do programů dávat nemají. Je lepší, když se programátor drží vlastního pravidla, že modifikování řídící proměnné cyklu mimo jeho hlavičku je zakázáno.

Odpovedať
30.4.2013 10:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Michal Žůrek - misaz:30.4.2013 11:05

Využít se toho dá, ale většinou to lze řešit i jinak.

 
Odpovedať
30.4.2013 11:05
Avatar
Ondrej_d
Člen
Avatar
Ondrej_d:13.2.2015 17:25

Zdravim, objavil som tento fantasticky tutorial na VB a chcem autorovi podakovat za skvelu pracu! Pustil som sa do toho a za jeden den som sa bol schopny naucit zaklady VB co je uplne uzasne!

tiez by som sa chcel opytat ze preco nefunguje mocninator?
Ak som chcel aby pocital spravne, musel som odpocitat od n 2:

Console.Write­Line("Mocniná­tor")
Console.Write­Line("========­==")
Console.Write­Line("Zadejte základ mocniny: ")
Dim a As Integer = Console.ReadLine()
Console.Write­Line("Zadejte exponent: ")
Dim n As Integer = Console.ReadLine()

Dim vysledek = a
For i = 0 To (n - 2)
vysledek = vysledek * a
Next
Console.Write­Line("Výsledek: {0}", vysledek)
Console.Write­Line("Děkuji za použití mocninátoru")
Console.ReadKey()

len takto som dostaval spravny vysledok.

 
Odpovedať
13.2.2015 17:25
Avatar
Odpovedá na Ondrej_d
Michal Žůrek - misaz:13.2.2015 18:45

jo máš pravdu, protože zcela podle záměru by to mělo být

Console.WriteLine("Mocninátor")
Console.WriteLine("==========")
Console.WriteLine("Zadejte základ mocniny: ")
Dim a As Integer = Console.ReadLine()
Console.WriteLine("Zadejte exponent: ")
Dim n As Integer = Console.ReadLine()

Dim vysledek = 1
For i = 1 To n
        vysledek = vysledek * a
Next
Console.WriteLine("Výsledek: {0}", vysledek)
Console.WriteLine("Děkuji za použití mocninátoru")
Console.ReadKey()

ale i tvoje řešení je správné.

 
Odpovedať
13.2.2015 18:45
Avatar
Jirka
Člen
Avatar
Jirka:13.2.2017 16:32

Chtěl jsem si vyzkoušet funkci PadLeft k té násobilce. V lekci 4 bylo zmíněno, že později se k tomu dostaneme a nyní si to můžeme vyzkoušet, ale funkce PadLeft nebyla ještě pořádně vysvětlena :)

 
Odpovedať
13.2.2017 16:32
Avatar
Odpovedá na Jirka
Michal Žůrek - misaz:13.2.2017 16:48

Funkce PadLeft vrátí string odsazený na danou velikost. Například když máš string "ahoj" a chceš ho třeba zarovnávat do sloupce o velikosti 10 znaků. Tak dáš

Dim doSloupce = "ahoj".PadLeft(10)

což do proměnné doSloupce uloží 6 mezer a ahoj, tedy(bez uvozovek)

"      ahoj"

ještě tam můžeš uvést jakým znakem se má odsazovat.

Dim doSloupce = "ahoj".PadLeft(10, "!")
 ' doSloupce = "!!!!!!ahoj"
Editované 13.2.2017 16:50
 
Odpovedať
13.2.2017 16:48
Avatar
Jirka
Člen
Avatar
Odpovedá na Michal Žůrek - misaz
Jirka:13.2.2017 19:15

Děkuji za promptní odpověď :) Ještě bych se v této souvislosti zeptal, v případě že mám číslo kde je rozmezí 1-3 znaků(1,10,100), je možné udělat odsazení? např. k jednocifernému číslu přidej 2 mezery a k dvojcifernému 1 mezeru atd.?

Děkuji

Jirka

 
Odpovedať
13.2.2017 19:15
Avatar
Odpovedá na Jirka
Michal Žůrek - misaz:13.2.2017 19:27

samozřejmě. Převedeš číslo na text a pak už s tím pracuješ stejně jako jsem ukázal výš.

Dim cislo = 5
Dim text = cislo.ToString()
Dim odsazeno = text.padLeft(3)
 
Odpovedať
13.2.2017 19:27
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!