PDF de programación - Tema 7. Cadenas de caracteres - Fundamentos de Programación I

Imágen de pdf Tema 7. Cadenas de caracteres - Fundamentos de Programación I

Tema 7. Cadenas de caracteres - Fundamentos de Programación Igráfica de visualizaciones

Publicado el 25 de Septiembre del 2020
764 visualizaciones desde el 25 de Septiembre del 2020
440,1 KB
28 paginas
Creado hace 12a (27/01/2012)
Fundamentos de Programación I
Fundamentos de Programación I

Tema 7 Cadenas de caracteres
Tema 7. Cadenas de caracteres

Luís Rodríguez Baena ([email protected])

Universidad Pontificia de Salamanca (campus Madrid)
Escuela Superior de Ingeniería y Arquitectura

1

Datos alfanuméricos

Dos tipos de datos definidos para trabajar con

p

p

información no numérica ni booleana:
● Carácter.
● Cadena.

j

Para tratarlos es necesario convertir la información no

numérica con la que trabaja el ordenador.
● Asignación de un código numérico a cada carácter
● Asignación de un código numérico a cada carácter.
● Esa asignación se puede realizar de distintas formas.
● No todos los caracteres están disponibles siempre.
● Al conjunto de caracteres con los que puede trabajar un
● Al conjunto de caracteres con los que puede trabajar un

ordenador se le denomina juego de caracteres.

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

2

2

El juego de caracteres

