Function SacarCifra(n:Longint;c:Byte):Byte;
var i:byte;
begin
if (c<0) or (c>10) or (n<0) then {Si algun valor es invalido}
begin
SacarCifra:=0;{se retorna 0}
exit
end;
for i:=c-1 downto 1 do n:=n div 10;{Elimina cifra por cifra}
n:=n mod 10; {Luego ignora las demas cifras sobrantes}
SacarCifra:=byte(n){convierte manualmente el valor en "byte"}
end;
Function SumarCifras(n:Longint):Byte;{Sin utilizar "Sacarcifra"}
var suma:byte;
begin
if n<0 then {Si el valor no es valido}
begin
SumarCifra:=0;{se retorna 0}
exit
end;
suma:=0;
while n>0 do {Mientras el valor sea positivo}
begin
suma:=suma + (n mod 10);{se suma la primera cifra}
n:=n div 10;{y se elimina para continuar con la siguiente}
end;
SacarCifra:=byte(suma)
end;