Posamezni znak niza ima tudi svojo številsko kodo. Med znakom (pravzaprav nizom dolžine 1) in njegovo kodo lahko pretvarjamo s funkcijama chr
in ord
.
To, katera koda pripada kateremu znaku, je določeno s standardom Unicode, o katerem bomo izvedeli več v enem od kasnejših poznejših tega učbenika.
(a) Napiši funkcijo Kode(s)
, ki kot parameter dobi niz s
in izpiše zaporedje številskih kod njegovih znakov.
(b) Ugotovi, katere kode pripadajo velikim črkam, malim črkam (tudi šumnikom), števkam in presledku.
(c) Izpiši po vrsti znake s kodami od 32 do 127.
S pomočjo teh številskih kod znakov lahko nize postavimo v nekakšen vrstni red, ki mu pravimo leksikografski vrstni red. V tem vrstnem redu primerjamo dva niza tako, da primerjamo istoležne znake obeh nizov, dokler ne naletimo na prvo neujemanje; tisti niz, ki ima tam znak z manjšo kodo, je v leksikografskem vrstnem redu pred drugim nizom. (Če sta niza različno dolga in pridemo prej do konca krajšega niza kot do morebitnega neujemanja, pa določimo, da je krajši niz v leksikografskem vrstnem redu pred daljšim.)
Nize lahko glede na ta vrstni red primerjamo z operatorji <
, >
, <=
in >=
. Z operatorjema ==
in !=
lahko tudi preverimo, če sta dva niza enaka oz. različna.
Na podlagi tega, kar si se zgoraj naučil(-a) o številskih kodah znakov, pojasni, zakaj so rezultati teh primerjav takšni, kot so. Opiši, kako se leksikografski vrstni red razlikuje od abecednega.