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 .