El juego de caracteres ASCII (American Standard Code

j g

(
for Information Interchange).
● Utiliza un byte de información.

Se utilizan 7 bits para representar el carácter.

p

p

● Sólo es posible representar 128 caracteres, del 0 al 127.

Del carácter 0 a 32: caracteres de control (retorno de carro,

tabulación, final de archivo, carácter nulo, etc.).

á

48 l 57 l

D l
d l 0 l 9
Del carácter 48 al 57 los dígitos del 0 al 9.
Del carácter 65 al 90 los caracteres alfabéticos en mayúsculas.
Del carácter 97 al 122 los caracteres alfabéticos en minúsculas.
El resto de posiciones lo ocupan caracteres especiales como el
El resto de posiciones lo ocupan caracteres especiales como el



i

espacio en blanco, la coma, el punto, operadores aritméticos, etc.

● Los caracteres alfabéticos están restringidos a los que se utilizan

en el idioma inglés.

g

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

3

3

El juego de caracteres (II)

Juego de caracteres ASCII extendido.

g

● Soluciona estas restricciones permitiendo la representación de

caracteres regionales.

● Utiliza los 8 bits para representar todos los caracteres.

Los caracteres de 32 al 126 utilizan los caracteres imprimibles ASCII

estándar, así cómo los códigos de control 8 a 13.

Los códigos superiores a 127 se utilizan para representar los

caracteres ampliados
caracteres ampliados.

● Existen distintas codificaciones para esos caracteres ampliados:
Página de códigos 437 (para las versiones en inglés de MS-DOS).
Página de códigos 850 (para las versiones de Europa occidental de
Página de códigos 850 (para las versiones de Europa occidental de
MS-DOS)

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

4

4

El juego de caracteres (III)

El juego de caracteres EBCDIC (Extended BinaryCodedDecimal

InterchangeCode).
● Desarrollado en los años 60 por IBM.
● Utiliza 8 bits por carácter: 256 caracteres posibles.
● Distribuye los caracteres de forma distinta: minúsculas, mayúsculas y

ú

ú

dígitos.

Juego de caracteres Unicode.

Puede utilizar hasta cuatro bytes para almacenar cada carácter
● Puede utilizar hasta cuatro bytes para almacenar cada carácter.
● Asigna un número a cada posible carácter de cada idioma.

Cubre casi todas las escrituras actuales (escrituras orientales, braille, cheroke…).

● Admite distintas codificaciones UTF-7 UTF-8 UTF-16 y UTF-32
● Admite distintas codificaciones UTF 7, UTF 8, UTF 16 y UTF 32.

El sistema de archivos NTFS de Windows utiliza UTF-16.
El juego de caracteres Unicode ISO-8859-1 o Latin-1 es el utilizado en Europa

Occidental.
i

E
ASCII
En sus primeros 127 caracteres se corresponde con el código ASCII.

l ódi

127

d

t

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

5

5

Cadenas de caracteres

Dato de tipo carácter.

● Un único carácter del juego de caracteres utilizado.

En algunos lenguajes se asimila a un dato de tipo entero correspondiente al

código numérico del carácter.

● Una constante de tipo carácter estaría formada por un carácter encerrado

entre comillas.
Por ejemplo, 'C', '~', '1'.
La función aCarácter() devuelve el carácter correspondiente al código que
o Por ejemplo, aCarácter(13) devolvería el carácter correspondiente al retorno de

pasamos entre paréntesis.

á

í

carro.

Datos de tipo cadena.

● Un conjunto de caracteres del juego de caracteres que se esté utilizando.
● El lenguaje algorítmico UPSAM considera compatibles las cadenas y los

caracteres.

Es posible asignar cadenas a caracteres o viceversa, se pueden comparar datos

de tipo cadena con datos de tipo carácter, etc.

o Esto no ocurre en otros lenguajes como Java o C.

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

6

6

Cadenas de caracteres (II)

Constante de cadena.
t

i d

Carácter nulo.

● Una serie de caracteres delimitados por el separador de cadenas que

U
puede ser la comilla simple o doble.

it d

d li

d

d

l

d

● El carácter correspondiente al código 0.

g

p

Es un carácter válido aunque no imprimible.
Es distinto del espacio en blanco.

o El espacio en blanco tiene un código ASCII 32.

Cadena nula.
Cade a u a
● Cadena que sólo contiene un carácter nulo.

Tiene longitud 0.

Subcadena.

● Un fragmento de una cadena principal.
Un fragmento de una cadena principal
● Puede estar formado por una parte de la cadena, por toda la cadena o
por ningún carácter de la cadena (se trataría de una subcadena nula).

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

7

7

Variables de tipo cadena

Las cadenas se consideran un tipo de dato estándar.
● La declaración de una variable de tipo cadena se realizaría

p

utilizando la palabra reservada cadena.
cadena : nombre, apellidos

var
var

En el lenguaje algorítmico UPSAM no es necesario especificar la

longitud de la cadena.
longitud de la cadena.

Dependiendo de la forma de almacenamiento en

á

memoria las cadenas pueden ser:
● Estáticas.
● Semiestáticas.
● Dinámicas.

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

8

8

Variables de tipo cadena (II)

Cadenas estáticas.

● Define su longitud en tiempo
de compilación, es decir en la
declaración de la variable.

● Son las cadenas que utiliza C

q

o Pascal.

Las cadenas estarían

formadas por un array de
caracteres que se trata de
forma especial
forma especial.

o En Pascal, el tamaño se

limita a 255 caracteres y el
elemento 0 del array
contendría el número de
caracteres
caracteres.
o En C la longitud máxima
está indefinida y el último
carácter sería el carácter
nulo (\0).

Declaración en Pascal
var
...

cad : string[9];
g[ ];
cad := 'hola';

Declaración en C

...

char car[9];
char *nombre;
cad = “hola”;
nombre = “Pepe”;

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

9

9

Variables de tipo cadena (III)

Cadenas semiestáticas (o semidinámicas).
)

(

● Cadenas de longitud variable con un tamaño máximo.

Su tamaño no se establece en la declaración: aumenta o disminuye

según las necesidades.

● BASIC utiliza este modelo: presenta cadenas de longitud variable

con un tamaño máximo de 32.767 caracteres.

Cadenas estáticas.

● Cadenas de longitud totalmente variable.

Se almacenen en forma de lista enlazada y los caracteres estarían

dispersos por la memoria.

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

10

10

Variables de tipo cadena (IV)

En el lenguaje algorítmico UPSAM la forma de

g j

g

almacenamiento no es importante.
● No hay que declarar el tamaño.
● Es posible tratar la cadena:
● Es posible tratar la cadena:

Como un conjunto de caracteres mediante el nombre de la variable.
Los caracteres individuales como si fueran elementos de un array.
Ej
Ejemplo: Escribir la cadena 'HOLA' al revés:

'HOLA'

ibi

d

l

é

l

l

E
var

cadena : c
entero : i

...
c 'HOLA'
desde i 4 hasta 1 incremento -1 hacer
fin desde
fin_desde
...

escribir(c[i])

Universidad Pontificia de Salamanca (Campus Madrid)

Luis Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura, 2011

11

11

Operaciones con cadena

Instrucciones de asignación y entrada/salida.

● Funcionan igual que con cualquier otro tipo de dato estándar.

á

Operaciones de relación.

● Comparan el código de los caracteres que forman el carácter o la cadena.

La expresión 'A' < 'B' compara el código de la A (65) con el de la B (66).
)

p

p

g

(

)

(

o La expresión sería verdadera porque 65 < 66.

Es importante saber el orden de la codificación del juego de caracteres que se esté

utilizando.

o En ASCII

– 1º Dígitos
– 1º Dígitos.
– 2º Mayúsculas ordenadas de menor a mayor.
– 3º Minúsculas ordenadas de menor a mayor.
– 4º Caracteres especiales y regionales (ñ, Ñ, vocales acentuadas, etc.).

● La comparación de cadenas compara uno por uno y de izquierda a derecha los

ódi
códigos de cada uno de los caracteres de las cadenas de la operación.
El proc
  • Links de descarga
http://lwp-l.com/pdf18263

Comentarios de: Tema 7. Cadenas de caracteres - Fundamentos de Programación I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad