12.213 cursos gratis
8.307.734 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Introducción al lenguaje Pascal

Autor: emarinch@racsa.co.cr
Curso:
9,63/10 (8 opiniones) |40127 alumnos|Fecha publicación: 01/03/2006
Envía un mensaje al autor

Capítulo 26:

 Cadenas ("Strings")

6.1  Definición

Pascal, como cualquier otro lenguaje, debe tener la capacidad de procesar frases como "Presione ENTER para continuar", "Calculando...", "Proceso terminado", etc.

Los datos tipo char y string permiten la manipulación de datos no numéricos.

Una cadena de caracteres o string es una serie de caracteres cuya longitud (número de caracteres que contiene) puede variar de 1 hasta 255 caracteres. Turbo Pascal tiene el tipo de dato string que almacena información de texto. Este dato se puede almacenar en constantes y en variables de cadena. Una variable de cadena está declarada para la palabra string seguida de la longitud máxima de la cadena encerrada entre corchetes.

6.1.1 Declaración de una variable tipo string

Las variables de cadena se pueden declarar las de cualquier otro tipo, ya sea en la sección var o en type.

Si se declara como var, se hace de la siguiente manera:

Var

  Mensaje : string [80];

   Nombre : string [40];

Si la cadena es declarada como type, haríamos la declaración así:

Type

   Cadena80 = string [80];

   Cadena40 = string [40];

Var

   Mensaje : Cadena80;

   Nombre : Cadena40;

Es importante recordar que si se declara como Type inmediatamente después, dentro de las variables, se debe declarar una variable que haga referencia al Type.

Una vez declaradas las variables de cadena se pueden realizar asignaciones o bien operaciones de lectura / escritura en los programas.

Por ejemplo:

Program Ejemplo;

Var

   Mensaje = string[40];

Begin

   Mensaje := `Hola mis amigos, por favor estudien bastante´;

   Write (`Mi mensaje de hoy para ustedes es: `),Mensaje;

   Writeln;

   Write (`Presione enter...´);

   Readln

End.                       

6.1.2 Longitud de una cadena

Una cadena físicamente es una estructura de una secuencia de 0 hasta 255 caracteres de longitud. Sin embargo, la ocupación en memoria de una cadena es un número de bytes igual al de caracteres de la cadena más uno. Así la cadena:

`Programador´

tiene una longitud de 11 caracteres, entonces ocupará en memoria 12 bytes. Esto se debe a que el primer byte en una cadena, contiene la longitud de la cadena actualmente almacenada en memoria.

Cadenas (Strings)

Supongamos que esta palabra corresponde a un dato almacenado en la variable PUESTO que fue definida de la siguiente manera:

Var

      Puesto : String[20];

Sucede que, entonces, la longitud lógica de la variable será de 11 bytes pero la longitud física será de 20 bytes pues así fue definida.

6.1.3 Asignación de cadenas

A las variables de cadena, como se ha visto, se pueden dar valores con una sentencia de asignación o con una sentencia de lectura (read). Ambas situaciones se pueden describir con la ecuación:

Destino                      fuente

Donde destino es la cadena a la que se da un valor y fuente es la expresión de cadena que contiene el correspondiente valor. Esta ecuación actúa como la sentencia de asignación que evalúa la cadena fuente y se almacena en la variable de la cadena destino.

Dependiendo del tamaño (longitud de la cadena) de las cadenas fuente y destino se pueden presentar tres casos diferentes que analizaremos a partir de la siguiente declaración de variables de cadena.

  Var

      Cad1  :  String [8];

      Cad2  :  String [11];

      Cad3  :  String [15];

      Cad4  :  String [11];

6.1.3.1 Caso I. Las longitudes de la cadena destino y fuente son iguales

Supongamos que se ejecuta la sentencia

      Cad2 := `informatica´;

Este caso no presenta problemas, pues cada posición de cad2 se rellena con un carácter.

      Cad2        I           N         F         O         R         M         A         T          I           C         A

                        1          2          3          4          5          6          7          8          9          10       11

Lo mismo sucede si se ejecuta la sentencia

      Cad4 := Cad2;

6.1.3.2 Caso II. La longitud de la cadena destino  es mayor que la cadena fuente

Supongamos que ahora se ejecuta la sentencia

Cad3 := Cad2;

Resultará que Cad3 tiene 15 caracteres y sólo hay 11 caracteres en cad2. La cadena Cad3 seguirá teniendo una longitud máxima de 15 caracteres, pero sólo se almacenan en ella ahora 11 caracteres y su longitud actual será de 11.

      Cad3        I  N F O R M   A T I  C   A                                        longitud actual = 11

                        1 2 3  4  5 6   7 8 9 10 11  12  13  14  15             longitud máxima = 15

6.1.3.3 Caso II. La longitud de la cadena destino  es mayor que la cadena fuente

Supongamos que se trata de ejecutar ahora

Cad1 := Cad2;

En este caso, como Cad1 tiene una longitud de ocho caracteres, la cadena destino no se puede almacenar totalmente. En este caso se trunca la cadena destino y se almacenan en Cad1 los primeros ocho caracteres (de izquierda a derecha) de Cad2.

      Cad1        I  N F O R M   A T                                                     longitud actual = 11

                        1 2 3  4  5 6   7 8                                                     longitud máxima = 8

Capítulo siguiente - Operaciones con strings
Capítulo anterior - Práctica

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Introducción al lenguaje Pascal


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Introducción al lenguaje SQL
Curso de programación, aprende el lenguaje sql que es un lenguaje de acceso a bases... [16/11/11]
131  
2. Introducción al lenguaje HTML
¿Te interesa entrar al mundo de la programación web ? ¡Entonces este curso de... [14/04/11]
739
Curso con video
3. Algoritmos y lenguaje C
Este curso pretende dar a conocer las explicaciones más simples del trabajo de los... [13/01/06]
36.357  

El blog de mailxmail|¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Te gustaría visitar más cursos gratis de Programación?