SlideShare una empresa de Scribd logo
FUNDAMENTOS DE
PROGRAMACION
 CADENA DE CARACTERES
DEFINICION
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.
Las cadenas de caracteres (también son llamadas cadenas
o strings) son un tipo particular de vectores, son de hecho
vectores de char, con la particularidad que tienen una marca de
fin (el caracter '0)
Desde un punto de vista de la programación, si no se ponen
restricciones al alfabeto, una cadena podrá estar formada por
cualquier combinación finita de todo el juego de
caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la
'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos
diversos '!', '@', '%', etc.).
En este mismo ámbito (el de la programación), se utilizan
normalmente como un tipo de dato predefinido, para palabras,
frases o cualquier otra sucesión de caracteres. En este caso, se
almacenan en un vector de datos, o matriz de datos de una sola
fila (array en inglés). Las cadenas se pueden almacenar
físicamente:
◦ Seguidas.
◦ Enlazados letra a letra.
Generalmente son guardados un carácter a continuación de otro
por una cuestión de eficiencia de acceso.
REPRESENTACION
La manera de definir una cadena es la siguiente:
char <nombre_de_la_variable> [<longitud máxima>];
Una cadena suele ser representada entre comillas dobles superiores
("palabra"), mientras que un carácter de esa cadena (un char en inglés) suele ser
representado entre comillas simples ('p'). Por ejemplo, en C:
◦ char letra = 'a';
◦ char cadena[5] = "hola";
◦ char vector[]={'H','o','l','a'};
◦ char cadena_vacia[]="";
La manera correcta de asignar una cadena es:
 char Saludo[5]; Saludo[0] = 'H'; Saludo[1] = 'O'; Saludo[2] = 'L'; Saludo[3] = 'A'; Saludo[4]
= 0;
Generalmente para acceder a un carácter en una posición determinada se
suele usar la forma variable [posición] como cuando se accede a un
vector.
Un vector de 4 elementos, con los elementos
'H','o','l' y 'a' */
Operación con cadena de caracteres
Al considerar las cadenas como un tipo de datos, hay que definir (o conocer)
cuales son las operaciones que podemos hacer con ellas, aquí se exponen
algunas de ellas:
 Asignación: Consiste en asignarle una cadena a otra.
 Concatenación: Consiste en unir dos cadenas o más (o una cadena con
un carácter) para formar una cadena de mayor tamaño.
 Búsqueda: Consiste en localizar dentro de una cadena una sub cadena más
pequeña o un carácter.
 Extracción: Se trata de sacar fuera de una cadena una porción de la misma
según su posición dentro de ella.
 Comparación: Se utiliza para comparar dos cadenas.
NOTAS
Cuando se declara una cadena hay que tener en cuenta que tendremos
que reservar una posición para almacenar el carácter nulo terminador, de
modo que si queremos almacenar la cadena "HOLA", tendremos que
declarar la cadena como: char Saludo[5];
Para poder mostrar una comilla (") dentro de la cadena y no tener
problemas con las comillas que la delimitan, se usan secuencias de
escape. Esto se aplica a otros caracteres reservados o no imprimibles
como el retorno de carro. No obstante, las expresiones para producir
estas secuencias de escape dependen del lenguaje de programación que
se esté usando. Una forma común, en muchos lenguajes, de escapar un
carácter es anteponiéndole un «» (sin comillas), p. e.: «"» (sin
comillas).
FUNCIONES
Existen varias funciones de gran utilidad para una cadena de caracteres, que ya
se encuentran preestablecidas en la biblioteca estándar.
Las más fundamentales pueden ser:
largo = strlen(cadena)
strcpy(destino, origen)
strcat(destino, origen)
// Copia el contenido de origen en destino
// destino debe ser lo suficientemente grande
// Agrega el contenido de origen al final de destino
// Para obtener el largo de una cadena
Ejemplo:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
Void main ()
{
int a[] = {5,15,20,25,30};
char color[] = "rojo” , grosor[] = "grueso“,descripcion[1024],vector[]={'H','o','l','a'};
strcpy(descripcion, "Lapiz color ");
strncat(descripcion, color, 1024);
strncat(descripcion, " de trazo ", 1024);
strncat(descripcion, grosor, 1024);
printf(“&c”,descripcion); // descripcion contiene "Lapiz color rojo de trazo grueso“
printf("n%c",vector[0]);
printf("n%i",a[1]);
}
Lapiz color rojo de trazo grueso
H
15
VECTORES EN C++
DEFINICIÓN
Los vectores son una forma de almacenar datos
que permiten contener una serie de valores del
mismo tipo, cada uno de los valores contenidos
tiene una posición asociada que se usará para
accederlos. Está posición o índice será siempre
un número entero positivo.
Podemos acceder a sus elementos utilizando el
nombre del vector, los corchetes, y la posición.
DECLARACIÓN
Un vector constará de los siguientes
elementos, ya sea asiganandole valores
iniciales a los elementos
tipo_elemento nombre[largo];
tipo_elemento nombre[largo]={valor_0, valor_1, valor_2}
TIPOS DE VECTORES
Dependiendo del tipo de vector y
del lenguaje de programación un vector
podría tener una cantidad variable o fija
de datos .
Vectores estáticos: Poseen cantidad fija
de memoria asignada
Vectores dinámicos: Tienen una cantidad
variable de datos
EJEMPLO
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int main()
{
int vec[5],i;
for(i=0;i<=4;i++)
{
do{
printf("Ingrese el elemeto [%d]: ",i+1);
scanf("%d",&vec[i]);
}while(vec[i]<0 || vec[i]>100);
}
for(i=0;i<=4;i++)
{
printf("nEl elemento[%d] es: %d",i+1,vec[i]);
}
getch();
}

Más contenido relacionado

La actualidad más candente

Cadenas de Caracteres
Cadenas de CaracteresCadenas de Caracteres
Cadenas de Caracteres
Andres Chiriboga
 
6 excepciones
6 excepciones6 excepciones
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
Marco Antonio Plascencia
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
Tensor
 
Utp pti_s5_arreglos 2012-2
 Utp pti_s5_arreglos 2012-2 Utp pti_s5_arreglos 2012-2
Utp pti_s5_arreglos 2012-2
jcbenitezp
 
Utp pti_s5_arreglos
 Utp pti_s5_arreglos Utp pti_s5_arreglos
Utp pti_s5_arreglos
jcbenitezp
 
Luis hernandez 22310621
Luis hernandez   22310621Luis hernandez   22310621
Luis hernandez 22310621
Luis Miguel
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenas
guest506dc9
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
Claribel Eusebio Nolasco
 
METODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓNMETODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓN
LAUNASA NOVENO B
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
Diego Santimateo
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Modulo2a
Modulo2aModulo2a

La actualidad más candente (13)

Cadenas de Caracteres
Cadenas de CaracteresCadenas de Caracteres
Cadenas de Caracteres
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
 
Utp pti_s5_arreglos 2012-2
 Utp pti_s5_arreglos 2012-2 Utp pti_s5_arreglos 2012-2
Utp pti_s5_arreglos 2012-2
 
Utp pti_s5_arreglos
 Utp pti_s5_arreglos Utp pti_s5_arreglos
Utp pti_s5_arreglos
 
Luis hernandez 22310621
Luis hernandez   22310621Luis hernandez   22310621
Luis hernandez 22310621
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenas
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
METODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓNMETODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓN
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Modulo2a
Modulo2aModulo2a
Modulo2a
 

Similar a Fundamentos de programacion

Cadenas
CadenasCadenas
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteres
SNPP
 
Articulacion ii -_cadenas
Articulacion ii -_cadenasArticulacion ii -_cadenas
Articulacion ii -_cadenas
Luis Fernando
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
Tutorial Html
 
Cadena Juan Bastidas
Cadena Juan BastidasCadena Juan Bastidas
Cadena Juan Bastidas
Juan Bastidas
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
Carina del Milagro Ruiz
 
!Prograc6
!Prograc6!Prograc6
!Prograc6
robertoxe
 
Caracteres y cadenas en C
Caracteres y cadenas en CCaracteres y cadenas en C
Caracteres y cadenas en C
Ronny Parra
 
14 Caracteres Y Cadenas
14 Caracteres Y Cadenas14 Caracteres Y Cadenas
14 Caracteres Y Cadenas
lichic
 
CARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE CCARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE C
Gustavo Salazar Loor
 
Tema7 dinamicas
Tema7 dinamicasTema7 dinamicas
Tema7 dinamicas
labebelo
 
Cadenas y/o strings
Cadenas y/o stringsCadenas y/o strings
Cadenas y/o strings
Fernando Solis
 
Asignacion
AsignacionAsignacion
Asignacion
Fernando Solis
 
Fpr Tema6 www.fresymetal.com
Fpr Tema6 www.fresymetal.comFpr Tema6 www.fresymetal.com
Fpr Tema6 www.fresymetal.com
FresyMetal
 
Cadenas y punteros.ppt
Cadenas y punteros.pptCadenas y punteros.ppt
Cadenas y punteros.ppt
Jacqueline Villarroel Valenzuela
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Cadenas De Caracteres
Cadenas De CaracteresCadenas De Caracteres
Cadenas De Caracteres
Mauricio
 
Clase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptxClase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptx
JoelMCh
 
Programacion
ProgramacionProgramacion
Programacion
Jefferson Curay
 

Similar a Fundamentos de programacion (20)

Cadenas
CadenasCadenas
Cadenas
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteres
 
Articulacion ii -_cadenas
Articulacion ii -_cadenasArticulacion ii -_cadenas
Articulacion ii -_cadenas
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
 
Cadena Juan Bastidas
Cadena Juan BastidasCadena Juan Bastidas
Cadena Juan Bastidas
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
 
!Prograc6
!Prograc6!Prograc6
!Prograc6
 
Caracteres y cadenas en C
Caracteres y cadenas en CCaracteres y cadenas en C
Caracteres y cadenas en C
 
14 Caracteres Y Cadenas
14 Caracteres Y Cadenas14 Caracteres Y Cadenas
14 Caracteres Y Cadenas
 
CARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE CCARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE C
 
Tema7 dinamicas
Tema7 dinamicasTema7 dinamicas
Tema7 dinamicas
 
Cadenas y/o strings
Cadenas y/o stringsCadenas y/o strings
Cadenas y/o strings
 
Asignacion
AsignacionAsignacion
Asignacion
 
Fpr Tema6 www.fresymetal.com
Fpr Tema6 www.fresymetal.comFpr Tema6 www.fresymetal.com
Fpr Tema6 www.fresymetal.com
 
Cadenas y punteros.ppt
Cadenas y punteros.pptCadenas y punteros.ppt
Cadenas y punteros.ppt
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Cadenas De Caracteres
Cadenas De CaracteresCadenas De Caracteres
Cadenas De Caracteres
 
Clase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptxClase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptx
 
Programacion
ProgramacionProgramacion
Programacion
 

Fundamentos de programacion

  • 2.  CADENA DE CARACTERES DEFINICION 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. Las cadenas de caracteres (también son llamadas cadenas o strings) son un tipo particular de vectores, son de hecho vectores de char, con la particularidad que tienen una marca de fin (el caracter '0)
  • 3. Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego de caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc.). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés). Las cadenas se pueden almacenar físicamente: ◦ Seguidas. ◦ Enlazados letra a letra. Generalmente son guardados un carácter a continuación de otro por una cuestión de eficiencia de acceso.
  • 4. REPRESENTACION La manera de definir una cadena es la siguiente: char <nombre_de_la_variable> [<longitud máxima>]; Una cadena suele ser representada entre comillas dobles superiores ("palabra"), mientras que un carácter de esa cadena (un char en inglés) suele ser representado entre comillas simples ('p'). Por ejemplo, en C: ◦ char letra = 'a'; ◦ char cadena[5] = "hola"; ◦ char vector[]={'H','o','l','a'}; ◦ char cadena_vacia[]=""; La manera correcta de asignar una cadena es:  char Saludo[5]; Saludo[0] = 'H'; Saludo[1] = 'O'; Saludo[2] = 'L'; Saludo[3] = 'A'; Saludo[4] = 0; Generalmente para acceder a un carácter en una posición determinada se suele usar la forma variable [posición] como cuando se accede a un vector. Un vector de 4 elementos, con los elementos 'H','o','l' y 'a' */
  • 5. Operación con cadena de caracteres Al considerar las cadenas como un tipo de datos, hay que definir (o conocer) cuales son las operaciones que podemos hacer con ellas, aquí se exponen algunas de ellas:  Asignación: Consiste en asignarle una cadena a otra.  Concatenación: Consiste en unir dos cadenas o más (o una cadena con un carácter) para formar una cadena de mayor tamaño.  Búsqueda: Consiste en localizar dentro de una cadena una sub cadena más pequeña o un carácter.  Extracción: Se trata de sacar fuera de una cadena una porción de la misma según su posición dentro de ella.  Comparación: Se utiliza para comparar dos cadenas.
  • 6. NOTAS Cuando se declara una cadena hay que tener en cuenta que tendremos que reservar una posición para almacenar el carácter nulo terminador, de modo que si queremos almacenar la cadena "HOLA", tendremos que declarar la cadena como: char Saludo[5]; Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con las comillas que la delimitan, se usan secuencias de escape. Esto se aplica a otros caracteres reservados o no imprimibles como el retorno de carro. No obstante, las expresiones para producir estas secuencias de escape dependen del lenguaje de programación que se esté usando. Una forma común, en muchos lenguajes, de escapar un carácter es anteponiéndole un «» (sin comillas), p. e.: «"» (sin comillas).
  • 7. FUNCIONES Existen varias funciones de gran utilidad para una cadena de caracteres, que ya se encuentran preestablecidas en la biblioteca estándar. Las más fundamentales pueden ser: largo = strlen(cadena) strcpy(destino, origen) strcat(destino, origen) // Copia el contenido de origen en destino // destino debe ser lo suficientemente grande // Agrega el contenido de origen al final de destino // Para obtener el largo de una cadena
  • 8. Ejemplo: #include <stdio.h> #include <conio.h> #include <iostream.h> Void main () { int a[] = {5,15,20,25,30}; char color[] = "rojo” , grosor[] = "grueso“,descripcion[1024],vector[]={'H','o','l','a'}; strcpy(descripcion, "Lapiz color "); strncat(descripcion, color, 1024); strncat(descripcion, " de trazo ", 1024); strncat(descripcion, grosor, 1024); printf(“&c”,descripcion); // descripcion contiene "Lapiz color rojo de trazo grueso“ printf("n%c",vector[0]); printf("n%i",a[1]); } Lapiz color rojo de trazo grueso H 15
  • 9. VECTORES EN C++ DEFINICIÓN Los vectores son una forma de almacenar datos que permiten contener una serie de valores del mismo tipo, cada uno de los valores contenidos tiene una posición asociada que se usará para accederlos. Está posición o índice será siempre un número entero positivo. Podemos acceder a sus elementos utilizando el nombre del vector, los corchetes, y la posición.
  • 10. DECLARACIÓN Un vector constará de los siguientes elementos, ya sea asiganandole valores iniciales a los elementos tipo_elemento nombre[largo]; tipo_elemento nombre[largo]={valor_0, valor_1, valor_2}
  • 11. TIPOS DE VECTORES Dependiendo del tipo de vector y del lenguaje de programación un vector podría tener una cantidad variable o fija de datos . Vectores estáticos: Poseen cantidad fija de memoria asignada Vectores dinámicos: Tienen una cantidad variable de datos
  • 12. EJEMPLO #include<iostream.h> #include<conio.h> #include<stdio.h> int main() { int vec[5],i; for(i=0;i<=4;i++) { do{ printf("Ingrese el elemeto [%d]: ",i+1); scanf("%d",&vec[i]); }while(vec[i]<0 || vec[i]>100); } for(i=0;i<=4;i++) { printf("nEl elemento[%d] es: %d",i+1,vec[i]); } getch(); }