Programma di esempio PALIND.PRT |
; PALIND
;
; Programma per Proteus
;
; (C) 1998-2003 Simone Zanella Productions
;
; Stampa tutti i palindromi pił lunghi di due caratteri trovati
; nell'ingresso.
FUNCTION ONSTART()
IF STREQ(ARGV(3), "..")
CONSOLELN "Sintassi: " ARGV(1) " " ARGV(2) " sorgente destinazione"
CONSOLELN ""
CONSOLELN "Scopo: scrive su destinazione i palindromi in sorgente"
ABORT 0
FI
RETURN
FUNCTION IsPalind(s)
ts = REVERSE(s)
RETURN STREQ(ts, s)
; Conta il numero di parole sulla riga
TKH = TOKNEW(L, " ")
NTK = TOKNUM(TKH)
; Stampa tutti i palindromi trovati
FOR CurTok = 1 TO NTK
W = TOKGET(TKH, CurTok)
IF AND(GT(STRLEN(W), 2), IsPalind(W))
PRINTLN W ", linea " N
FI
NEXT
TOKFREE(TKH)