NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - 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
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
29.4.2013 14:30
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.

 
Odpovědět
29.4.2013 19:34
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
30.4.2013 10:25
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.

 
Odpovědět
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.

 
Odpovědět
13.2.2015 17:25
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é.

 
Odpovědět
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 :)

 
Odpovědět
13.2.2017 16:32
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
 
Odpovědět
13.2.2017 16:48
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

 
Odpovědět
13.2.2017 19:15
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)
 
Odpovědět
13.2.2017 19:27
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.