IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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 14 - Matematické funkce v C# a knihovna Math

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
Jan Jurčík
Člen
Avatar
Odpovídá na DarkCoder
Jan Jurčík:4.1.2023 0:05

Chápu, díky.

Ještě se ale zeptám, možná blbě. Je modulo totéž, co v matematice čitatel ze zbytku, vyjádřeném zlomkem? (jen pro snazší představu)

Odpovědět
4.1.2023 0:05
"Až mě jednou zabijou, zahrabte mě ksichtem směrem dolů, aby mi celá armáda mohla políbit prdel." Blair &qu...
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jan Jurčík
DarkCoder:4.1.2023 0:17

Není zač.

K otázce: Ano, je. Viz matematické dělení v mém předchozím příspěvku:

10 / 4 = 2,5 tedy Q = 2, R = 2/4 (dvě čtvrtiny).

Hodnota 2 v čitateli odpovídá zbytku po celočíselném dělení..

Dívej se na to takto:
Na stole máš 8 pastelek, můžeš brát vždy skupiny po 3 pastelkách.. Můžeš sebrat 3, pak další 3 a pak už nic. Na stole zůstaly 2 pastelky. To je tedy výsledek (2) operace modulo.

Odpovědět
4.1.2023 0:17
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Alžběta Čecháková:4.2.2023 18:45

toto mi dost pomohlo,super

 
Odpovědět
4.2.2023 18:45
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Kateřina Zákostelská
David Novák:28.9.2023 6:30

Ahoj Kateřino, děkujeme za podnět, který jsem předal k řešení.

 
Odpovědět
28.9.2023 6:30
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Jaroslav Drobek
David Novák:28.9.2023 6:35

Ahoj Jaroslave, děkujeme za podnět. Lekci jsem předal k aktualizaci.

 
Odpovědět
28.9.2023 6:35
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na barnabas.666
David Novák:28.9.2023 6:38

Ahoj, děkujeme za podnět. Lekci jsem předal k aktualizaci.

 
Odpovědět
28.9.2023 6:38
Avatar
Petr Vecko
Člen
Avatar
Petr Vecko:23. března 8:33

Ahoj, nevím jak pochopit dvě následující tvrzení, která se mi zdají být v rozporu (asi se chybička vloudila):

  1. "Truncate() nezaokrouhluje, pouze odtrhne desetinnou část."

Zdroj: https://www.itnetwork.cz/…ticke-funkce

  1. "Pokud vás napadlo, že Floor() a Truncate() dělají to samé, chovají se jinak u záporných čísel. Tehdy Floor() zaokrouhlí na číslo více do mínusu, Truncate() zaokrouhlí vždy k nule."

Zdroj: https://www.itnetwork.cz/…ticke-funkce

Předem díky za případné vysvětlení. Pěkný den :)

 
Odpovědět
23. března 8:33
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Petr Vecko
DarkCoder:23. března 13:33

Obě tvrzení jsou v pořádku a nejsou v rozporu. Jsou jen podané každé jinak. Když totiž odtrháváš desetinnou část, tak tím získáváš hodnotu bližší nule. Podívej se na výsledky v příkladu, doplněné ještě o Ceiling a Round.

using System;

class Program
{
    static void Main()
    {
        double[] numbers = { 1.8, 1.2, -1.2, -1.8 };

        foreach (var number in numbers)
        {
            Console.WriteLine($"Pro číslo {number}:");
            Console.WriteLine($"Truncate: {Math.Truncate(number)}");
            Console.WriteLine($"Floor: {Math.Floor(number)}");
            Console.WriteLine($"Ceiling: {Math.Ceiling(number)}");
            Console.WriteLine($"Round: {Math.Round(number)}");
            Console.WriteLine();
        }
    }
}

Shrnutí:

Truncate - zaokrouhlení směrem k nule (ořiznutí desetinné části)
Floor - zaokrouhlení k nižšímu (doleva)
Ceiling - zaokrouhlení k vyššímu (doprava)
Round - zaokrouhlení k bližšímu

Pro zaokrouhlení směrem od nuly si funkci musíš napsat svoji:

static double RoundAwayFromZero(double number)
{
    if (number >= 0)
    {
        return Math.Ceiling(number);
    }
    else
    {
        return Math.Floor(number);
    }
}
Editováno 23. března 13:33
Odpovědět
23. března 13:33
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Petr Vecko
Člen
Avatar
Odpovídá na DarkCoder
Petr Vecko:23. března 14:09

Moc díky za vysvětlení! Měl jsem se víc zamyslet nad významem těch dvou vět dohromady. Na první dobrou mě trklo, že jednou tam je psáno, že se nezaokrouhluje, pak že zaokrouhluje vždy k nule, a nedošlo mi, že se v té druhé větě jen nešťastně pojmenovalo to samé odtrhnutí desetinné části jiným slovem, tedy jako zaokrouhlení. :)

Editováno 23. března 14:10
 
Odpovědět
23. března 14:09
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 9 zpráv z 49.