NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 6 - Cykly ve VB.NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
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.

Odpovědět
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá 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.

Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Odpovědět
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá 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.

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.

Avatar
Odpovídá 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é.

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 :)

Avatar
Odpovídá 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"
Editováno 13.2.2017 16:50
Avatar
Jirka
Člen
Avatar
Odpovídá 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

Avatar
Odpovídá 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)
Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 11.