Funciones Y Procedimientos Para Cadenas

Como ya habías
en visto los tipos de datos, las cadenas son secuencias de caracteres con longitudes que varían desde
1 hasta los 255 caracteres. Aquí te enseñaré serie de funciones y procedimientos que
hacen más fácil el manejo de estas.

Operador +
Si se quieren unir dos cadenas hasta que algo las separe,
se recurre al operador mas +, el proceso funciona exactamente como una suma la única
limitante es que en caso de ser mayor la longitud resultante de la suma que la longitud
que pueda manejar la variable en que se almacenará se truncarán los caracteres
sobrantes. Ejemplo:
Program suma_cadenas;
Uses crt;
Var
Hombre, Mujer: string[20];
Enlace:string[3];
Matrimonio:string[40];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Matrimonio:= Hombre + enlace +Mujer;
Writeln('Esposo : ',Hombre);
Writeln('Mujer : ',Mujer);
Writeln('Y con el uso del operador +, yo los declaro :
',Matrimonio);
Readln;
End.

FUNCIONES
- Esta pequeña pero eficiente función nos permite pasar a
mayúsculas el caracter dado como parámetro; ejemplo:
Program funcion_upcase;
var
caracter : char;
begin
Carácter:=readkey;{Se lee cualquier tecla}
Carácter:=upcase(Carcater);{Si esta en minúscula, lo pasa a mayúscula}
End.
-
Length
Esta nos sirve para obtener la longitud de una cadena,
longitud es la cantidad de caracteres que contiene la cadena, es como coger un flexómetro
y tomar la medida de cualquier objeto; Ejemplo:
Program funcion_length;
var
cadena : string;
begin
cadena := 'Este es el tutorial de programación de turbo pascal';
writeln ('la longitud de la cadena: ', length (cadena));
end.
- Esta trabaja de manera similar al operador +, la suma de
las cadenas no deberá sobrepasar la longitud que la variable, a la cual se asignará
dicha suma; Ejemplo:
Program concatena_cadenas;
Uses crt;
Var
Hombre, Mujer: string[20];
Enlace:string[3];
Matrimonio:string[40];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Matrimonio:= concat(Hombre, enlace, Mujer);
Writeln('Esposo : ',Hombre);
Writeln('Mujer : ',Mujer);
Writeln('Y con el uso del operador +, yo los declaro:
',Matrimonio);
Readln;
- End.
- Pos nos sirve para localizar una determinada cadena
dentro de otra, en otras palabras para verificar si una cadena es subcadena de otra
segunda.
- Los parámetros que requiere son: la cadena que se buscará y
la cadena donde se buscará la primera:
- Pos (Cadena1, Cadena2);
- Cuando encuentra la cadena la función devuelve su posición
inicial, en caso de que no la encuentre devuelve el valor de 0.
- Ejemplo:
Program Encuentra_posiciones;
Uses crt;
Var
Hombre, Mujer: string[20];
Enlace:string[3];
Matrimonio:string[40];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Matrimonio:= concat(Hombre, enlace, Mujer);
Writeln(Pos('ADAN', Matrimonio);
Writeln(Pos('EVA', Matrimonio);
Readln;
- End.
-
- La función copy regresa una subcadena de una variable o
constante dada como parámetro. Su sintaxis es:
- Copy (Cadena, Inicio, Cantidad);
- Donde Cadena es la fuente de la subcadena, Inicio es la
posición desde la cual se obtendrá la subcadena y Cantidad es el número de caracteres
que se extraerán.
- Los valores de Inicio y Cantidad deben ser de tipo entero.
- Ejemplo:
Program Manejo_de_Copy;
Uses crt;
Var
Hombre, Mujer: string[20];
Enlace:string[3];
Matrimonio:string[40];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Matrimonio:= concat(Hombre, enlace, Mujer);
Writeln(copy(Matrimonio,3,6);{Aquí se escribirá 'an y E'}
Readln;
- End.
-

PROCEDIMIENTOS
Insert
- El procedimiento Insert sirve para insertar una cadena
dentro de otra en alguna posición determinada.
- Sintaxis:
- Insert (Cadena1, Cadena2, Posición)
- Donde Cadena1 es la que se insertará, Cadena2 es donde se
insertará y Posición es el lugar donde se insertará. El parámetro Posición debe ser
de tipo entero.
Program Manejo_de_Insert;
Uses crt;
Var
Hombre, Mujer, Hijo: string[20];
Enlace:string[3];
Matrimonio:string[80];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Hijo:=' ,SU HIJO ABEL';
Matrimonio:= concat(Hombre, enlace, Mujer);
Writeln(insert(Hijo, Matrimonio,5);
Readln;
- End.
-
- Este procedimiento elimina un determinado número de
caracteres de una cadena. Su sintaxis es:
- Delete (Cadena, Inicio, Número)
- Cadena es la variable en la cual se eliminarán los
caracteres, Inicio es la posición del primer caracter a eliminar y Número es la cantidad
de caracteres que se borrarán; ejemplo:
Program Manejo_de_Delete;
Uses crt;
Var
Hombre, Mujer, Hijo: string[20];
Enlace:string[3];
Matrimonio:string[80];
Begin
Clrscr;
Hombre:= 'ADAN';
Mujer:= 'EVA';
Enlace:=' Y ';
Hijo:=' ,SU HIJO ABEL';
Matrimonio:= concat(Hombre, enlace, Mujer);
Writeln(insert(Hijo, Matrimonio,5);
Writeln(delete(Matrimonio,7,8);
Readln;
- End.
-
- El procedimiento Str pasa a una cadena un valor numérico
sea REAL o INTEGER, es muy útil para imprimir variables numéricas en programas bajo modo
gráfico, Su sintaxis es:
- Str(Variable_numerica, Cadena)
- A continuación te doy un excelente programa ejemplo que hace
uso de este potente procedimiento: el tiro parabólico.
Ver Código Fuente
Ver Ejecutable
- Este procedimiento convierte una cadena en un valor de
tipo numérico (ya sea Integer o Real), el problema con esta función es que si la cadena
no esta formada exclusivamente de números siguiendo las reglas para el tipo de datos que
se vallan a obtener se generará un error. Sintaxis:
- Val (Cadena, Numero, Código)
- Cadena contiene la cadena que será procesada.
- Numero es la variable de tipo numérico donde se guardará el
valor de la cadena.
- Código es una variable de tipo entero (Integer) que
contendrá el valor de 0 si no hubo errores y un valor diferente en caso de que no se haya
podido convertir la cadena, el valor de Código representa la posición de la cadena donde
ocurrió el error.

Anterior
Siguiente
Indice