SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Funciones II y
                                            Cadena de
                                            Caracteres
                                          Nilton A. Garcia

  CIENCIAS DE LA                               Hilares




  COMPUTACIÓN I
                                        Introducción

                                        Funciones II

Funciones II y Cadena de                Recursividad
                                        Funciones con arreglos



      Caracteres                        Caracteres y Cadenas
                                        Fundamentos
                                        Cctype

      Utilizando Code::Blocks           Cstdlib
                                        Cstring



     16 de noviembre de 2011




      Lic. Nilton Alan García Hilares
  Universidad Mayor de San Marcos
                                                             2.1
Funciones II y
Contenido                       Cadena de
                                Caracteres
                              Nilton A. Garcia
                                   Hilares




 Introducción


 Funciones II               Introducción

   Recursividad             Funciones II
                            Recursividad

   Funciones con arreglos   Funciones con arreglos

                            Caracteres y Cadenas
                            Fundamentos
                            Cctype
                            Cstdlib
 Caracteres y Cadenas       Cstring

    Fundamentos
    Cctype
    Cstdlib
    Cstring




                                                 2.2
Funciones II y
Objetivos                                                               Cadena de
                                                                        Caracteres
                                                                      Nilton A. Garcia
                                                                           Hilares




                                                                    Introducción
  1   Comprender el concepto de recursividad.                       Funciones II
  2   Extender el uso de funciones relacionadas con arreglos.       Recursividad
                                                                    Funciones con arreglos

  3   Conocer las diversas librerías para trabajar con caracteres   Caracteres y Cadenas
                                                                    Fundamentos
      y cadenas.                                                    Cctype
                                                                    Cstdlib
                                                                    Cstring




                                                                                         2.3
Funciones II y
Recursividad                                                          Cadena de
                                                                      Caracteres
                                                                    Nilton A. Garcia
                                                                         Hilares

 Los programas que ya se han visto están organizados en
 general como funciones que llaman unas a otras, en forma
 jerárquica y disciplinada. Para algunos tipos de problemas es
 útil tener que se llamen a sí mismas. Una función recursiva es
 una función que se llama a si misma ya sea directa o             Introducción
 indirectamente a través de otra función.                         Funciones II
                                                                  Recursividad
                                                                  Funciones con arreglos
 Ejemplo                                                          Caracteres y Cadenas

 La función factorial puede definirse de forma recursiva:          Fundamentos
                                                                  Cctype
                                                                  Cstdlib
                                                                  Cstring
       int factorial (int N){
              int R;
              if (N==0 || N==1) R=1;
              else R=N*factorial(N-1);
              return N;
       }


                                                                                       2.4
Funciones II y
Recursividad                                                          Cadena de
                                                                      Caracteres
                                                                    Nilton A. Garcia
                                                                         Hilares

 Los programas que ya se han visto están organizados en
 general como funciones que llaman unas a otras, en forma
 jerárquica y disciplinada. Para algunos tipos de problemas es
 útil tener que se llamen a sí mismas. Una función recursiva es
 una función que se llama a si misma ya sea directa o             Introducción
 indirectamente a través de otra función.                         Funciones II
                                                                  Recursividad
                                                                  Funciones con arreglos
 Ejemplo                                                          Caracteres y Cadenas

 La función factorial puede definirse de forma recursiva:          Fundamentos
                                                                  Cctype
                                                                  Cstdlib
                                                                  Cstring
       int factorial (int N){
              int R;
              if (N==0 || N==1) R=1;
              else R=N*factorial(N-1);
              return N;
       }


                                                                                       2.4
Funciones II y
Llamadas recursivas                                                        Cadena de
                                                                           Caracteres
                                                                         Nilton A. Garcia
                                                                              Hilares

 Ejemplo
 Si se ejecuta la función factorial(5), definida anteriormente , ten-
 dremos:

                                                                       Introducción

                                                                       Funciones II
                                                                       Recursividad
                                                                       Funciones con arreglos

                                                                       Caracteres y Cadenas
                                                                       Fundamentos
                                                                       Cctype
                                                                       Cstdlib
                                                                       Cstring




                                                                                            2.5
Funciones II y
Recursividad vs Iteración                                              Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
                                                                          Hilares
     Cualquier problema que puede ser resuelto en forma
     recursiva también puede ser resuelto de forma iterativa.
     Normalmente se escoge un enfoque recursivo en
     preferencia a uno iterativo, cuando el enfoque recursivo es
     más natural al problema y resulta en el programador más
                                                                   Introducción
     fácil de comprender y depurar. Otra razón para
                                                                   Funciones II
     seleccionar un enfoque recursivo es que la solución           Recursividad

     iterativa pudiera no resultar aparente.                       Funciones con arreglos

                                                                   Caracteres y Cadenas
     Evite el uso de recursividad cuando se requiera               Fundamentos
                                                                   Cctype
     rendimiento. Las llamadas recursivas toman tiempo y           Cstdlib
                                                                   Cstring
     requieren memoria adicional.
     Un programa muy funcionalizado en comparación con uno
     monolítico (es decir, de una sola pieza, sin funciones)
     hace grandes cantidades de llamadas de función y estas
     consumen memoria y tiempo de ejecución en el
     procesador. Pero los programas monolíticos son difíciles
     de programar, de mantener, depurar y modificar.

                                                                                        2.6
Funciones II y
Recursividad vs Iteración                                              Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
                                                                          Hilares
     Cualquier problema que puede ser resuelto en forma
     recursiva también puede ser resuelto de forma iterativa.
     Normalmente se escoge un enfoque recursivo en
     preferencia a uno iterativo, cuando el enfoque recursivo es
     más natural al problema y resulta en el programador más
                                                                   Introducción
     fácil de comprender y depurar. Otra razón para
                                                                   Funciones II
     seleccionar un enfoque recursivo es que la solución           Recursividad

     iterativa pudiera no resultar aparente.                       Funciones con arreglos

                                                                   Caracteres y Cadenas
     Evite el uso de recursividad cuando se requiera               Fundamentos
                                                                   Cctype
     rendimiento. Las llamadas recursivas toman tiempo y           Cstdlib
                                                                   Cstring
     requieren memoria adicional.
     Un programa muy funcionalizado en comparación con uno
     monolítico (es decir, de una sola pieza, sin funciones)
     hace grandes cantidades de llamadas de función y estas
     consumen memoria y tiempo de ejecución en el
     procesador. Pero los programas monolíticos son difíciles
     de programar, de mantener, depurar y modificar.

                                                                                        2.6
Funciones II y
Recursividad vs Iteración                                              Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
                                                                          Hilares
     Cualquier problema que puede ser resuelto en forma
     recursiva también puede ser resuelto de forma iterativa.
     Normalmente se escoge un enfoque recursivo en
     preferencia a uno iterativo, cuando el enfoque recursivo es
     más natural al problema y resulta en el programador más
                                                                   Introducción
     fácil de comprender y depurar. Otra razón para
                                                                   Funciones II
     seleccionar un enfoque recursivo es que la solución           Recursividad

     iterativa pudiera no resultar aparente.                       Funciones con arreglos

                                                                   Caracteres y Cadenas
     Evite el uso de recursividad cuando se requiera               Fundamentos
                                                                   Cctype
     rendimiento. Las llamadas recursivas toman tiempo y           Cstdlib
                                                                   Cstring
     requieren memoria adicional.
     Un programa muy funcionalizado en comparación con uno
     monolítico (es decir, de una sola pieza, sin funciones)
     hace grandes cantidades de llamadas de función y estas
     consumen memoria y tiempo de ejecución en el
     procesador. Pero los programas monolíticos son difíciles
     de programar, de mantener, depurar y modificar.

                                                                                        2.6
Funciones II y
Funciones con arreglos                                                 Cadena de
                                                                       Caracteres
   1   Declaración: una función que recibe un arreglo como           Nilton A. Garcia
                                                                          Hilares
       argumento se declara de manera habitual, especificando
       el argumento que será el arreglo.
   2   Llamada: para pasar un arreglo como argumento de una
       funcione, especifique el nombre del arreglo sin corchetes.
                                                                   Introducción

 Ejemplo                                                           Funciones II
                                                                   Recursividad

 // prototipo:                                                     Funciones con arreglos

                                                                   Caracteres y Cadenas
 //void Funcion(int A[10]);                                        Fundamentos
                                                                   Cctype
                                                                   Cstdlib

 int Vector[10];                                                   Cstring


 // llamada :
 Funcion(Vector);

 Cuando se trabaja con arreglos como argumentos, es
 necesario tener el tamaño del mismo para poder efectuar los
 procedimientos necesarios sobre el mismo, por lo que el
 tamaño del arreglo también suele se r pasado como
 argumento.                                                                             2.7
Funciones II y
Funciones con arreglos                                                 Cadena de
                                                                       Caracteres
   1   Declaración: una función que recibe un arreglo como           Nilton A. Garcia
                                                                          Hilares
       argumento se declara de manera habitual, especificando
       el argumento que será el arreglo.
   2   Llamada: para pasar un arreglo como argumento de una
       funcione, especifique el nombre del arreglo sin corchetes.
                                                                   Introducción

 Ejemplo                                                           Funciones II
                                                                   Recursividad

 // prototipo:                                                     Funciones con arreglos

                                                                   Caracteres y Cadenas
 //void Funcion(int A[10]);                                        Fundamentos
                                                                   Cctype
                                                                   Cstdlib

 int Vector[10];                                                   Cstring


 // llamada :
 Funcion(Vector);

 Cuando se trabaja con arreglos como argumentos, es
 necesario tener el tamaño del mismo para poder efectuar los
 procedimientos necesarios sobre el mismo, por lo que el
 tamaño del arreglo también suele se r pasado como
 argumento.                                                                             2.7
Funciones II y
Funciones con arreglos                                                 Cadena de
                                                                       Caracteres
   1   Declaración: una función que recibe un arreglo como           Nilton A. Garcia
                                                                          Hilares
       argumento se declara de manera habitual, especificando
       el argumento que será el arreglo.
   2   Llamada: para pasar un arreglo como argumento de una
       funcione, especifique el nombre del arreglo sin corchetes.
                                                                   Introducción

 Ejemplo                                                           Funciones II
                                                                   Recursividad

 // prototipo:                                                     Funciones con arreglos

                                                                   Caracteres y Cadenas
 //void Funcion(int A[10]);                                        Fundamentos
                                                                   Cctype
                                                                   Cstdlib

 int Vector[10];                                                   Cstring


 // llamada :
 Funcion(Vector);

 Cuando se trabaja con arreglos como argumentos, es
 necesario tener el tamaño del mismo para poder efectuar los
 procedimientos necesarios sobre el mismo, por lo que el
 tamaño del arreglo también suele se r pasado como
 argumento.                                                                             2.7
