Opakování

Konvertování, matematické operace

5. hodina PVA


Matěj Cajthaml — SSPŠ

©

Opakování

Co je to algoritmus?
Co musí algoritmus splňovat?
Čím se liší konstanta a proměnná?
Čím se liší datový typ int, long a short?
Čím se liší datový typ ulong a long?

Opakování

Jak spojíme dva textové řetězce?
K čemu slouží hodnota null?
Jak vymažeme konzoli?
Jaký je rozdíl mezi metodou Write() a WriteLine() v třídě Console?
Jaké znáte matematické operace, jak se zapisují v C#?

Konverze

Konverze

  • = převádění
  • často potřebujeme převést hodnoty mezi sebou
  • textový řetězec → celé číslo

Řetězec

  • převedení hodnot na textovou hodnotu
  • hodnoty můžeme dále upravovat

Implicitní převody

  • stejné datové typy
  • převáděný datový typ se do jiného datového typu vejde
  • vždy zůstane zachována hodnota

Explicitní převody

  • převáděný datový typ se do jiného datového typu nemusí vejít
  • přenost či nějaká data — hodnoty se mohou ztratit

Konverze pomocí datových typů

  • u většiny datových typů
  • předpřipravená metoda Parse

Konverze pomocí Convert

  • předpřipravená třída Convert
  • různé převádění hodnot mezi datovými typy

Jaký je problém těchto konverzí?

Neplatné hodnoty

  • když zadáme špatnou hodnotu, program vyvolá výjimku a spadne
  • více o výjimkách si řekneme později

Limity Parse

  • nepovoluje null hodnoty

Limity Convert

  • povoluje null hodnoty

Co vypíše následující kód?

Složené přiřazení

  • zrychlený zápis operací v C#
  • skoro na všechny operátory

Ukázky

Složitější matematické operace

Třída Math

  • předpřipravená třída pro složitější operace
  • např. mocniny, odmocniny, absolutní hodnota, zaokrouhlování, ...
  • konstanty: π, ε

Zaokrouhlování

Trigonometrické

Různé operace

Konstanty

Textové funkce

Textové funkce

  • slouží k úpravě či čtení údajů z textu
  • např. zjištění délky textu, smazání bílých znaků, nahrazení
  • např. změna velikosti písmen, zjištění zda text obsahuje zadané slovo, ...

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/