Está en la página 1de 30

FUNDAMENTOS DE

ALGORITMOS
UNIDAD 2
SESION 14
Ing. César E. Aguirre Rodríguez

INGENIERIA SISTEMAS COMPUTACIONALES


UNIDAD 2: ARREGLOS

SESIÓN 14:

• Cadena de caracteres. Funciones de manipulación de


caracteres. Arreglo de cadenas
REFLEXIONA:

¿Qué es un arreglo de caracteres?


LOGRO DE SESIÓN

Al finalizar la sesión, el estudiante resuelve problemas relacionados a


arreglos unidimensionales de caracteres considerando las reglas básicas
establecidas en el planteamiento lógico del algoritmo; con precisión y
lógica.

Temario:
• Cadena de caracteres
• Funciones de cadenas
CADENA DE CARACTERES EN C++
CADENAS DE CARACTERES

• Una cadena de caracteres es una secuencia de cero o más símbolos, que incluye
letras del alfabeto, dígitos y caracteres especiales.

Standard ASCII (Caracteres Alfa numéricos)


CADENAS EN C ++

• Una cadena en C++ es un conjunto de caracteres, o valores de tipo char, terminados


con el carácter nulo, es decir el valor numérico 0.

• Internamente, en el ordenador, se almacenan en posiciones consecutivas de


memoria.

• Este tipo de estructuras recibe un tratamiento muy especial, ya que es de gran


utilidad y su uso es continuo.

• La manera de definir una cadena es la siguiente:


INICIALIZANDO LOS ELEMENTOS DE UN ARREGLO

• Forma incorrecta de asignar a un ARRAY una cadena de caracteres:

• Forma correcta de asignar a un ARRAY una cadena de caracteres:


INICIALIZANDO LOS ELEMENTOS DE UN ARREGLO

• Forma correcta de asignar a un ARRAY una cadena de caracteres:

• Forma correcta de asignar a un ARRAY una cadena de caracteres (usar función


strcpy (destino, origen) de la biblioteca string.h ):
EJEMPLOS DE CADENAS DE CARACTERES

Ejemplos de inicialización de arrays de caracteres asignando valores a cada elemento:

• De forma gráfica el array que se crea es:

• En este caso hemos indicado que el tamaño es 10 pero solo hemos proporcionado 7
caracteres. Los tres elementos restantes tomarán un valor indeterminado:
EJEMPLOS DE CADENAS DE CARACTERES

Ejemplos de inicialización de arrays de caracteres utilizando un literal:

• Esta declaración crea el array:

• Vemos que en este caso el carácter nulo se añade automáticamente.

En este caso hemos indicado que el tamaño es 10 pero el literal solo tiene 5. El
array que se crea es:
EJEMPLO 1
EJEMPLO 2
EJEMPLO 3
EJEMPLO 4
#INCLUDE <STRING.H>

• La biblioteca “string” tiene una gran cantidad de funciones prácticas para trabajar con
cadenas de caracteres. Para utilizarlas debemos de incluir el fichero que define los
prototipos de dichas funciones:

• Algunas de las funciones más importantes son:

Nombre Descripción
strcpy (arg1, arg2) Copia arg2 en arg1. Ejemplo: strcpy (cadena, “control”);

strlen (arg1) Devuelve la longitud del texto representado por arg1.


Ejemplo: strlen(cadena1)
strcat (arg1, arg2) Concatena las cadenas representadas por arg1 y arg2.
Ejemplo: strcat(cadena1, “ unidades”)
strcmp (arg1, arg2) Devuelve 0 si las cadenas representadas por arg1 y arg2 son
iguales, o un valor menor que cero si arg1 precede
alfabéticamente a arg2. Ejemplo: resComparacion = strcmp
(cadena4, cadena2);
INICIALIZANDO LOS ELEMENTOS DE UN ARREGLO

0 1 2 3 4 5 6 7 8 9 10 11 12 13
cadena[14] 'H' 'o' 'l' 'a' 'M' 'u' 'n' 'd' 'o' '\0'
EJEMPLO 5
LA FUNCIÓN STRCAT EN LENGUAJE C++

• En el lenguaje C++ , para concatenar cadenas, se puede utilizar la función strcat,


que está disponible en la biblioteca estándar de C.

Ejemplo: Dadas las siguientes declaraciones de arrays de caracteres:


LA FUNCIÓN STRCAT EN LENGUAJE C

• En lenguaje C++:

• Observe el efecto que tiene, en la memoria de la computadora, la ejecución de la


función strcat. El contenido del array apellido se concatena (añade) al array nombre.
EJEMPLO 6
LA FUNCIÓN STRCMP EN LENGUAJE C++

Sirve para comparar la cadena cadena1 con la cadena2.

• Devuelve el valor devuelve 0 si son iguales.

• Devuelve menor que cero si cadena1 es menor que cadena2.

• Devuelve mayor que cero si cadena1 es mayor que cadena2.


EJEMPLO 7
EJEMPLO 8
EJERCICIOS
EJERCICIO 1

• Copiar el contenido de una cadena a otra cadena


EJERCICIO 2

• Añadir un nombre al final de una cadena


EJERCICIO 3

• Realice un programa que lea una cadena de caracteres de la entrada estándar y muestre en la
salida estándar cuántas ocurrencias de cada vocal existen en la cadena
EJERCICIO 4

• Dado un carácter, determine si es una letra, número o símbolo


¿Preguntas o
Comentarios?