Funciones II y
Cadenas y Caracteres                                                    Cadena de
                                                                        Caracteres
                                                                      Nilton A. Garcia
                                                                           Hilares


 Un carácter es el tipo básico alfanumérico, es decir que puede
 contener un carácter, un dígito numérico o un signo de
 puntuación. En C/C++ son representados mediante el tipo de
 dato char. Los tipos de dato char también son tratados como
                                                                    Introducción
 un tipo de dato numérico entero lo cual nos permite usar
                                                                    Funciones II
 variables char para trabajar con valores pequeños, siempre         Recursividad

 que lo consideremos necesario, esta una correspondencia            Funciones con arreglos

                                                                    Caracteres y Cadenas
 entre números y caracteres recibe el nombre de código ASCII.       Fundamentos
                                                                    Cctype
                                                                    Cstdlib
 Una cadena en C/C++ es un arreglo de caracteres, o valores         Cstring

 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.



                                                                                         2.8
Funciones II y
Cadenas y Caracteres                                                    Cadena de
                                                                        Caracteres
                                                                      Nilton A. Garcia
                                                                           Hilares


 Un carácter es el tipo básico alfanumérico, es decir que puede
 contener un carácter, un dígito numérico o un signo de
 puntuación. En C/C++ son representados mediante el tipo de
 dato char. Los tipos de dato char también son tratados como
                                                                    Introducción
 un tipo de dato numérico entero lo cual nos permite usar
                                                                    Funciones II
 variables char para trabajar con valores pequeños, siempre         Recursividad

 que lo consideremos necesario, esta una correspondencia            Funciones con arreglos

                                                                    Caracteres y Cadenas
 entre números y caracteres recibe el nombre de código ASCII.       Fundamentos
                                                                    Cctype
                                                                    Cstdlib
 Una cadena en C/C++ es un arreglo de caracteres, o valores         Cstring

 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.



                                                                                         2.8
Funciones II y
Cadenas y Caracteres            Cadena de
                                Caracteres
                              Nilton A. Garcia
                                   Hilares




 Ejemplo
 // Char:
 char Letra = ‘a’;          Introducción

                            Funciones II
 // Cadena:                 Recursividad
                            Funciones con arreglos
 char Palabra[] = “HOLA”;   Caracteres y Cadenas
 char Cadena[4];            Fundamentos
                            Cctype
 Cadena[0]=‘C’;             Cstdlib
                            Cstring
 Cadena[1]=‘A’;
 Cadena[2]=‘S’;
 Cadena[3]=‘A’;




                                                 2.9
Funciones II y
Biblioteca de manejo de caracteres                                   Cadena de
                                                                     Caracteres
                                                                   Nilton A. Garcia
                                                                        Hilares



 Incluye varias funciones que ejecutan pruebas útiles y
 manipulaciones de datos tipo carácter. Cada función recibe un
 carácter presentado como un int o un EOF como argumento.
                                                                 Introducción

 Cabecera                                                        Funciones II
                                                                 Recursividad
 Para utilizar la librería de funciones de caracteres se debe    Funciones con arreglos


 incluir la cabecera:                                            Caracteres y Cadenas
                                                                 Fundamentos
                                                                 Cctype
                                                                 Cstdlib
 # incluce <cctype>                                              Cstring




 Las funciones más importantes en esta librería, son las que
 nos permiten determinar la naturaleza del argumento, ya sea
 de tipo numérico, alfabético, alfanumérico, hexadecimal, etc.




                                                                                     2.10
Funciones II y
Biblioteca de manejo de caracteres                                   Cadena de
                                                                     Caracteres
                                                                   Nilton A. Garcia
                                                                        Hilares



 Incluye varias funciones que ejecutan pruebas útiles y
 manipulaciones de datos tipo carácter. Cada función recibe un
 carácter presentado como un int o un EOF como argumento.
                                                                 Introducción

 Cabecera                                                        Funciones II
                                                                 Recursividad
 Para utilizar la librería de funciones de caracteres se debe    Funciones con arreglos


 incluir la cabecera:                                            Caracteres y Cadenas
                                                                 Fundamentos
                                                                 Cctype
                                                                 Cstdlib
 # incluce <cctype>                                              Cstring




 Las funciones más importantes en esta librería, son las que
 nos permiten determinar la naturaleza del argumento, ya sea
 de tipo numérico, alfabético, alfanumérico, hexadecimal, etc.




                                                                                     2.10
Funciones II y
Biblioteca de manejo de caracteres                                   Cadena de
                                                                     Caracteres
                                                                   Nilton A. Garcia
                                                                        Hilares



 Incluye varias funciones que ejecutan pruebas útiles y
 manipulaciones de datos tipo carácter. Cada función recibe un
 carácter presentado como un int o un EOF como argumento.
                                                                 Introducción

 Cabecera                                                        Funciones II
                                                                 Recursividad
 Para utilizar la librería de funciones de caracteres se debe    Funciones con arreglos


 incluir la cabecera:                                            Caracteres y Cadenas
                                                                 Fundamentos
                                                                 Cctype
                                                                 Cstdlib
 # incluce <cctype>                                              Cstring




 Las funciones más importantes en esta librería, son las que
 nos permiten determinar la naturaleza del argumento, ya sea
 de tipo numérico, alfabético, alfanumérico, hexadecimal, etc.




                                                                                     2.10
Funciones II y
Funciones Ctype                                                         Cadena de
                                                                        Caracteres
                                                                      Nilton A. Garcia
                                                                           Hilares




        prototipo        descripcion
    int isdigit(int c)   Evalúa si c es un digito (V/F)
   int isalpha(int c)    Evalúa si c es un a letra (V/F)            Introducción

  int isalnum(int c)     Evalúa si c es una letra o digito (V/F)    Funciones II
                                                                    Recursividad
   int islower(int c)    Evalúa si c es una letra minúscula (V/F)   Funciones con arreglos


  int isupper(int c)     Evalúa si c es una letra mayúscula (V/F)   Caracteres y Cadenas
                                                                    Fundamentos
                         Evalúa si c es un espacio en blanco,)      Cctype
  int isspace(int c)                                                Cstdlib
                         tabulador o salto de linea (V/F)           Cstring

  int tolower(int c)     Regresa la minúscula de c (V/F)
  int toupper(int c)     Regresa la mayúscula de c (V/F)




                                                                                        2.11
Funciones II y
Funciones de conversión de cadenas                                     Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
 En esta sección presentaremos funciones de conversión de                 Hilares

 cadenas de caracteres correspondientes a la librería general
 de utilerías Cstdlib. Estas funciones convierten cadenas de
 dígitos enteros y de punto flotante.

             Prototipo            Descripción                      Introducción
  double atof(const char *nPtr)   convierte nPtr a double          Funciones II
    int atoi(const char *nPtr)    convierte nPtr a int             Recursividad
                                                                   Funciones con arreglos
   long atol(const char *nPtr)    convierte nPtr a long int        Caracteres y Cadenas
                                                                   Fundamentos
                                                                   Cctype
 Nótese que se utiliza const para la declaración de la variable,   Cstdlib

 ya que nPtr es un apuntador a constante de carácter (const        Cstring


 char), const declara que el valor del argumento no será
 modificado.
                Ejemplo
                char Numero[]=“159”;
                int N;
                N = atoi(Numero);

                                                                                       2.12
Funciones II y
Funciones de conversión de cadenas                                     Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
 En esta sección presentaremos funciones de conversión de                 Hilares

 cadenas de caracteres correspondientes a la librería general
 de utilerías Cstdlib. Estas funciones convierten cadenas de
 dígitos enteros y de punto flotante.

             Prototipo            Descripción                      Introducción
  double atof(const char *nPtr)   convierte nPtr a double          Funciones II
    int atoi(const char *nPtr)    convierte nPtr a int             Recursividad
                                                                   Funciones con arreglos
   long atol(const char *nPtr)    convierte nPtr a long int        Caracteres y Cadenas
                                                                   Fundamentos
                                                                   Cctype
 Nótese que se utiliza const para la declaración de la variable,   Cstdlib

 ya que nPtr es un apuntador a constante de carácter (const        Cstring


 char), const declara que el valor del argumento no será
 modificado.
                Ejemplo
                char Numero[]=“159”;
                int N;
                N = atoi(Numero);

                                                                                       2.12
Funciones II y
Funciones de conversión de cadenas                                     Cadena de
                                                                       Caracteres
                                                                     Nilton A. Garcia
 En esta sección presentaremos funciones de conversión de                 Hilares

 cadenas de caracteres correspondientes a la librería general
 de utilerías Cstdlib. Estas funciones convierten cadenas de
 dígitos enteros y de punto flotante.

             Prototipo            Descripción                      Introducción
  double atof(const char *nPtr)   convierte nPtr a double          Funciones II
    int atoi(const char *nPtr)    convierte nPtr a int             Recursividad
                                                                   Funciones con arreglos
   long atol(const char *nPtr)    convierte nPtr a long int        Caracteres y Cadenas
                                                                   Fundamentos
                                                                   Cctype
 Nótese que se utiliza const para la declaración de la variable,   Cstdlib

 ya que nPtr es un apuntador a constante de carácter (const        Cstring


 char), const declara que el valor del argumento no será
 modificado.
                Ejemplo
                char Numero[]=“159”;
                int N;
                N = atoi(Numero);

                                                                                       2.12
