datos tipo cadena
Fecha: 7 de mayo de 2013
MSc. José Colbes
Operaciones con cadenas (Extraído principalmente del libro de Joyanes Aguilar y el manual de SL)
Introducción
Las computadoras no sólo se utilizan para resolver problemas numéricos, sino también para procesar datos de
caracteres. En aplicaciones de gestión, la generación y actualización de listas de dirección,inventarios, etc., la
información alfabética es fundamental. La edición de textos, traductores de lenguajes, bases de datos, son
otras aplicaciones donde las cadenas de caracteres tienen gran utilidad.
Una cadena de caracteres es una secuencia de cero o más símbolos, que incluyen letras del alfabeto, dígitos y
caracteres especiales.
Juego de caracteres o alfabeto
Los lenguajes deprogramación utilizan juegos de caracteres “alfabeto” para comunicarse con las
computadoras.
Las primeras computadoras sólo usaban un alfabeto digital (0s y 1s).
La dificultad que suponía a la programación hizo que el alfabeto evolucionase, con lo que aparecieron
códigos similares al utilizado en los lenguajes humanos, entre los que se destacan el código ASCII y el
EBCDIC. El UNICODE (UniversalCode) tiene aplicación en Internet y en gran número de alfabetos
internacionales. Permite 65536 caracteres distintos, y es utilizado por Java y C#.
El código ASCII (American Standard Code for Information Interchange) básico utiliza 7 bits (el ampliado usa 8)
para cada carácter a representar, lo que supone un total de 128 (256) caracteres distintos. El código EBCDIC
(Extended Binary Coded DecimalInterchange Code) utiliza 8 bits por carácter y, por consiguiente, consta de
256 caracteres distintos.
En general, un carácter ocupará un byte de almacenamiento de memoria.
Cadena de caracteres
Una cadena (string) de caracteres es un conjunto de caracteres (incluido el espacio) que se almacenan en un
área contigua de la memoria. La longitud de una cadena es el número de caracteres quecontiene; si la longitud
es cero (no tiene caracteres), la cadena es vacía o nula. Una subcadena es una cadena de caracteres que ha
sido extraída de otra de mayor longitud.
En SL, una cadena es una secuencia de caracteres encerrados entre comillas o apóstrofes. Ejemplos:
“Aprendiendo a programar...”
“Conteste con ‘si’ o ‘no’, por favor”
‘María dijo: “¡Buenos días!”‘
Obs: Como puedeobservarse, cualquier carácter puede ser incluido como parte de la cadena, excepto el
delimitador. Si por ejemplo se desea incluir una comilla en un mensaje, debe iniciarse y finalizarse la cadena
con apóstrofe, y viceversa, o utilizar \”. Por ejemplo:
var
texto: cadena
inicio
texto = "\"Hola mundo\""
imprimir(texto)
fin
Imprimirá: “Hola mundo”
Obs2: En SL, las cadenas son dinámicas, esdecir, su longitud se ajusta automáticamente para contener la
secuencia de caracteres que se requiera, sin obligar a la definición explícita de una longitud máxima.
Las cadenas pueden verse y tratarse como vectores, donde en cada posición se tiene un carácter. Por ejemplo,
consideremos la cadena texto:
H
1
O
2
L
3
A
4
5
M
6
U
7
N
8
D
9
O
10
Así,“imprimir(texto[2])” imprimirá el carácter O.
Las constantes de cadena deben caber completamente en una línea. Es decir, lo siguiente no es válido porque
la comilla que cierra la cadena aparece recién en la segunda línea:
texto = “Aprender a programar
es divertido”
Si es necesario distribuir una constante de cadena en más de una línea, puede usarse el operador de
concatenación:
texto = “Aprender aprogramar” +
“es divertido”
Secuencias de escape
Una secuencia de escape es un medio de representar caracteres que no se pueden escribir desde el teclado y,
por consiguiente, utilizarlos directamente en un editor. Dicho de otra forma, es una secuencia de caracteres
especiales que envían un comando a un dispositivo o programa. Una secuencia de escape consta de dos partes:
el carácter...
Regístrate para leer el documento completo.