Ověření rodného čísla

Každé rodné číslo občana ČR má až na výjimky v sobě zabudovaný mechanismus pravosti. RČ je validní, pokud je dělitelné 11 beze zbytku. Celkem budeš řešit 3 úkoly:

  1. Zadané RČ program pomocí podprogramu (vlastní funkce) ověří a vrátí, zda je validní.
  2. Další podprogram před ověřením zkontroluje, zda má zadané číslo právě 10 cifer.
  3. Další podprogram vrátí informaci o pohlaví (pokud projde předchozími testy).

Rozbor: V PHP slouží pro operaci celočíselného dělení funkce floor(), kde argumentem je výraz. Např. floor(9/4) vrátí číslo 2. Pro operaci modulo slouží standardní operátor %. Univerzální řešení počtu cifer nezávislé na jazyku je následující: Číslo postupně celočíselně dělíš číslem 10 dokud nedostaneš 0. Počet cyklů je hledaný počet cifer. Klíčem k určení pohlaví je 3. cifra zleva. K té se dopracuješ tak, že číslo celočíselně vydělíš číslem 10 milionů (to vrátí první tři cifry) a s výsledkem provedeš operaci modulo 10 (to vrátí poslední cifru z trojice).

Celkem tedy půjde sestavit program se třemi samostatnými podprogramy, kde každý bude testovat jednu věc. Podmínkou řešení je, že každý podprogram může vracet pouze jeden ze dvou stavů: return 1 (pro stav True) nebo return 0 (pro stav False).

Online generátor RČ pro ověření: https://www.daytl.com/cs/birthnumber/.