SlideShare una empresa de Scribd logo
C.E.C.O Nº 3
      Teoría de la Computación II

                Integrantes:
Buslaiman, Emeli
Cortés, Cristian
Díaz, María Rosa
Oliva, Cristian
Páez, María Vanesa
 Es una secuencia ordenada de longitud arbitraria.
 Es una sucesión de caracteres.




Cadenas: Definición
En matemática:
 Letras: w, x, y, z.


En programación:
   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.



Puede estar formada por:
 En un vector de datos
 En una matriz de datos de una sola fila (array en inglés).




Almacenamiento
 Char c = „a‟;
 Char str[5]= “hola”;




Representación
a Alerta

b Espacio atrás

f Salto de página

n Salto de línea

r Retorno de carro

t Tabulación horizontal

v Tabulación vertical

 Barra invertida

' Comilla simple

" Comillas dobles



Caracteres Reservados
Asignación
  Cad1: String [8];
  Cad2: String [11];
  Cad3: String [15];
  Cad4: String [11];
Supongamos que se ejecuta la sentencia Cad2:= `informática´;
Cad2     I    N F O R M A T I C A
         1 2 3 4 5             6 7 8 9 10 11

Supongamos que ahora se ejecuta la sentencia Cad3:= Cad2;
Cad3 I N F O R M A T I C A                     longitud actual = 11
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 longitud máxima = 15


   OPERACIONES CON CADENAS
Supongamos que se trata de ejecutar ahora

Cad1:= Cad2;

Cad1     I N F O R M AT             longitud actual = 11
         123 4 5 6 7 8              longitud máxima = 8
Concatenación
cadena_1 =cadena_2 +cadena_3


Búsqueda
select * from libros

            where autor=„Borges‟;
Imaginemos que tenemos registrados estos 2 libros:

 El Aleph de Borges;

 Antologia poetica de J.L. Borges;



Para recuperar todos los registros cuyo autor contenga la cadena
"Borges" debemos tipear:

       select * from libros where autor like "%Borges%";
Extracción
Cad1=“Hola mundo”
Cad_resultante=“Hol”


Comparación
      El carácter „A‟ será   <    el carácter „C‟
      (código 65)                (código 67)
      El carácter 8 será     <   el carácter „i‟
       (código 56)                (código 105)
Así:
„EMILIO‟=EMILIO Expresión verdadera
„EMILIO‟=EMILIA Expresión falsa
 Las cadenas pueden ser de naturaleza dinámica (pueden
  alterar su longitud durante el tiempo de ejecución), o de
  naturaleza estática (su longitud es fija a lo largo del tiempo
  de ejecución). En este segundo caso el programador debe
  prever que al recorrer la cadena los indíces no se vayan de
  los límites previstos (C no permite que las cadenas crezcan
  automáticamente de forma explícita, mientras que C# sí).

 El final de la cadena se delimita de diferente manera en uno
  u otro caso:
   Mediante un carácter de fin de cadena ("0" en C) para las
    cadenas de tipo dinámico.
   Mediante una propiedad de la cadena que delimite su longitud
    (Length en C#) para las de tipo estático.


Cadenas dinámicas y estáticas
Declaración:
char cadena_hola[]="Hola";
char otro_hola[]={'H','o','l','a','0'}; // Igual al anterior
char vector[]={'H','o','l','a'}; /* Un vector de 4 elementos, con los elementos 'H','o','l' y 'a' */
char espacio_cadena[1024]="Una cadena en C";
char cadena_vacia[]="";


Asignación: asignarle una cadena a otra

char *strcpy(char [], const char[]); # en C
cadena1=cadena2; # en C++


       Ejemplos en C
Función calcula el largo de una cadena:
/* devuelve la cantidad de caracteres en cadena sin contar el '0' */

    int largo_cadena(char cadena[])
{
     int largo=0
    while (cadena[largo]!='0') largo++;
    return largo;
}




Ejemplos en C
Otras librerias:
  largo = strlen(cadena) // Para obtener el largo de una cadena
 strcpy(destino, origen) // Copia el contenido de origen en destino // destino debe ser
 lo suficientemente grande
 strcat(destino, origen) // Agrega el contenido de origen al final de destino // destino
 debe ser lo suficientemente grander
 resultado = strcmp(cadena1, cadena2) // Compara dos cadenas // devuelve un valor
 menor, igual o mayor que 0 según si cadena1 es menor, // igual o mayor que
 cadena2, respectivamente.
 posicion = strchr(cadena, caracter) // Devuelve la posición en memoria de la primer
 // aparición de caracter dentro de cadena
 posicion = strstr(cadena,subcadena) // Devuelve la posición en memoria de la primer
 // aparición de subcadena dentro de cadena




Ejemplos en C
Asignación
<?php

     $a = 6;
     $a = ($b = 4) + 5; // ahora $a es igual a 9 y $b se ha establecido en 4

     $a = 3;
     $a += 5; // establece $a en 8, como si se hubiera dicho: $a = $a + 5;

     $b = "Hola ";

     $a = 3;
     $b = &$a; // $b es una referencia para $a
?>


         Tratamiento de cadenas: PHP
Comparación
Ejemplo     Nombre              Resultado
                                TRUE si $a es igual a $b después de la manipulación de
$a == $b    Igual
                                tipos.
                                TRUE si $a es igual a $b, y son del mismo tipo. (a partir
$a === $b   Idéntico
                                de PHP 4)
                                TRUE si $a no es igual a $b después de la manipulación
$a != $b    Diferente
                                de tipos.
                                TRUE si $a no es igual a $b después de la manipulación
$a <> $b    Diferente
                                de tipos.
                                TRUE si $a no es igual a $b, o si no son del mismo tipo.
$a !== $b   No idéntico
                                (a partir de PHP 4)
$a < $b     Menor que           TRUE si $a es estrictamente menor que $b.
$a > $b     Mayor que           TRUE si $a es estrictamente mayor que $b.
$a <= $b    Menor o igual que   TRUE si $a es menor o igual que $b.
$a >= $b    Mayor o igual que   TRUE si $a es mayor o igual que $b.
Concatenación
<?php
 $cad1 = “Hoy hace mucho”;
 $cad2 = “calor en la ciudad”;
 echo $cad1.” ”.$cad2; // Mostrara “Hoy hace mucho calor en la ciudad”

 $b = "Hola ";
 $b .= “Mundo!"; // establece $b en "Hola Mundo!", al igual que $b = $b . ”Mundo!";


 $var = “de php”;
 echo = “Hola, “.”esta es una prueba “.$var;
 // Hola, esta es una prueba de php
?>
Algunas Funciones
<?php

     If (is_numeric($variable))
      {
         echo ”es numérica”;
       }
     Else
      {
         echo ”NO es numérica“;
       }

     $si = array('esto', 'es', 'un array');
     echo is_array($si) ? 'Array' : 'No es un array';
     echo "n";

?>
<?php

 $str = “hola";
 $str = strtoupper($str);
 echo $str; // muestra: HOLA

 $str2 = “MUNDO";
 $str2 = strtolower($str2);
 echo $str2; // muestra: hola

 $str3 = 'abcdef';
 echo strlen($str3); // 6


?>
Fin

Más contenido relacionado

La actualidad más candente

Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Rubi Veronica Chimal Cuxin
 
Modelo jerarquico
Modelo jerarquicoModelo jerarquico
Modelo jerarquico
Nelson Rubio
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
Urban Skate House
 
3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO
Instituto Tecnológico de Tepic
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
Natalia Ludeña
 
SGBD NoSQL
SGBD NoSQLSGBD NoSQL
SGBD NoSQL
Ulises WD
 
Sistema de Archivos
Sistema de ArchivosSistema de Archivos
Sistema de Archivos
Stefano Salvatori
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
loco8888
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 

La actualidad más candente (20)

Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Organización de archivos
Organización de archivosOrganización de archivos
Organización de archivos
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Modelo jerarquico
Modelo jerarquicoModelo jerarquico
Modelo jerarquico
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Administracion de entrada y salida
Administracion de entrada y salidaAdministracion de entrada y salida
Administracion de entrada y salida
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO
 
Caracteristicas del nifs y fat 32
Caracteristicas del nifs y fat 32Caracteristicas del nifs y fat 32
Caracteristicas del nifs y fat 32
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 
SGBD NoSQL
SGBD NoSQLSGBD NoSQL
SGBD NoSQL
 
Sistema de Archivos
Sistema de ArchivosSistema de Archivos
Sistema de Archivos
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 

Destacado

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
amartinez_29
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
Andreina Paredes Di Pascuale
 
Punteros
PunterosPunteros
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
vmtorrealba
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceadoslourdesnbv
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
nukeeHE
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
Jonathan Bastidas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
knowallrpa
 
Tda y heaps
Tda y heapsTda y heaps
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colasrcad
 
Tecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosTecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosPEREZHROS
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principallagm000
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtuallagm000
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
Pedro Contreras Flores
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De BusquedaUVM
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...RootedCON
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
Luis Miguel De Bello
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
Fredy Olaya
 

Destacado (20)

HEAPS
HEAPSHEAPS
HEAPS
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Punteros
PunterosPunteros
Punteros
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Tda y heaps
Tda y heapsTda y heaps
Tda y heaps
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Tecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosTecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceados
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtual
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 

Similar a Programacion de Cadenas

Php
PhpPhp
Php
cecusme
 
Php
PhpPhp
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje Cefrenpedro92
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en clagq
 
Clase 10 expresiones regulares
Clase 10 expresiones regularesClase 10 expresiones regulares
Clase 10 expresiones regulares
José Ricardo Tillero Giménez
 
Lo básico sobre strings
Lo básico sobre stringsLo básico sobre strings
Lo básico sobre stringsGoogle
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
Teolinda González
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
96elnoble14
 
Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
carlosadrianev
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
Carina del Milagro Ruiz
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)Oliver Centeno
 
Visual basic actualizado y c -2-1212616707734961-8
Visual basic actualizado y c -2-1212616707734961-8Visual basic actualizado y c -2-1212616707734961-8
Visual basic actualizado y c -2-1212616707734961-8
Alejandro Caro
 

Similar a Programacion de Cadenas (20)

Php
PhpPhp
Php
 
Php
PhpPhp
Php
 
Elementos php
Elementos phpElementos php
Elementos php
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
 
Php
PhpPhp
Php
 
32 Php. Etiquetas Html
32 Php. Etiquetas Html32 Php. Etiquetas Html
32 Php. Etiquetas Html
 
Clase 10 expresiones regulares
Clase 10 expresiones regularesClase 10 expresiones regulares
Clase 10 expresiones regulares
 
17 Php. Otras Variables
17 Php. Otras Variables17 Php. Otras Variables
17 Php. Otras Variables
 
Lo básico sobre strings
Lo básico sobre stringsLo básico sobre strings
Lo básico sobre strings
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
 
Php1
Php1Php1
Php1
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)
 
Visual basic actualizado y c -2-1212616707734961-8
Visual basic actualizado y c -2-1212616707734961-8Visual basic actualizado y c -2-1212616707734961-8
Visual basic actualizado y c -2-1212616707734961-8
 
ejercicios php rfo
ejercicios php rfoejercicios php rfo
ejercicios php rfo
 
Php2
Php2Php2
Php2
 

Más de Cristian Alberto Oliva

Diseño multimedia intro css
Diseño multimedia intro cssDiseño multimedia intro css
Diseño multimedia intro css
Cristian Alberto Oliva
 
Introduccion xhtml
Introduccion xhtmlIntroduccion xhtml
Introduccion xhtml
Cristian Alberto Oliva
 
HTML5, CSS3, JQUERY Y BOOSTRAP
HTML5, CSS3, JQUERY Y BOOSTRAPHTML5, CSS3, JQUERY Y BOOSTRAP
HTML5, CSS3, JQUERY Y BOOSTRAP
Cristian Alberto Oliva
 
Cronograma 13 encuentor inf definitivo
Cronograma 13 encuentor inf  definitivoCronograma 13 encuentor inf  definitivo
Cronograma 13 encuentor inf definitivo
Cristian Alberto Oliva
 
Cronograma 13 encuentor inf (2)
Cronograma 13 encuentor inf (2)Cronograma 13 encuentor inf (2)
Cronograma 13 encuentor inf (2)
Cristian Alberto Oliva
 
Horario tui 2 cuat 2015 lic cristian oliva
Horario tui 2 cuat 2015   lic cristian olivaHorario tui 2 cuat 2015   lic cristian oliva
Horario tui 2 cuat 2015 lic cristian olivaCristian Alberto Oliva
 
Horario h tui 2 cuat 2015 Lic cristian oliva
Horario h tui 2 cuat 2015   Lic cristian olivaHorario h tui 2 cuat 2015   Lic cristian oliva
Horario h tui 2 cuat 2015 Lic cristian olivaCristian Alberto Oliva
 
Horario tui 2 cuat 2015 lic cristian oliva
Horario tui 2 cuat 2015   lic cristian olivaHorario tui 2 cuat 2015   lic cristian oliva
Horario tui 2 cuat 2015 lic cristian olivaCristian Alberto Oliva
 
Recursividad
RecursividadRecursividad

Más de Cristian Alberto Oliva (9)

Diseño multimedia intro css
Diseño multimedia intro cssDiseño multimedia intro css
Diseño multimedia intro css
 
Introduccion xhtml
Introduccion xhtmlIntroduccion xhtml
Introduccion xhtml
 
HTML5, CSS3, JQUERY Y BOOSTRAP
HTML5, CSS3, JQUERY Y BOOSTRAPHTML5, CSS3, JQUERY Y BOOSTRAP
HTML5, CSS3, JQUERY Y BOOSTRAP
 
Cronograma 13 encuentor inf definitivo
Cronograma 13 encuentor inf  definitivoCronograma 13 encuentor inf  definitivo
Cronograma 13 encuentor inf definitivo
 
Cronograma 13 encuentor inf (2)
Cronograma 13 encuentor inf (2)Cronograma 13 encuentor inf (2)
Cronograma 13 encuentor inf (2)
 
Horario tui 2 cuat 2015 lic cristian oliva
Horario tui 2 cuat 2015   lic cristian olivaHorario tui 2 cuat 2015   lic cristian oliva
Horario tui 2 cuat 2015 lic cristian oliva
 
Horario h tui 2 cuat 2015 Lic cristian oliva
Horario h tui 2 cuat 2015   Lic cristian olivaHorario h tui 2 cuat 2015   Lic cristian oliva
Horario h tui 2 cuat 2015 Lic cristian oliva
 
Horario tui 2 cuat 2015 lic cristian oliva
Horario tui 2 cuat 2015   lic cristian olivaHorario tui 2 cuat 2015   lic cristian oliva
Horario tui 2 cuat 2015 lic cristian oliva
 
Recursividad
RecursividadRecursividad
Recursividad
 

Programacion de Cadenas

  • 1. C.E.C.O Nº 3 Teoría de la Computación II Integrantes: Buslaiman, Emeli Cortés, Cristian Díaz, María Rosa Oliva, Cristian Páez, María Vanesa
  • 2.  Es una secuencia ordenada de longitud arbitraria.  Es una sucesión de caracteres. Cadenas: Definición
  • 3. En matemática:  Letras: w, x, y, z. En programación:  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. Puede estar formada por:
  • 4.  En un vector de datos  En una matriz de datos de una sola fila (array en inglés). Almacenamiento
  • 5.  Char c = „a‟;  Char str[5]= “hola”; Representación
  • 6. a Alerta b Espacio atrás f Salto de página n Salto de línea r Retorno de carro t Tabulación horizontal v Tabulación vertical Barra invertida ' Comilla simple " Comillas dobles Caracteres Reservados
  • 7. Asignación Cad1: String [8]; Cad2: String [11]; Cad3: String [15]; Cad4: String [11]; Supongamos que se ejecuta la sentencia Cad2:= `informática´; Cad2 I N F O R M A T I C A 1 2 3 4 5 6 7 8 9 10 11 Supongamos que ahora se ejecuta la sentencia Cad3:= Cad2; Cad3 I N F O R M A T I C A longitud actual = 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 longitud máxima = 15 OPERACIONES CON CADENAS
  • 8. Supongamos que se trata de ejecutar ahora Cad1:= Cad2; Cad1 I N F O R M AT longitud actual = 11 123 4 5 6 7 8 longitud máxima = 8
  • 9. Concatenación cadena_1 =cadena_2 +cadena_3 Búsqueda select * from libros where autor=„Borges‟;
  • 10. Imaginemos que tenemos registrados estos 2 libros:  El Aleph de Borges;  Antologia poetica de J.L. Borges; Para recuperar todos los registros cuyo autor contenga la cadena "Borges" debemos tipear: select * from libros where autor like "%Borges%";
  • 11. Extracción Cad1=“Hola mundo” Cad_resultante=“Hol” Comparación El carácter „A‟ será < el carácter „C‟ (código 65) (código 67) El carácter 8 será < el carácter „i‟ (código 56) (código 105) Así: „EMILIO‟=EMILIO Expresión verdadera „EMILIO‟=EMILIA Expresión falsa
  • 12.  Las cadenas pueden ser de naturaleza dinámica (pueden alterar su longitud durante el tiempo de ejecución), o de naturaleza estática (su longitud es fija a lo largo del tiempo de ejecución). En este segundo caso el programador debe prever que al recorrer la cadena los indíces no se vayan de los límites previstos (C no permite que las cadenas crezcan automáticamente de forma explícita, mientras que C# sí).  El final de la cadena se delimita de diferente manera en uno u otro caso:  Mediante un carácter de fin de cadena ("0" en C) para las cadenas de tipo dinámico.  Mediante una propiedad de la cadena que delimite su longitud (Length en C#) para las de tipo estático. Cadenas dinámicas y estáticas
  • 13. Declaración: char cadena_hola[]="Hola"; char otro_hola[]={'H','o','l','a','0'}; // Igual al anterior char vector[]={'H','o','l','a'}; /* Un vector de 4 elementos, con los elementos 'H','o','l' y 'a' */ char espacio_cadena[1024]="Una cadena en C"; char cadena_vacia[]=""; Asignación: asignarle una cadena a otra char *strcpy(char [], const char[]); # en C cadena1=cadena2; # en C++ Ejemplos en C
  • 14. Función calcula el largo de una cadena: /* devuelve la cantidad de caracteres en cadena sin contar el '0' */ int largo_cadena(char cadena[]) { int largo=0 while (cadena[largo]!='0') largo++; return largo; } Ejemplos en C
  • 15. Otras librerias: largo = strlen(cadena) // Para obtener el largo de una cadena strcpy(destino, origen) // Copia el contenido de origen en destino // destino debe ser lo suficientemente grande strcat(destino, origen) // Agrega el contenido de origen al final de destino // destino debe ser lo suficientemente grander resultado = strcmp(cadena1, cadena2) // Compara dos cadenas // devuelve un valor menor, igual o mayor que 0 según si cadena1 es menor, // igual o mayor que cadena2, respectivamente. posicion = strchr(cadena, caracter) // Devuelve la posición en memoria de la primer // aparición de caracter dentro de cadena posicion = strstr(cadena,subcadena) // Devuelve la posición en memoria de la primer // aparición de subcadena dentro de cadena Ejemplos en C
  • 16. Asignación <?php $a = 6; $a = ($b = 4) + 5; // ahora $a es igual a 9 y $b se ha establecido en 4 $a = 3; $a += 5; // establece $a en 8, como si se hubiera dicho: $a = $a + 5; $b = "Hola "; $a = 3; $b = &$a; // $b es una referencia para $a ?> Tratamiento de cadenas: PHP
  • 17. Comparación Ejemplo Nombre Resultado TRUE si $a es igual a $b después de la manipulación de $a == $b Igual tipos. TRUE si $a es igual a $b, y son del mismo tipo. (a partir $a === $b Idéntico de PHP 4) TRUE si $a no es igual a $b después de la manipulación $a != $b Diferente de tipos. TRUE si $a no es igual a $b después de la manipulación $a <> $b Diferente de tipos. TRUE si $a no es igual a $b, o si no son del mismo tipo. $a !== $b No idéntico (a partir de PHP 4) $a < $b Menor que TRUE si $a es estrictamente menor que $b. $a > $b Mayor que TRUE si $a es estrictamente mayor que $b. $a <= $b Menor o igual que TRUE si $a es menor o igual que $b. $a >= $b Mayor o igual que TRUE si $a es mayor o igual que $b.
  • 18. Concatenación <?php $cad1 = “Hoy hace mucho”; $cad2 = “calor en la ciudad”; echo $cad1.” ”.$cad2; // Mostrara “Hoy hace mucho calor en la ciudad” $b = "Hola "; $b .= “Mundo!"; // establece $b en "Hola Mundo!", al igual que $b = $b . ”Mundo!"; $var = “de php”; echo = “Hola, “.”esta es una prueba “.$var; // Hola, esta es una prueba de php ?>
  • 19. Algunas Funciones <?php If (is_numeric($variable)) { echo ”es numérica”; } Else { echo ”NO es numérica“; } $si = array('esto', 'es', 'un array'); echo is_array($si) ? 'Array' : 'No es un array'; echo "n"; ?>
  • 20. <?php $str = “hola"; $str = strtoupper($str); echo $str; // muestra: HOLA $str2 = “MUNDO"; $str2 = strtolower($str2); echo $str2; // muestra: hola $str3 = 'abcdef'; echo strlen($str3); // 6 ?>
  • 21. Fin