Arreglos en Free Pascal
TIPOS ESTRUCTURADOS: En Pascal, se pueden definir , a partir de los datos simples, otros tipos
más complejos conocidos como tipos estructurados.
Cuando se declara una variable como de un tipo estructurado, se puede manipular la estructura completa, o
bien trabajar con los datos individuales que la forman.
A continuación, se describirán losdiferentes tipos estructurados que pueden manejarse en Pascal.
Cadenas (String)
Arreglos (Array)
Registros (Record)
Conjuntos (Set)
Archivos
TIPO CADENAS (strings) : Turbo Pascal proporciona el tipo string para el procesamiento de cadenas
(secuencias de caracteres ).
•
•
•
•
•
La definición de un tipo string debe especificar el número máximo de caracteres que puede contener, esto es,la máxima longitud para las cadenas de ese tipo. La longitud se especifíca por una constante entera en el
rango de 1 a 255.
El formato para definir un tipo string es :
= string [limite_superior];
Las variables de cadena se declaran en la sección Var o Type.
Declaración en Var:
Var
nombre : string[30];
domicilio : string[30];
ciudad : string[40];
Declaración en Type:
Type
cad30 :string[30];
cad40 : string[40];
Var
nombre : cad30;
domicilio : cad30;
ciudad : cad40;
Una Vez declaradas las variables se pueden realizar asignaciones u operaciones de lectura/escritura.
nombre := 'Egrid Lorely Castro Gonzalez' ;
domicilio := 'Altamirano #220';
ciudad := 'La Paz B.C.S.';
El contenido de la cadena se debe encerrar entre apóstrofes. Si se desea que figure un apóstrofe enuna
cadena, es preciso doblarlo en la cadena. Los procedimientos de Entrada/Salida son de la siguiente forma :
ReadLn (nombre);
WriteLn('Hola ',nombre);
Página 25 de 25
Longitud de una cadena
Las variables de tipo cadena pueden ocupar la máxima longitud definida, más un octeto que contiene la
longitud actual de la variable. Los caracteres que forman la cadena son numerados desde 1 hastala longitud
de la cadena.
Ejemplo:
Var
nombre : string[10];
begin
nombre := 'Susana';
end.
Obsérvese que el primer byte no es el carácter '6' si no el número 6 en binario (0000 0110) y los últimos
bytes de la cadena hasta 10 (7-10) contienen datos aleatorios.
Una cadena en Turbo Pascal tiene dos longitudes :
1. Longitud física : Es la cantidad de memoria que ocupa realmente, está seestablece en tiempo de
compilación y nunca cambia
2. Longitud lógica : Es el número de caracteres almacenados actualmente en la varible cadena. Este
dato puede cambiar durante la ejecución del programa.
Es posible acceder a posiciones individuales dentro de una variable cadena, mediante la utilización de
corchetes que dentro de ellos se especifíca el número indice dentro de la cadena a utilizarasí para el ejemplo
anterior se tiene :
nombre[1] ==> 'S'
nombre[2] ==> 'u'
nombre[3] ==> 's'
nombre[4] ==> 'a'
nombre[5] ==> 'n'
nombre[6] ==> 'a'
Operaciones entre cadenas
Las operciones básicas entre cadenas son : asignación, comparación y concatenación. Es posible asignar
una cadena a otra cadena, incluso aunque sea de longitud física más pequeña en cuyo caso ocurriría untruncamiento de la cadena.
Ejemplo:
Var
nombre : String[21];
.
.
.
nombre := 'Instituto Tecnológico de La Paz';
El
resultado
de
'Instituto Tecnológico'.
la
asignación
en
la
variable
nombre
será
la
cadena
Las comparaciones de las cadenas de caracteres se hacen según el orden de los caracteres en el código ASCII
y con los operadores de relación.
'0' < '1' '2' >'1' 'A' < 'B' 'm' > 'l'
Página 28 de 28
Reglas de comparación de cadenas
Las dos cadenas se comparan de izquierda a derecha hasta que se encuentran dos caracteres diferentes. El
orden de las dos cadenas es el que corresponde al orden de los dos caracteres diferentes. Si las dos cadenas
son iguales pero una de ella es más corta que la otra, entonces la más corta es menor que la más...
Regístrate para leer el documento completo.