SoloCodigo

Programación General => Pascal => Mensaje iniciado por: frodog en Lunes 5 de Enero de 2004, 15:31

Título: Devolver el numero de dígitos
Publicado por: frodog en Lunes 5 de Enero de 2004, 15:31
Hola panas necesito diseñar una funcion recursiva que devuelva el numero de digitos de un entero no negativo. no olviden validar el dato de entrada

(en pascal por favor)



Gracias espero sus respuestas pronto es URGENTE
Título: Re: Devolver el numero de dígitos
Publicado por: joaquinrg en Lunes 5 de Enero de 2004, 16:14
jaja, esto que es telepascal?? yo necesito el codigo del juego de las cadenas, al ser posible para mañnana.
amos q por lo menos lo podias intentar y poner el codigo pa q la gente te ayude en las partes q no funcionan
Título: Re: Devolver el numero de dígitos
Publicado por: BlackTigerX en Lunes 5 de Enero de 2004, 17:28
Código: Text
  1. function CuentaDigitos(Cadena:string):Integer;
  2. var tmp, err:Integer;
  3. begin
  4.   CuentaDigitos:=0;
  5.   if (Length(Cadena)=0) then
  6.     Exit;
  7.   Val(Cadena, tmp, err);
  8.   if (tmp<0) or (err<>0) then
  9.   begin
  10.     WriteLn('Numero no valido');
  11.     Exit
  12.   end;
  13.   Delete(Cadena, 1, 1);
  14.   CuentaDigitos:=CuentaDigitos(Cadena)+1
  15. end;
  16.  
  17. var Entrada:string;
  18. begin
  19.   WriteLn('Entra un numero positivo');
  20.   ReadLn(Entrada);
  21.   WriteLn('tu numero tiene [', CuentaDigitos(Entrada), '] digitos')
  22. end.
  23.  
Título: Re: Devolver el numero de dígitos
Publicado por: joaquinrg en Martes 6 de Enero de 2004, 17:18
y el codigo del juego de las cadenas?? xD
Título: Re: Devolver el numero de dígitos
Publicado por: BlackTigerX en Martes 6 de Enero de 2004, 19:40
no se que es "el juego de las cadenas"... no se de que se trata ese programa...
el otro codigo lo hice asi rapido porque el dio una descripcion del programa...
Título: Re: Devolver el numero de dígitos
Publicado por: mauc en Jueves 8 de Enero de 2004, 20:38
Hola...

BlackTigerX podrias explicar un poco este codigo que pegaste?

no entiendo ese de tmp y err, se que es par validar, pero no se pq esas dos palabras
Título: Re: Devolver el numero de dígitos
Publicado por: mauc en Viernes 9 de Enero de 2004, 00:46
Cita de: "frodog"
Hola panas necesito diseñar una funcion recursiva que devuelva el numero de digitos de un entero no negativo. no olviden validar el dato de entrada

(en pascal por favor)



Gracias espero sus respuestas pronto es URGENTE
oye, estudias en la UCAB??? como te llamas?
Título: Re: Devolver el numero de dígitos
Publicado por: BlackTigerX en Sábado 10 de Enero de 2004, 05:26
Cita de: "mauc"
Hola...

BlackTigerX podrias explicar un poco este codigo que pegaste?

no entiendo ese de tmp y err, se que es par validar, pero no se pq esas dos palabras
Código: Text
  1. var tmp, err:Integer;
  2. begin
  3.  CuentaDigitos:=0;
  4.  if (Length(Cadena)=0) then
  5.    Exit;
  6.  Val(Cadena, tmp, err);
  7.  

la funcion Val te pide la Cadena que quieres convertir, y 2 numeros, uno (tmp) que regresa el valor ya convertido a numero, y el ultimo parametro (err) regresaria un valor diferente de cero en caso de que la conversion falle (regresa la posicion donde se encontro error)

si la conversion tiene exito (sin errores), la variable err devuelve cero
Título: Re: Devolver el numero de dígitos
Publicado por: _.B._ en Lunes 12 de Enero de 2004, 01:12
Saludos!.
Que podría causar un error en ese procedimiento?.

Bernardo L. :comp:
Título: Re: Devolver el numero de dígitos
Publicado por: BlackTigerX en Lunes 12 de Enero de 2004, 17:05
que le mandaras letras en vez de numeros, o numeros y letras combinados o simplemente un numero no valido (0.25.3, 4,01, etc...)
Título: Re: Devolver el numero de dígitos
Publicado por: _.B._ en Martes 13 de Enero de 2004, 18:22
Thanks!.
Bernardo L. :comp: