32 constant #size
create numero #size chars allot
: saccept 1 - swap 1 + swap accept ;
: lerNumero ( end -- )
dup #size saccept swap c! ;
: whileNot42 ( -- )
-1
begin
while
numero lerNumero
numero count
swap drop
0 <> if
numero number drop \ Converte a string para inteiro e
remove o
status da stack, deixando
\ apenas o numero na stack
dup
42 = if
drop 0
else
. cr
-1
then
else
-1 cr
then
repeat
;
whileNot42
MzIgY29uc3RhbnQgI3NpemUKY3JlYXRlIG51bWVybyAjc2l6ZSBjaGFycyBhbGxvdAoKOiBzYWNjZXB0IDEgLSBzd2FwIDEgKyBzd2FwIGFjY2VwdCA7Cgo6IGxlck51bWVybyAoIGVuZCAtLSApCmR1cCAjc2l6ZSBzYWNjZXB0IHN3YXAgYyEgOwoKOiB3aGlsZU5vdDQyICggLS0gKQotMQpiZWdpbgp3aGlsZQogICAgICAgbnVtZXJvIGxlck51bWVybwogICAgICAgbnVtZXJvIGNvdW50CiAgICAgICBzd2FwIGRyb3AKICAgICAgIDAgPD4gaWYKICAgICAgICAgICAgICAgbnVtZXJvIG51bWJlciBkcm9wIFwgQ29udmVydGUgYSBzdHJpbmcgcGFyYSBpbnRlaXJvIGUgcmVtb3ZlIG8Kc3RhdHVzIGRhIHN0YWNrLCBkZWl4YW5kbwogICAgICAgICAgICAgICAgICAgICAgIFwgYXBlbmFzIG8gbnVtZXJvIG5hIHN0YWNrCiAgICAgICAgICAgICAgIGR1cAogICAgICAgICAgICAgICA0MiA9IGlmCiAgICAgICAgICAgICAgICAgICAgICAgZHJvcCAwCiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAuIGNyCiAgICAgICAgICAgICAgICAgICAgICAgLTEKICAgICAgICAgICAgICAgdGhlbgogICAgICAgZWxzZQogICAgICAgICAgICAgICAtMSBjcgogICAgICAgdGhlbgpyZXBlYXQKOwp3aGlsZU5vdDQy