elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:05  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Problema pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema pascal  (Leído 1,605 veces)
netca

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Problema pascal
« en: 1 Mayo 2011, 01:52 »

se lee secuencia de caracteres hasta encontarar un punto. Informar la longuitud de la palabras mas larga que empieza con 't'.

Código:
Program ejemplo;
var
   cant,maximot:integer;
   letra:char;
begin
     cant:=0;
     maximot:=0;

     Writeln('Inserte los caracteres :' ); Read(letra);

     while(letra='')do
                   read(letra);

     while (letra <>'.')do begin
           cant:=0 ;

           if( letra='t') then  begin
               cant:=cant+1;

               while(letra<>'') or (letra <>'.') do begin
                             read(letra) ;
                              cant:=cant+1 ;
               end;
               if(cant>maximot)then
                                   maximot:=cant;
              end;
     end;
     Writeln('La cantidad de caracteres leidos fue de : ' , cant);
     readln;
     readln
end.   

No se cual es el error...


« Última modificación: 1 Mayo 2011, 01:56 por netca » En línea
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: Problema pascal
« Respuesta #1 en: 1 Mayo 2011, 17:54 »

Si eres un poco más claro y nos dices que error es el que te da pues podremos ayudarte mejor. Te da error al compilar? no hace la función que esperas que haga? o que?


En línea

netca

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Problema pascal
« Respuesta #2 en: 1 Mayo 2011, 19:02 »

Si eres un poco más claro y nos dices que error es el que te da pues podremos ayudarte mejor. Te da error al compilar? no hace la función que esperas que haga? o que?


Puedo insertar caracteres aunque ponga puntos... no se si me explico.No informa nada.
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Problema pascal
« Respuesta #3 en: 1 Mayo 2011, 19:10 »


Puedo insertar caracteres aunque ponga puntos... no se si me explico.No informa nada.

Mmmm, fijate en la condición, creo que deberías cambiar el OR por el AND para hacerlo más estricto.
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: Problema pascal
« Respuesta #4 en: 2 Mayo 2011, 02:48 »

Código:
     while (letra <>'.')do begin
           cant:=0 ;

           if( letra='t') then  begin
               cant:=cant+1;

               while(letra<>'') or (letra <>'.') do begin
                             read(letra) ;
                              cant:=cant+1 ;
               end;
               if(cant>maximot)then
                                   maximot:=cant;
              end;
     end;

Fijate que en ese bucle si no se cumple la condición de que la letra sea una 't' cae en un bucle infinito ya que no vuelve a leer otro caracter y por tanto nunca va a ser ni una t ni un punto. Es decir deberías hacer algo así:

Código:
     while (letra <>'.')do begin
           cant:=0 ;

           if( letra='t') then  begin
               cant:=cant+1;

               while(letra<>'') or (letra <>'.') do begin
                             read(letra) ;
                              cant:=cant+1 ;
               end;
               if(cant>maximot)then
                                   maximot:=cant;
              end;
           else read(letra);
     end;

Algo así para que en caso de que no sea una t vuelva a leer otro caracter.

Por otro lado esta parte de código sobraría:
Código:
     
while(letra='')do
                   read(letra);

Ya que en el bucle que he citado más arriba sería suficiente.

También, aunque de esto ya estoy menos seguro, en las condiciones no deberías poner el caracter ' ' en lugar de ''? Se supone que '' es un caracter nulo o algo así no? xD, y también lo que dice Leo, deberías cambiar la condición en lugar de OR poner AND.

Haz los cambios y ya nos cuentas!

Suerte!
En línea

netca

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Problema pascal
« Respuesta #5 en: 4 Mayo 2011, 01:07 »

Al parecer se soluciono ^^ , gracias
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con pascal.
Programación General
NaSaRiD15 2 2,305 Último mensaje 15 Agosto 2009, 00:22
por Meta
Problema en pascal.
Programación General
Sunny_Sayantan 3 1,335 Último mensaje 12 Octubre 2009, 15:03
por h0oke
Problema con pascal
Programación General
Julyamnis 0 460 Último mensaje 5 Noviembre 2010, 15:00
por Julyamnis
PROblema con pascal
Ejercicios
AlxSpy 1 999 Último mensaje 15 Noviembre 2010, 19:07
por ace332
While en pascal Problema
Programación General
¡Micronet! 4 1,693 Último mensaje 24 Febrero 2011, 21:25
por skapunky
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines