Funciones Y Procedimientos Para Cadenas

¿Tipos de dato cadena?

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

UpCase

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.

Concat

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

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.
 

Copy

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.
 

Delete

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.
 

Str

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
 
 

Val

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 Pulsa aquí para regresar

Siguiente Pulsa aquí para continuar

Indice Presiona aquí para regresar al índice