Pascal/Turbo Pascal - Contar palabras con mas de 3 caracteres.

 
Vista:
Imágen de perfil de Lestat
Val: 4
Ha aumentado su posición en 3 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Contar palabras con mas de 3 caracteres.

Publicado por Lestat (3 intervenciones) el 03/02/2017 12:32:18
Buenas y perdon por las molestias, soy principante en pascal y quisiera ayuda con un ejericio sencillo:
REALIZAR EN PASCAL UN PROGRAMA QUE PERMITA CONTAR LA CANTIDAD DE PALABRAS CON MAS DE 3 CARACTERES.
Desde ya muchas gracias y se agradece cualquier ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Contar palabras con mas de 3 caracteres.

Publicado por Daniel (2 intervenciones) el 13/02/2017 22:16:19
Hola Lestat.

No se si quieres contar las palabras dentro de una frase o si se trata de un bucle que te va a pedir un número de veces las palabras.

Si se trata del segundo caso, puedes utilizar la sentencia length(palabra) que te dará el tamaño de esa palabra y que por tanto si es mayor que 3, tendrás que incrementar un contador de palabras.

Y si se trata de comprobarlo dentro de una frase, podrías hacerlo con la sentencia case..of o si todavía no la has visto, con la sentencia if..then (de este modo tienes que comprobar que no haya espacios,comas,puntos...). Con case..of seria:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
begin
     palabras:=0;
     cont:=0;
     write('Introduzca una frase: ');
     readln(cadena);
     for i:=1 to length(cadena) do
         case (cadena[i]) of
              'A'..'z': cont:=cont+1;
              else
                  begin
                      if cont>3 then     (*cada vez que encuentre espacios, comas, etc comprueba si el contador es mayor que 3*)
                          palabras:=palabras+1;     (*e incremeta el contador de palabras*)
                          cont:=0;     (*y ponemos a 0 el contador de caracteres para que empiece con la siguiente palabra*)
                  end;
         end;
 
    if cont>3 then     (*Aqui te comprueba la ultima palabra, puesto que esta nunca va a entrar en el bucle*)
          palabras:=palabras+1;
 
 
     writeln('Hay ',palabras,' palabras con mas de 3 caracteres');
     readln;
end.

con el if sería:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for i:=1 to length(cadena) do
        if (cadena[i]=' ') or (cadena[i]=',') or (cadena[i]='.') then
             begin
                 if cont>3 then
                     palabras:=palabras+1;
                         cont:=0;
             end
             else
                 cont:=cont+1;
 
 
     if cont>3 then
         palabras:=palabras+1;
 
 
     writeln('Hay ',palabras,' palabras con mas de 3 caracteres');
     readln;

Espero que te sirva de ayuda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lestat
Val: 4
Ha aumentado su posición en 3 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Contar palabras con mas de 3 caracteres.

Publicado por Lestat (3 intervenciones) el 13/02/2017 22:32:05
Millon de gracias Daniel, te re agradezco, me estaba matando esto de recorrer un vector y ahora podre jugar un poquito mejor, Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar