Hallo Martin,
ja, Marci. Ist doch logisch ;)
Ich identifiziere folgende Regeln (und übersehe vermutlich Ausnahmen):
- Sei
$string
die zu inkrementierende Zeichenkette. - Setze
$p
aufLEN($string)-1
. - Ist
$p == -1
, beende die Operation mit"1"
als Ergebnis. - Setze
$c
auf$string[$p]
- Ist
$c
ein Match für/[0-8A-Ya-y]/
, inkrementiere seinen Zeichencode um 1, schreibe$c
nach$string[$p]
und beende die Operation mit$string
als Ergebnis. - Ist
$c == "9"
, setze$c
auf"0"
- Ist
$c == "Z"
, setze$c
auf"A"
- Ist
$c == "z"
, setze$c
auf"a"
- Schreibe
$c
nach$string[$p]
- Setze
$p
auf$p - 1
. Solange$p
nicht negativ ist, setze bei 4. fort. - Ist
$c == "a"
oder$c == "A"
, setze$string
auf$c . $string
. Andernfalls setze$string
auf"1" . $string
. - Beende die Operation.
Testfragen: Nenne die Nachfolger von "19Z", "1Z99", "zzz", "zzZ" und "Zzz".
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi