elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  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 4,445 veces)
netca

Desconectado Desconectado

Mensajes: 28


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

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 am por netca » En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


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

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: 28


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

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

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


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


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. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


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

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: 28


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

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
Julyamnis 0 1,934 Último mensaje 5 Noviembre 2010, 15:00 pm
por Julyamnis
Problema sintaxis pascal
Programación General
fortunacio 2 1,984 Último mensaje 31 Octubre 2012, 23:36 pm
por fortunacio
problema con DEV pascal
Programación General
Kenshin94 0 4,021 Último mensaje 16 Abril 2013, 02:56 am
por Kenshin94
tengo un problema en pascal
Ejercicios
Napster_EPD 3 3,446 Último mensaje 13 Octubre 2014, 23:47 pm
por JFormoso
[SOLUCIONADO] Problema en pascal
Programación General
Mario Olivera 5 3,182 Último mensaje 1 Abril 2015, 17:25 pm
por Minusfour_cierralo_o_baneamefull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines