Está en la página 1de 29

Tpicos Selectos de

Algoritmos
Las cadenas de caracteres

Mara Elena Chvez Sols


Introduccin
Las computadoras nacieron para resolver
problemas numricos en clculos
cientificos y matemticos.
Sin embargo, el paso de los aos ha
cambiado las aplicaciones y hoy da las
computadoras no slo se utilizan en
clculos numricos, sino tambin para
procesar datos de caracteres.
Mara Elena Chvez Sols
En aplicaciones de gestin, la generacin
y actualizacin de listas de direccin,
inventarios, etc., la informacin alfabtica
es fundamental. La edicin de textos,
traductores de lenguajes, base de datos
son otras aplicaciones donde las cadenas
de caracteres tienen gran utilidad.

Mara Elena Chvez Sols


Una cadena de caracteres es una
secuencia de cero o ms smbolos que
incluyen letras del alfabeto, dgitos y
caracteres especiales.

Mara Elena Chvez Sols


El Juego de caracteres
Los lenguajes de programacin utilizan
juegos de caracteres <alfabeto> para
comunicarse con las computadoras. Las
primeras computadoras slo utilizaban
informaciones numricas digitales
mediante el cdigo o alfabeto digital, y los
primeros programas se escribieron en
este tipo de cdigo, denominado cdigo
mquina basado en dosdgidos 0 y 1,
Mara Elena Chvez Sols
por ser inteligible directamente por la
mquina.
Hoy en da la mayora de las computadoras
trabajan con diferentes tipos de juegos de
caracteres de los que se destacan el cdigo
ASCII y el EBCDIC.

Mara Elena Chvez Sols


Una computadora a travs de los diferentes
lenguajes de programacin utilizan un juego
o cdigo de caracteres que sern fcilmente
interpretados por la computadora y que
pueden ser programados por el usuario.

Mara Elena Chvez Sols


Cdigos ms utilizados
ASCCI = American Standard Code for
Information Interchange.
EBCDIC = Extended Binary Coded
Decimal Interchange Code
Unicode

Mara Elena Chvez Sols


El cdigo ASCII
Utilia 7 bits (dgitos binarios 0,1) para
cada carcter a representar, lo que
supone un total de 27 (128) caracteres
distintos. El cdigo ASCCII ampliado
utiliza 8 bits y, en ese caso consta de 256
caracteres.

Mara Elena Chvez Sols


El cdigo EBCDI
Utiliza 8 bits por carcter y, por
consiguiente, consta de 256 caracteres
distintos. Su notoriedad reside en ser el
utilizado por la firma IBM (sin embargo, en
las computadoras personales PC, XT, AT
y PS/2 IBM ha seguido el cdigo ASCII.

Mara Elena Chvez Sols


El cdigo Unicode
Para aplicacin en Internet y en gran
nmero de alfabetos internacionales.

Mara Elena Chvez Sols


Cdigo ASCII
El cdigo ASCII se compone de los siguientes
tipos de caracteres:
Alfabtico (a,b,A,B, ..Z)
Numrico (0,1,2..9).
Especiales (+,-,*,<,etc.).
De control son caracteres no imprimibles y que
realizan una serie de funciones relacionadas con la
escritura, transmisin de datos, separador de
archivos, etc., en realidad con los dispositivos de
entrada/salida. .
Mara Elena Chvez Sols
Destacamos entre ellos
DEL eliminar o borrar
STX inicio de texto
LF avance de lnea
FF avance de pgina
CR retorno de carro

Mara Elena Chvez Sols


Cdigo EBCDIC
Este cdigo es muy similar al ASCII,
incluyendo tambin, adems de los
caracteres alfanumricos y especiales,
caracteres de control. Es propio de
computadoras de IBM con la excepcin
de los modelos PC, XT, AT y PS/2.

Mara Elena Chvez Sols


Cdigo Universal Unicode para Internet
Aunque ASCII es un cdigo ampliamente
utilizado para textos en ingls, es muy
limitado ya que un cdigo de un byte slo
puede representar 256 caracteres
diferentes (28= 256).

Mara Elena Chvez Sols


Cdigo Universal Unicode para Internet
El lenguaje Java comenz a utilizar la
representacin internacional Unicode ms
moderna y ms amplia en juego de
caracteres, ya que es un cdigo de dos
bytes (16 bits), que permiten hasta 65,536
caracteres diferentes (216= 65536).

Mara Elena Chvez Sols


Cdigo Universal Unicode para Internet
Para los programadores que escriben en
ingls estos caracteres son ms o menos
suficientes. Sin embargo, la aparicin de
Java y posteriormente C# como
lenguajes universales requieren que stos
puedan ser utilizados en lenguajes
internacionales como espaol, alemn,
francs, chino, etc.
Mara Elena Chvez Sols
Cdigo Universal Unicode para Internet
Esta caracterstica requiere de ms de
256 caracteres diferentes. La
representacin Unicode que admite hasta
65536 caracteres resuleve este problema.

Mara Elena Chvez Sols


Cdigo Universal Unicode para Internet
En consecuencia, los identificadores en
Java y C# deben comenzar con una letra
Java o C#, que es cualquier carcter
Unicode que no represente un dgito o un
carcter de puntuacin.

Mara Elena Chvez Sols


Las letras en ingls, as como los dgitos
decimales y los signos de puntuacin en
ingls, se asignan los mismos que en el
cdigo ASCII.
Sitio oficial de Unicode:
http://www.unicode.org

Mara Elena Chvez Sols


Variables
Una variable de cadena o tipo carcter es una
variable cuyo valor es una cadena de caracteres.

Cadenas de longitud fija


Se consideran vectores de la longitud declarada,
con blancos a izquierda o derecha si la cadena no
tiene la longitud declarada. As, la cadena
siguiente.

Mara Elena Chvez Sols


Ejemplo
Es t a c a s a e s u n a r u i n a

Se declar con una dimensin de 24 caracteres y


los dos ltimos se rellenan con blancos

Mara Elena Chvez Sols


Cadenas de longitud variable con un
mximo

Se considera un puntero con dos campos que


contienen la longitud mxima y la longitud actual.
Longitud actual

20 17 E s t a c a s a e s r u i n

Longitud mxima

Mara Elena Chvez Sols


Cadenas de longitud indefinida
Se representan mediante listas
enlazadas, que son listas que se unen
mediante puntero.

6 MA D O N A

Estas listas contienen elementos con caracteres


empaquetados (2/elemento) y enlazados cada uno con
el siguiente por un puntero (la cadena de caracteres es
madona). Mara Elena Chvez Sols
Operaciones con cadenas
Clculo de la longitud de una cadena
Comparacin
Igualdad
Desigualdad

Mara Elena Chvez Sols


Comparacin
La comparacin de cadenas (igualdad y
desigualdad) es una operacin muy
importante, sobre todo en la clasificacin
de datos tipo carcter que se utiliza con
mucha frecuencia en aplicaciones de
proceso de datos (clasificacin de listas,
tratamiento de textos, etc=).

Mara Elena Chvez Sols


Los criterios de comparacin se basan en
el orden numrico del cdigo o juego de
caracteres del cdigo ASCII (para este
caso).
El carcter A ser < al carcter C
Cdigo 65 cdigo 67

Mara Elena Chvez Sols


Igualdad
Dos cadenas a y b de longitudes m y n
son iguales si:
El nmero de caracteres de a y b son los
mismo (m=n).
Cada carcter de a es igual a su
correspondiente de b si a=a1,a n y b=
b1bn .

Mara Elena Chvez Sols


EMILIO = EMILIO
EMILIO = EMILIA
EMILIO = EMILIO

Mara Elena Chvez Sols

También podría gustarte