Pascal/Turbo Pascal - comparación de cadenas

 
Vista:

comparación de cadenas

Publicado por palloco (3 intervenciones) el 15/08/2001 20:55:50
Quiero saber si una cadena de caracteres contiene todos los caracteres del alfabeto. cómo hago eso?
gracias
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

RE:comparación de cadenas

Publicado por mal (7 intervenciones) el 16/08/2001 00:46:57
Espero que el siguiente programa le ayude, aunque no es la forma más óptima, es sencilla y fácil de entender. salu2

program caracteres_alfabeto;

function alfabeto(s:string):boolean;
function esta(c:char; s:string):boolean;
var
i:integer;
begin
i:=1;
while (i<=length(s)) and (upcase(s[i])<>upcase(c)) do
inc(i);
if upcase(s[i])=upcase(c) then esta:=true
else esta:=false;
end;

var
c:CHAR;

begin
alfabeto:=true;
FOR c:='A' TO 'Z' DO
if not esta(c,s) then alfabeto:=false;
end;

var
s:string;
begin
s:='Esto es una linea de prueba';
if alfabeto(s) then writeln('contiene todos los caracteres del alfabeto')
else writeln('no tiene todos los caracteres');
readln;
end.

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

RE:comparación de cadenas

Publicado por palloco (3 intervenciones) el 16/08/2001 19:15:20
Bueno, como supondrás el pedir cómo hacer este programa indica que soy un novato y todavía no me manejo bien con las funciones.
Los dos primeros begin se corresponden con las funciones y el programa es el último?
Supongo que el upcase es la sentencia que buscaba, qué hace?Compara las dos cadenas y si un caracter de la pimera no está en la segunda pone falsa la signación?
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

RE:comparación de cadenas

Publicado por mal (7 intervenciones) el 17/08/2001 00:26:59
el primer begin es de la funcion esta(), el segundo es de la funcion alfabeto() y el ultimo begin es del programa.

la funcion upcase() convierte un caracterer en mayuscula. Asi no tienes que preocuparte si etan en mayusculas o minusculas

la funcion esta(c:char; s:string) lo que hace se mirar si el caracter C esta en la cadena.

la funcion alfabeto esta por defecto True, lo que hace es recorrer el alfabeto y comprueba que esta en la cadena de caracteres, en caso de no estar pone false a la funcion.

salu2.

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