Funciones II y
Librería de manejo de cadenas                                               Cadena de
                                                                            Caracteres
                                                                          Nilton A. Garcia
                                                                               Hilares



 la librería de manejo de cadenas proporciona muchas
 funciones útiles para manipular datos de cadenas, comparar
 cadenas, buscar en cadenas de caracteres y otras cadenas,
 dividir cadenas y determinar la longitud de las mismas.
                                                                        Introducción

                                                                        Funciones II
 Cabecera                                                               Recursividad
                                                                        Funciones con arreglos

 Para utilizar la librería de manejo de cadena se debe incluir la       Caracteres y Cadenas

 cabecera:                                                              Fundamentos
                                                                        Cctype
                                                                        Cstdlib
                                                                        Cstring
 # incluce <cstring>

 Las funciones más importantes de esta librería son: strcpy,
 strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr,
 strlen.



                                                                                            2.13
Funciones II y
Librería de manejo de cadenas                                               Cadena de
                                                                            Caracteres
                                                                          Nilton A. Garcia
                                                                               Hilares



 la librería de manejo de cadenas proporciona muchas
 funciones útiles para manipular datos de cadenas, comparar
 cadenas, buscar en cadenas de caracteres y otras cadenas,
 dividir cadenas y determinar la longitud de las mismas.
                                                                        Introducción

                                                                        Funciones II
 Cabecera                                                               Recursividad
                                                                        Funciones con arreglos

 Para utilizar la librería de manejo de cadena se debe incluir la       Caracteres y Cadenas

 cabecera:                                                              Fundamentos
                                                                        Cctype
                                                                        Cstdlib
                                                                        Cstring
 # incluce <cstring>

 Las funciones más importantes de esta librería son: strcpy,
 strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr,
 strlen.



                                                                                            2.13
Funciones II y
Librería de manejo de cadenas                                               Cadena de
                                                                            Caracteres
                                                                          Nilton A. Garcia
                                                                               Hilares



 la librería de manejo de cadenas proporciona muchas
 funciones útiles para manipular datos de cadenas, comparar
 cadenas, buscar en cadenas de caracteres y otras cadenas,
 dividir cadenas y determinar la longitud de las mismas.
                                                                        Introducción

                                                                        Funciones II
 Cabecera                                                               Recursividad
                                                                        Funciones con arreglos

 Para utilizar la librería de manejo de cadena se debe incluir la       Caracteres y Cadenas

 cabecera:                                                              Fundamentos
                                                                        Cctype
                                                                        Cstdlib
                                                                        Cstring
 # incluce <cstring>

 Las funciones más importantes de esta librería son: strcpy,
 strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr,
 strlen.



                                                                                            2.13

Más contenido relacionado

Último

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 

Último (20)

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Funciones II y cadenas de caracteres: recursividad vs iteración

  • 1. Funciones II y Cadena de Caracteres Nilton A. Garcia CIENCIAS DE LA Hilares COMPUTACIÓN I Introducción Funciones II Funciones II y Cadena de Recursividad Funciones con arreglos Caracteres Caracteres y Cadenas Fundamentos Cctype Utilizando Code::Blocks Cstdlib Cstring 16 de noviembre de 2011 Lic. Nilton Alan García Hilares Universidad Mayor de San Marcos 2.1
  • 2. Funciones II y Contenido Cadena de Caracteres Nilton A. Garcia Hilares Introducción Funciones II Introducción Recursividad Funciones II Recursividad Funciones con arreglos Funciones con arreglos Caracteres y Cadenas Fundamentos Cctype Cstdlib Caracteres y Cadenas Cstring Fundamentos Cctype Cstdlib Cstring 2.2
  • 3. Funciones II y Objetivos Cadena de Caracteres Nilton A. Garcia Hilares Introducción 1 Comprender el concepto de recursividad. Funciones II 2 Extender el uso de funciones relacionadas con arreglos. Recursividad Funciones con arreglos 3 Conocer las diversas librerías para trabajar con caracteres Caracteres y Cadenas Fundamentos y cadenas. Cctype Cstdlib Cstring 2.3
  • 4. Funciones II y Recursividad Cadena de Caracteres Nilton A. Garcia Hilares Los programas que ya se han visto están organizados en general como funciones que llaman unas a otras, en forma jerárquica y disciplinada. Para algunos tipos de problemas es útil tener que se llamen a sí mismas. Una función recursiva es una función que se llama a si misma ya sea directa o Introducción indirectamente a través de otra función. Funciones II Recursividad Funciones con arreglos Ejemplo Caracteres y Cadenas La función factorial puede definirse de forma recursiva: Fundamentos Cctype Cstdlib Cstring int factorial (int N){ int R; if (N==0 || N==1) R=1; else R=N*factorial(N-1); return N; } 2.4
  • 5. Funciones II y Recursividad Cadena de Caracteres Nilton A. Garcia Hilares Los programas que ya se han visto están organizados en general como funciones que llaman unas a otras, en forma jerárquica y disciplinada. Para algunos tipos de problemas es útil tener que se llamen a sí mismas. Una función recursiva es una función que se llama a si misma ya sea directa o Introducción indirectamente a través de otra función. Funciones II Recursividad Funciones con arreglos Ejemplo Caracteres y Cadenas La función factorial puede definirse de forma recursiva: Fundamentos Cctype Cstdlib Cstring int factorial (int N){ int R; if (N==0 || N==1) R=1; else R=N*factorial(N-1); return N; } 2.4
  • 6. Funciones II y Llamadas recursivas Cadena de Caracteres Nilton A. Garcia Hilares Ejemplo Si se ejecuta la función factorial(5), definida anteriormente , ten- dremos: Introducción Funciones II Recursividad Funciones con arreglos Caracteres y Cadenas Fundamentos Cctype Cstdlib Cstring 2.5
  • 7. Funciones II y Recursividad vs Iteración Cadena de Caracteres Nilton A. Garcia Hilares Cualquier problema que puede ser resuelto en forma recursiva también puede ser resuelto de forma iterativa. Normalmente se escoge un enfoque recursivo en preferencia a uno iterativo, cuando el enfoque recursivo es más natural al problema y resulta en el programador más Introducción fácil de comprender y depurar. Otra razón para Funciones II seleccionar un enfoque recursivo es que la solución Recursividad iterativa pudiera no resultar aparente. Funciones con arreglos Caracteres y Cadenas Evite el uso de recursividad cuando se requiera Fundamentos Cctype rendimiento. Las llamadas recursivas toman tiempo y Cstdlib Cstring requieren memoria adicional. Un programa muy funcionalizado en comparación con uno monolítico (es decir, de una sola pieza, sin funciones) hace grandes cantidades de llamadas de función y estas consumen memoria y tiempo de ejecución en el procesador. Pero los programas monolíticos son difíciles de programar, de mantener, depurar y modificar. 2.6
  • 8. Funciones II y Recursividad vs Iteración Cadena de Caracteres Nilton A. Garcia Hilares Cualquier problema que puede ser resuelto en forma recursiva también puede ser resuelto de forma iterativa. Normalmente se escoge un enfoque recursivo en preferencia a uno iterativo, cuando el enfoque recursivo es más natural al problema y resulta en el programador más Introducción fácil de comprender y depurar. Otra razón para Funciones II seleccionar un enfoque recursivo es que la solución Recursividad iterativa pudiera no resultar aparente. Funciones con arreglos Caracteres y Cadenas Evite el uso de recursividad cuando se requiera Fundamentos Cctype rendimiento. Las llamadas recursivas toman tiempo y Cstdlib Cstring requieren memoria adicional. Un programa muy funcionalizado en comparación con uno monolítico (es decir, de una sola pieza, sin funciones) hace grandes cantidades de llamadas de función y estas consumen memoria y tiempo de ejecución en el procesador. Pero los programas monolíticos son difíciles de programar, de mantener, depurar y modificar. 2.6
  • 9. Funciones II y Recursividad vs Iteración Cadena de Caracteres Nilton A. Garcia Hilares Cualquier problema que puede ser resuelto en forma recursiva también puede ser resuelto de forma iterativa. Normalmente se escoge un enfoque recursivo en preferencia a uno iterativo, cuando el enfoque recursivo es más natural al problema y resulta en el programador más Introducción fácil de comprender y depurar. Otra razón para Funciones II seleccionar un enfoque recursivo es que la solución Recursividad iterativa pudiera no resultar aparente. Funciones con arreglos Caracteres y Cadenas Evite el uso de recursividad cuando se requiera Fundamentos Cctype rendimiento. Las llamadas recursivas toman tiempo y Cstdlib Cstring requieren memoria adicional. Un programa muy funcionalizado en comparación con uno monolítico (es decir, de una sola pieza, sin funciones) hace grandes cantidades de llamadas de función y estas consumen memoria y tiempo de ejecución en el procesador. Pero los programas monolíticos son difíciles de programar, de mantener, depurar y modificar. 2.6
  • 10. Funciones II y Funciones con arreglos Cadena de Caracteres 1 Declaración: una función que recibe un arreglo como Nilton A. Garcia Hilares argumento se declara de manera habitual, especificando el argumento que será el arreglo. 2 Llamada: para pasar un arreglo como argumento de una funcione, especifique el nombre del arreglo sin corchetes. Introducción Ejemplo Funciones II Recursividad // prototipo: Funciones con arreglos Caracteres y Cadenas //void Funcion(int A[10]); Fundamentos Cctype Cstdlib int Vector[10]; Cstring // llamada : Funcion(Vector); Cuando se trabaja con arreglos como argumentos, es necesario tener el tamaño del mismo para poder efectuar los procedimientos necesarios sobre el mismo, por lo que el tamaño del arreglo también suele se r pasado como argumento. 2.7
  • 11. Funciones II y Funciones con arreglos Cadena de Caracteres 1 Declaración: una función que recibe un arreglo como Nilton A. Garcia Hilares argumento se declara de manera habitual, especificando el argumento que será el arreglo. 2 Llamada: para pasar un arreglo como argumento de una funcione, especifique el nombre del arreglo sin corchetes. Introducción Ejemplo Funciones II Recursividad // prototipo: Funciones con arreglos Caracteres y Cadenas //void Funcion(int A[10]); Fundamentos Cctype Cstdlib int Vector[10]; Cstring // llamada : Funcion(Vector); Cuando se trabaja con arreglos como argumentos, es necesario tener el tamaño del mismo para poder efectuar los procedimientos necesarios sobre el mismo, por lo que el tamaño del arreglo también suele se r pasado como argumento. 2.7
  • 12. Funciones II y Funciones con arreglos Cadena de Caracteres 1 Declaración: una función que recibe un arreglo como Nilton A. Garcia Hilares argumento se declara de manera habitual, especificando el argumento que será el arreglo. 2 Llamada: para pasar un arreglo como argumento de una funcione, especifique el nombre del arreglo sin corchetes. Introducción Ejemplo Funciones II Recursividad // prototipo: Funciones con arreglos Caracteres y Cadenas //void Funcion(int A[10]); Fundamentos Cctype Cstdlib int Vector[10]; Cstring // llamada : Funcion(Vector); Cuando se trabaja con arreglos como argumentos, es necesario tener el tamaño del mismo para poder efectuar los procedimientos necesarios sobre el mismo, por lo que el tamaño del arreglo también suele se r pasado como argumento. 2.7
  • 13. Funciones II y Cadenas y Caracteres Cadena de Caracteres Nilton A. Garcia Hilares Un carácter es el tipo básico alfanumérico, es decir que puede contener un carácter, un dígito numérico o un signo de puntuación. En C/C++ son representados mediante el tipo de dato char. Los tipos de dato char también son tratados como Introducción un tipo de dato numérico entero lo cual nos permite usar Funciones II variables char para trabajar con valores pequeños, siempre Recursividad que lo consideremos necesario, esta una correspondencia Funciones con arreglos Caracteres y Cadenas entre números y caracteres recibe el nombre de código ASCII. Fundamentos Cctype Cstdlib Una cadena en C/C++ es un arreglo de caracteres, o valores Cstring 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. 2.8
  • 14. Funciones II y Cadenas y Caracteres Cadena de Caracteres Nilton A. Garcia Hilares Un carácter es el tipo básico alfanumérico, es decir que puede contener un carácter, un dígito numérico o un signo de puntuación. En C/C++ son representados mediante el tipo de dato char. Los tipos de dato char también son tratados como Introducción un tipo de dato numérico entero lo cual nos permite usar Funciones II variables char para trabajar con valores pequeños, siempre Recursividad que lo consideremos necesario, esta una correspondencia Funciones con arreglos Caracteres y Cadenas entre números y caracteres recibe el nombre de código ASCII. Fundamentos Cctype Cstdlib Una cadena en C/C++ es un arreglo de caracteres, o valores Cstring 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. 2.8
  • 15. Funciones II y Cadenas y Caracteres Cadena de Caracteres Nilton A. Garcia Hilares Ejemplo // Char: char Letra = ‘a’; Introducción Funciones II // Cadena: Recursividad Funciones con arreglos char Palabra[] = “HOLA”; Caracteres y Cadenas char Cadena[4]; Fundamentos Cctype Cadena[0]=‘C’; Cstdlib Cstring Cadena[1]=‘A’; Cadena[2]=‘S’; Cadena[3]=‘A’; 2.9
  • 16. Funciones II y Biblioteca de manejo de caracteres Cadena de Caracteres Nilton A. Garcia Hilares Incluye varias funciones que ejecutan pruebas útiles y manipulaciones de datos tipo carácter. Cada función recibe un carácter presentado como un int o un EOF como argumento. Introducción Cabecera Funciones II Recursividad Para utilizar la librería de funciones de caracteres se debe Funciones con arreglos incluir la cabecera: Caracteres y Cadenas Fundamentos Cctype Cstdlib # incluce <cctype> Cstring Las funciones más importantes en esta librería, son las que nos permiten determinar la naturaleza del argumento, ya sea de tipo numérico, alfabético, alfanumérico, hexadecimal, etc. 2.10
  • 17. Funciones II y Biblioteca de manejo de caracteres Cadena de Caracteres Nilton A. Garcia Hilares Incluye varias funciones que ejecutan pruebas útiles y manipulaciones de datos tipo carácter. Cada función recibe un carácter presentado como un int o un EOF como argumento. Introducción Cabecera Funciones II Recursividad Para utilizar la librería de funciones de caracteres se debe Funciones con arreglos incluir la cabecera: Caracteres y Cadenas Fundamentos Cctype Cstdlib # incluce <cctype> Cstring Las funciones más importantes en esta librería, son las que nos permiten determinar la naturaleza del argumento, ya sea de tipo numérico, alfabético, alfanumérico, hexadecimal, etc. 2.10
  • 18. Funciones II y Biblioteca de manejo de caracteres Cadena de Caracteres Nilton A. Garcia Hilares Incluye varias funciones que ejecutan pruebas útiles y manipulaciones de datos tipo carácter. Cada función recibe un carácter presentado como un int o un EOF como argumento. Introducción Cabecera Funciones II Recursividad Para utilizar la librería de funciones de caracteres se debe Funciones con arreglos incluir la cabecera: Caracteres y Cadenas Fundamentos Cctype Cstdlib # incluce <cctype> Cstring Las funciones más importantes en esta librería, son las que nos permiten determinar la naturaleza del argumento, ya sea de tipo numérico, alfabético, alfanumérico, hexadecimal, etc. 2.10
  • 19. Funciones II y Funciones Ctype Cadena de Caracteres Nilton A. Garcia Hilares prototipo descripcion int isdigit(int c) Evalúa si c es un digito (V/F) int isalpha(int c) Evalúa si c es un a letra (V/F) Introducción int isalnum(int c) Evalúa si c es una letra o digito (V/F) Funciones II Recursividad int islower(int c) Evalúa si c es una letra minúscula (V/F) Funciones con arreglos int isupper(int c) Evalúa si c es una letra mayúscula (V/F) Caracteres y Cadenas Fundamentos Evalúa si c es un espacio en blanco,) Cctype int isspace(int c) Cstdlib tabulador o salto de linea (V/F) Cstring int tolower(int c) Regresa la minúscula de c (V/F) int toupper(int c) Regresa la mayúscula de c (V/F) 2.11
  • 20. Funciones II y Funciones de conversión de cadenas Cadena de Caracteres Nilton A. Garcia En esta sección presentaremos funciones de conversión de Hilares cadenas de caracteres correspondientes a la librería general de utilerías Cstdlib. Estas funciones convierten cadenas de dígitos enteros y de punto flotante. Prototipo Descripción Introducción double atof(const char *nPtr) convierte nPtr a double Funciones II int atoi(const char *nPtr) convierte nPtr a int Recursividad Funciones con arreglos long atol(const char *nPtr) convierte nPtr a long int Caracteres y Cadenas Fundamentos Cctype Nótese que se utiliza const para la declaración de la variable, Cstdlib ya que nPtr es un apuntador a constante de carácter (const Cstring char), const declara que el valor del argumento no será modificado. Ejemplo char Numero[]=“159”; int N; N = atoi(Numero); 2.12
  • 21. Funciones II y Funciones de conversión de cadenas Cadena de Caracteres Nilton A. Garcia En esta sección presentaremos funciones de conversión de Hilares cadenas de caracteres correspondientes a la librería general de utilerías Cstdlib. Estas funciones convierten cadenas de dígitos enteros y de punto flotante. Prototipo Descripción Introducción double atof(const char *nPtr) convierte nPtr a double Funciones II int atoi(const char *nPtr) convierte nPtr a int Recursividad Funciones con arreglos long atol(const char *nPtr) convierte nPtr a long int Caracteres y Cadenas Fundamentos Cctype Nótese que se utiliza const para la declaración de la variable, Cstdlib ya que nPtr es un apuntador a constante de carácter (const Cstring char), const declara que el valor del argumento no será modificado. Ejemplo char Numero[]=“159”; int N; N = atoi(Numero); 2.12
  • 22. Funciones II y Funciones de conversión de cadenas Cadena de Caracteres Nilton A. Garcia En esta sección presentaremos funciones de conversión de Hilares cadenas de caracteres correspondientes a la librería general de utilerías Cstdlib. Estas funciones convierten cadenas de dígitos enteros y de punto flotante. Prototipo Descripción Introducción double atof(const char *nPtr) convierte nPtr a double Funciones II int atoi(const char *nPtr) convierte nPtr a int Recursividad Funciones con arreglos long atol(const char *nPtr) convierte nPtr a long int Caracteres y Cadenas Fundamentos Cctype Nótese que se utiliza const para la declaración de la variable, Cstdlib ya que nPtr es un apuntador a constante de carácter (const Cstring char), const declara que el valor del argumento no será modificado. Ejemplo char Numero[]=“159”; int N; N = atoi(Numero); 2.12
  • 23. Funciones II y Librería de manejo de cadenas Cadena de Caracteres Nilton A. Garcia Hilares la librería de manejo de cadenas proporciona muchas funciones útiles para manipular datos de cadenas, comparar cadenas, buscar en cadenas de caracteres y otras cadenas, dividir cadenas y determinar la longitud de las mismas. Introducción Funciones II Cabecera Recursividad Funciones con arreglos Para utilizar la librería de manejo de cadena se debe incluir la Caracteres y Cadenas cabecera: Fundamentos Cctype Cstdlib Cstring # incluce <cstring> Las funciones más importantes de esta librería son: strcpy, strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr, strlen. 2.13
  • 24. Funciones II y Librería de manejo de cadenas Cadena de Caracteres Nilton A. Garcia Hilares la librería de manejo de cadenas proporciona muchas funciones útiles para manipular datos de cadenas, comparar cadenas, buscar en cadenas de caracteres y otras cadenas, dividir cadenas y determinar la longitud de las mismas. Introducción Funciones II Cabecera Recursividad Funciones con arreglos Para utilizar la librería de manejo de cadena se debe incluir la Caracteres y Cadenas cabecera: Fundamentos Cctype Cstdlib Cstring # incluce <cstring> Las funciones más importantes de esta librería son: strcpy, strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr, strlen. 2.13
  • 25. Funciones II y Librería de manejo de cadenas Cadena de Caracteres Nilton A. Garcia Hilares la librería de manejo de cadenas proporciona muchas funciones útiles para manipular datos de cadenas, comparar cadenas, buscar en cadenas de caracteres y otras cadenas, dividir cadenas y determinar la longitud de las mismas. Introducción Funciones II Cabecera Recursividad Funciones con arreglos Para utilizar la librería de manejo de cadena se debe incluir la Caracteres y Cadenas cabecera: Fundamentos Cctype Cstdlib Cstring # incluce <cstring> Las funciones más importantes de esta librería son: strcpy, strncpy, strcat, strncat, strncmp, strncmp, strchr, strrchr, strstr, strlen. 2.13