VS debugger

Cvičení

3. ročník

Programování

SSŠVT

VS debugger

Refaktoring složitého matematického výrazu

Na vzorci pro výpočet obsahu vepsaného pravidelného mnohoúhelníku si ukážeme, jak debugovat kód ve VS.

S = r2 . n . sin(π / n) . cos(π / n)


Krok 1: Pravidelný mnohoúhelník s kružnicí opsanou

Je dán pravidelný mnohoúhelník (tj. takový geometrický obrazec, který má všechny strany stejně dlouhé a všechny vnitřní úhly stejně velké, je středově souměrný) a kružnice, která je tomuto mnohoúhelníku opsaná (prochází všemi jeho vrcholy, střed kružnice je v jeho středu souměrnosti).

Počet úhlů mnohoúhelníka je n. Jedná se tedy o n-úhelník.

Pravidelný šestiúhelník

Poloměr jeho opsané kružnice je r.

Triviálním případem takového pravidelného n-úhelníka je např. rovnostranný trojúhelník (pro n=3) nebo čtverec (pro n=4).

Čtverec Rovnostranný trojúhelník

Pak obsah takového pravidelného mnohoúhelníka se vypočte podle vzorce:

S = r2 . n . sin(π / n) . cos(π / n)


Krok 2: Konzolová aplikace

Založte konzolovou aplikaci v C# (pouze .NET, nikoliv .NET Framework), která uživatele vyzve, aby zadal poloměr opsané kružnice (r) a počet úhlů pravidelného mnohoúhelníka (n).

Aplikace pak vypočte obsah mnohúhelníka dle výše uvedeného vzorce a vypíše výsledek na konzoli.


Krok 3: Refactoring matematického výrazu

Přepište aplikaci tak, aby se výpočet obsahu mnohoúhelníka provedl ve více jednodušších krocích.

Příklad: Pokud bychom chtěli spočítat obvod obdélníka se stranami a a b podle vzorce:

o = a + b + a + b

(Jsou tam dvě strany o délce a a dvě strany o délce b.)

Obdélník

Pak chceme napřed např. vypočítat součet a a b, pak teprve celý výsledek:
o = (a + b) + (a + b)

Uděláme to třeba takto:

int a = 2;
int b = 3;
//int o = a + b + a + b;
int aPlusB = a + b;
int o = aPlusB + aPlusB;
        

Podobným způsobem rozepište vzorec pro obsah mnohoúhelníka. Udělejte "postupný" výpočet.