SlideShare uma empresa Scribd logo
1 de 21
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

Mais conteúdo relacionado

Mais procurados

Arquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHEArquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHEYESENIA CETINA
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoYurley Ochoa
 
Glosario de terminos sistemas operativos
Glosario de terminos sistemas operativosGlosario de terminos sistemas operativos
Glosario de terminos sistemas operativosAlejandro Medrano
 
Arquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariaArquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariamariagrau14
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos IINÉS ARABIA DíAZ
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquicaAndrew King
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructuraProf. Javier Troya
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoMarvin Romero
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Proceso de arranque de un ordenador
Proceso de arranque de un ordenadorProceso de arranque de un ordenador
Proceso de arranque de un ordenadorJomicast
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativosKaren Serrano
 

Mais procurados (20)

Arquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHEArquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHE
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativo
 
Glosario de terminos sistemas operativos
Glosario de terminos sistemas operativosGlosario de terminos sistemas operativos
Glosario de terminos sistemas operativos
 
Arquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariaArquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann maria
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos I
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquica
 
Java Micro Edition "J2ME"
Java Micro Edition "J2ME"Java Micro Edition "J2ME"
Java Micro Edition "J2ME"
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Proceso de arranque de un ordenador
Proceso de arranque de un ordenadorProceso de arranque de un ordenador
Proceso de arranque de un ordenador
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativos
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 

Destaque

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosamartinez_29
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceadosvmtorrealba
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceadoslourdesnbv
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosnukeeHE
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
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
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtuallagm000
 
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 javaLuis Miguel De Bello
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 

Destaque (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
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
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
 

Semelhante 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
 
Php2
Php2Php2
Php2
 
ejercicios php rfo
ejercicios php rfoejercicios php rfo
ejercicios php rfo
 

Mais de Cristian Alberto Oliva

Mais 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