SlideShare una empresa de Scribd logo
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández


1. Declara una cadena de caracteres de nombre palindromo y asígnale la constante
   literal “AEREA” en la misma línea de declaración. Hazlo de dos maneras diferentes.

2. Suponiendo que tienes dos cadenas de caracteres, cad1 y cad2 tales que
   strlen(cad1)==10 y strlen(cad2)==5, indica cómo se declara una tercera cadena cad3 y
   se le asigna memoria dinámica (en el heap o montón) , teniendo en cuenta que cad3
   va a contener la concatenación de cad1 y cad2 sin que sobre ninguna posición de
   memoria.

3. Si tienes declarada e inicializada una cadena de caracteres cad, indica dos maneras de
   leer o acceder al carácter de la primera posición.

4. Si en un programa que funciona adecuadamente aparece la sentencia delete s;
   podemos adivinar que s es un puntero a

       a. Un char, un int, o cualquier otra variable de tipo simple
       b. Una cadena de elementos char, int, o de cualquier otro tipo simple
       c. Es imposible que s sea un puntero.

5. ¿Cómo puedes averiguar lo que ocupa un puntero a un char en tu computadora y
   usando tu compilador de C++?

6. Si ptrLetra es un puntero a un char, ¿qué hace la instrucción *ptrLetra++=3;? ¿y la
   instrucción (*ptrLetra)++=3;? ¿son iguales?

7. Si quiero incrementar en una unidad el contenido de la variable a la que apunta un
   puntero p, indica cuáles de las siguientes instrucciones serían válidas:

           *p = *p + 1;
           *p += 1;
           ++*p;
           *p++;

8. Utilizando la notación de vectores puedes acceder a la quinta posición (posición 4, ya
   que los índices empiezan en 0) de un vector v mediante la expresión v[4]. ¿Cómo
   harías referencia a dicha posición usando notación y aritmética de punteros?

9. Dadas las siguiente declaraciones:

           char *p;
           char c;

   Indica de dos maneras diferentes cómo expresar en C++ cada una de las siguientes
   comprobaciones, donde carácter nulo se refiere a la marca de fin de cadena:

           Si c es el carácter nulo…
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández


             Si p apunta a un carácter nulo…
             Si p es un puntero nulo…



10.




      Indica los valores de las siguientes expresiones atendiendo a la disposición del vector
      de enteros lista que se representa en la figura:

              lista[2]
              *(lista+3)
              &lista[1]
              lista
              lista+2
              lista+1<&lista[1]

11. Crea una función para intercambiar dos números enteros usando punteros
    equivalente al paso mediante referencias de C++ que se indica. Para ello debes
    sustituir los parámetros de entrada por punteros a enteros y cambiar el código para
    adaptarlo a la lógica de los mismos. Asimismo, indica cómo sería la llamada a la
    función para dos variables enteras x e y.

      void intercambiar(int &a, int &b)
      {
        int temp=a;
        a=b;
        b=temp;
      }
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández


12. ¿Puedes averiguar qué hace el siguiente código? ¿Qué contendrán letra1 y letra2 tras
    la ejecución del código?

    char letra1 = 'A';
    char letra2 = 'B';
    char* puntero = &letra1;
    letra1 = 'C';
    letra2 = *puntero;

13. Teniendo el código.

    char letra = 'A';
    char* puntero = &letra;


    Indicar cuáles de las siguientes asignaciones son incorrectas y podrían producir
    errores:

    letra = *puntero;
    letra = &letra;
    letra = &puntero;
    puntero = *puntero;
    puntero = *(&puntero);
    puntero = *letra;
    *puntero = letra;
    &puntero = letra;


14. ¿Contenidos de letra1 y letra2 al final del código? ¿A quién apuntan los punteros al
    final?

    char letra1 = 'A';
    char letra2 = 'B';
    char* puntero1 = &letra1;
    char* puntero2 = &letra2;
    puntero1 = puntero2;
    letra1 = 'C';
    letra2 = 'D';
    letra1 = *puntero1;

15. Indica los valores que tendrán al final de la ejecución del siguiente código las variables
    letra1, letra2 y letra3 en cada caso.

        a.

              char* cadena = "Hola";
              char letra0 = *cadena;
              char letra1 = *(cadena+1);
              char letra2 = *(cadena+2);
              char letra3 = *(cadena+3);
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández


         b.

              char* cadena = "Hola";
              char letra0 = *cadena;
              char letra1 = *cadena+1;
              char letra2 = *cadena+2;
              char letra3 = *cadena+3;

16. Reescribe el siguiente programa para calcular la media aritmética de un vector de N
    valores reales mediante notación y aritmética de punteros:


   float media (float datos[], int N)
   {
     int i;
     float suma = 0;
     for (i=0; i<N; i++)
        suma = suma + datos[i];
     return suma/N;
   }

17. Representa mediante instrucciones lo que se representa en las figuras del estado de
    memoria teniendo en cuenta las siguientes declaraciones de partida que se
    corresponden con la primera instantánea. Todas los cambios de valor de las variables y
    y z deben realizarse mediante punteros, nunca directamente. Si para un mismo estado
    se te ocurren varias posibilidades indícalas como otras alternativas:


   int   y = 5;
   int   z = 3;
   int   *nptr;
   int   *mptr;
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández




18. Aquí tienes algunos códigos que presentan errores. Trata de identificarlos y explica el
    motivo del error:

            int a = 10;
            int *ptri = NULL;
            double x = 5.0;
            double *ptrf = NULL;
            ...
            ptri = &a;
            ptrf = &x;
            ptrf = ptri;



            char *ptr;
            *ptr = ‘a’;



            int n;
            int *ptr = &n;
            ptr = 9;



            int *ptr = NULL;
            *ptr = 9;

19. ¿Qué valor tendrá la variable a tras la ejecución de este programa?

     main ()
     {
          int    a = 5;
          int    *p; int **q;
          p =    &a;
          q =    &p;
          a =    *p*2+**q;
     }
Prácticas con punteros, vectores y cadenas. Por Salvador Fernández


20. Se pretende desarrollar tres fragmentos de código que sumen los elementos de un
   vector de enteros v de diferentes maneras. Completa dicho código siguiendo las
   instrucciones de los comentarios:

   int i, suma;
   int *ptr, *ptrfin;


   /* Alternativa 1 */
   suma = 0;
   for (i=0 ; i<N ; i++)
      suma = suma + ____________; //Utilizando notación de vectores


   /* Alternativa 2 */
   suma = 0;
   for (i=0 ; i<N ; i++)
      suma = suma + ____________; //Utilizando notación de punteros
                                  //pero sin echar mano de ptr ni
                                  //ptrFin


   /* Alternativa 3 */
   suma = 0;
   ptrfin = ptr + __________; //Completa la expression para que
                              //ptrFin apunte al último elemento
                              //del vector
   for (ptr=v ; ____________ ; ptr++) //Completa la condición
         suma = suma + *ptr;           //del bucle

Más contenido relacionado

La actualidad más candente

Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Bryan Aguilar Yaguana
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
José Antonio Sandoval Acosta
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
Sara Martínez Gómez
 
Taller Algebra Relacional
Taller Algebra RelacionalTaller Algebra Relacional
Taller Algebra Relacional
AndresSuarez
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simplesEcler Mamani Vilca
 
Grafos
GrafosGrafos
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
OsirysRock
 
10 programas de if
10 programas de if10 programas de if
10 programas de if
Idalia Tristan
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
Fernando Solis
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
Lutzo Guzmán
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
Alejandro Enrique Téllez López
 
Python-List.pptx
Python-List.pptxPython-List.pptx
Python-List.pptx
AnitaDevi158873
 
Arreglos ejercicios resueltos
Arreglos   ejercicios resueltosArreglos   ejercicios resueltos
Arreglos ejercicios resueltos
DAN_90X
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
Eric Gustavo Coronel Castillo
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
yan marco Vasquez Huayca
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
oswnes92
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 

La actualidad más candente (20)

Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Taller Algebra Relacional
Taller Algebra RelacionalTaller Algebra Relacional
Taller Algebra Relacional
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simples
 
Grafos
GrafosGrafos
Grafos
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
10 programas de if
10 programas de if10 programas de if
10 programas de if
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Python-List.pptx
Python-List.pptxPython-List.pptx
Python-List.pptx
 
Arreglos ejercicios resueltos
Arreglos   ejercicios resueltosArreglos   ejercicios resueltos
Arreglos ejercicios resueltos
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 

Destacado

Programación Orientada a Objeto
Programación Orientada a ObjetoProgramación Orientada a Objeto
Programación Orientada a Objetoismaelrubino
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosdaniel9026
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
Victor Marquez Hakuna Matata
 
Administración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicasAdministración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicas
UVM
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
Diosmary Marrón Dellán
 
Memoria memoria dinamica
 Memoria memoria dinamica Memoria memoria dinamica
Memoria memoria dinamica
Carlos Humberto Carmona
 
Arrays bidimensionales
Arrays bidimensionalesArrays bidimensionales
Arrays bidimensionalesasvargas
 
Apuntadores
ApuntadoresApuntadores
Apuntadoresluisabn
 
Apuntadores
ApuntadoresApuntadores
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
Diego Enrique Hernández González
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
Sergio Ramos
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
UVM
 
Administración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicosAdministración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicos
UVM
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesmarigelcontreras
 

Destacado (20)

Programación Orientada a Objeto
Programación Orientada a ObjetoProgramación Orientada a Objeto
Programación Orientada a Objeto
 
C++
C++C++
C++
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
 
Administración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicasAdministración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicas
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 
Memoria memoria dinamica
 Memoria memoria dinamica Memoria memoria dinamica
Memoria memoria dinamica
 
Exp compi(2)
Exp compi(2)Exp compi(2)
Exp compi(2)
 
Arrays bidimensionales
Arrays bidimensionalesArrays bidimensionales
Arrays bidimensionales
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
colas de prioridad
colas de prioridad colas de prioridad
colas de prioridad
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Administración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicosAdministración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicos
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 

Similar a Ejercicios punteros cadenas-vectores

Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3louis
 
ED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosA J
 
Tema 8 www.fresymetal.com
Tema 8 www.fresymetal.comTema 8 www.fresymetal.com
Tema 8 www.fresymetal.com
FresyMetal
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
diego MC
 
Luis hernandez 22310621
Luis hernandez   22310621Luis hernandez   22310621
Luis hernandez 22310621
Luis Miguel
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
hassanbadredun
 
Trabajo programacion 1 jose silva
Trabajo programacion 1 jose silvaTrabajo programacion 1 jose silva
Trabajo programacion 1 jose silva
Jhosse Ant Siilva
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
MarielaCuriel
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
McGuix Bermeo
 
Curso - C. 02. C tipos y expresiones.pptx
Curso - C. 02. C tipos y expresiones.pptxCurso - C. 02. C tipos y expresiones.pptx
Curso - C. 02. C tipos y expresiones.pptx
fcomoya3248
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
Diego Andrés Alvarez Marín
 
Aritmética de Computadores
Aritmética de ComputadoresAritmética de Computadores
Aritmética de Computadores
Henry Cristian Cuesta Vega
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación cvictdiazm
 
Punteros_v2.ppt
Punteros_v2.pptPunteros_v2.ppt
Punteros_v2.ppt
AxelMedina32
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
Diego Santimateo
 

Similar a Ejercicios punteros cadenas-vectores (20)

Punteros
PunterosPunteros
Punteros
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
ED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejercicios
 
Tema 8 www.fresymetal.com
Tema 8 www.fresymetal.comTema 8 www.fresymetal.com
Tema 8 www.fresymetal.com
 
1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Luis hernandez 22310621
Luis hernandez   22310621Luis hernandez   22310621
Luis hernandez 22310621
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
 
Trabajo programacion 1 jose silva
Trabajo programacion 1 jose silvaTrabajo programacion 1 jose silva
Trabajo programacion 1 jose silva
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
 
Curso - C. 02. C tipos y expresiones.pptx
Curso - C. 02. C tipos y expresiones.pptxCurso - C. 02. C tipos y expresiones.pptx
Curso - C. 02. C tipos y expresiones.pptx
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 
Aritmética de Computadores
Aritmética de ComputadoresAritmética de Computadores
Aritmética de Computadores
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Punteros_v2.ppt
Punteros_v2.pptPunteros_v2.ppt
Punteros_v2.ppt
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
 

Más de Salvador Fernández Fernández

Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
Salvador Fernández Fernández
 
Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra función
Salvador Fernández Fernández
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
Salvador Fernández Fernández
 
Colorear fotografias en blanco y negro
Colorear fotografias en blanco y negroColorear fotografias en blanco y negro
Colorear fotografias en blanco y negro
Salvador Fernández Fernández
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
SQL
SQLSQL
Cableado Estructurado de Red
Cableado Estructurado de RedCableado Estructurado de Red
Cableado Estructurado de Red
Salvador Fernández Fernández
 
Redes De Computadores UOC
Redes De Computadores UOCRedes De Computadores UOC
Redes De Computadores UOC
Salvador Fernández Fernández
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
Salvador Fernández Fernández
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
Salvador Fernández Fernández
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
Salvador Fernández Fernández
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Salvador Fernández Fernández
 
PlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz TecnoacademyPlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz Tecnoacademy
Salvador Fernández Fernández
 

Más de Salvador Fernández Fernández (20)

Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
Web services
Web servicesWeb services
Web services
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Práctica nominas
Práctica nominasPráctica nominas
Práctica nominas
 
Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra función
 
Ejemplo usopunteros
Ejemplo usopunterosEjemplo usopunteros
Ejemplo usopunteros
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Introducción a Enterprise Java Beans
Introducción a Enterprise Java BeansIntroducción a Enterprise Java Beans
Introducción a Enterprise Java Beans
 
Colorear fotografias en blanco y negro
Colorear fotografias en blanco y negroColorear fotografias en blanco y negro
Colorear fotografias en blanco y negro
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
Wallpaper natural
Wallpaper naturalWallpaper natural
Wallpaper natural
 
SQL
SQLSQL
SQL
 
Cableado Estructurado de Red
Cableado Estructurado de RedCableado Estructurado de Red
Cableado Estructurado de Red
 
Redes De Computadores UOC
Redes De Computadores UOCRedes De Computadores UOC
Redes De Computadores UOC
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
 
PlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz TecnoacademyPlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz Tecnoacademy
 

Último

Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 

Último (20)

Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 

Ejercicios punteros cadenas-vectores

  • 1. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández 1. Declara una cadena de caracteres de nombre palindromo y asígnale la constante literal “AEREA” en la misma línea de declaración. Hazlo de dos maneras diferentes. 2. Suponiendo que tienes dos cadenas de caracteres, cad1 y cad2 tales que strlen(cad1)==10 y strlen(cad2)==5, indica cómo se declara una tercera cadena cad3 y se le asigna memoria dinámica (en el heap o montón) , teniendo en cuenta que cad3 va a contener la concatenación de cad1 y cad2 sin que sobre ninguna posición de memoria. 3. Si tienes declarada e inicializada una cadena de caracteres cad, indica dos maneras de leer o acceder al carácter de la primera posición. 4. Si en un programa que funciona adecuadamente aparece la sentencia delete s; podemos adivinar que s es un puntero a a. Un char, un int, o cualquier otra variable de tipo simple b. Una cadena de elementos char, int, o de cualquier otro tipo simple c. Es imposible que s sea un puntero. 5. ¿Cómo puedes averiguar lo que ocupa un puntero a un char en tu computadora y usando tu compilador de C++? 6. Si ptrLetra es un puntero a un char, ¿qué hace la instrucción *ptrLetra++=3;? ¿y la instrucción (*ptrLetra)++=3;? ¿son iguales? 7. Si quiero incrementar en una unidad el contenido de la variable a la que apunta un puntero p, indica cuáles de las siguientes instrucciones serían válidas: *p = *p + 1; *p += 1; ++*p; *p++; 8. Utilizando la notación de vectores puedes acceder a la quinta posición (posición 4, ya que los índices empiezan en 0) de un vector v mediante la expresión v[4]. ¿Cómo harías referencia a dicha posición usando notación y aritmética de punteros? 9. Dadas las siguiente declaraciones: char *p; char c; Indica de dos maneras diferentes cómo expresar en C++ cada una de las siguientes comprobaciones, donde carácter nulo se refiere a la marca de fin de cadena: Si c es el carácter nulo…
  • 2. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández Si p apunta a un carácter nulo… Si p es un puntero nulo… 10. Indica los valores de las siguientes expresiones atendiendo a la disposición del vector de enteros lista que se representa en la figura: lista[2] *(lista+3) &lista[1] lista lista+2 lista+1<&lista[1] 11. Crea una función para intercambiar dos números enteros usando punteros equivalente al paso mediante referencias de C++ que se indica. Para ello debes sustituir los parámetros de entrada por punteros a enteros y cambiar el código para adaptarlo a la lógica de los mismos. Asimismo, indica cómo sería la llamada a la función para dos variables enteras x e y. void intercambiar(int &a, int &b) { int temp=a; a=b; b=temp; }
  • 3. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández 12. ¿Puedes averiguar qué hace el siguiente código? ¿Qué contendrán letra1 y letra2 tras la ejecución del código? char letra1 = 'A'; char letra2 = 'B'; char* puntero = &letra1; letra1 = 'C'; letra2 = *puntero; 13. Teniendo el código. char letra = 'A'; char* puntero = &letra; Indicar cuáles de las siguientes asignaciones son incorrectas y podrían producir errores: letra = *puntero; letra = &letra; letra = &puntero; puntero = *puntero; puntero = *(&puntero); puntero = *letra; *puntero = letra; &puntero = letra; 14. ¿Contenidos de letra1 y letra2 al final del código? ¿A quién apuntan los punteros al final? char letra1 = 'A'; char letra2 = 'B'; char* puntero1 = &letra1; char* puntero2 = &letra2; puntero1 = puntero2; letra1 = 'C'; letra2 = 'D'; letra1 = *puntero1; 15. Indica los valores que tendrán al final de la ejecución del siguiente código las variables letra1, letra2 y letra3 en cada caso. a. char* cadena = "Hola"; char letra0 = *cadena; char letra1 = *(cadena+1); char letra2 = *(cadena+2); char letra3 = *(cadena+3);
  • 4. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández b. char* cadena = "Hola"; char letra0 = *cadena; char letra1 = *cadena+1; char letra2 = *cadena+2; char letra3 = *cadena+3; 16. Reescribe el siguiente programa para calcular la media aritmética de un vector de N valores reales mediante notación y aritmética de punteros: float media (float datos[], int N) { int i; float suma = 0; for (i=0; i<N; i++) suma = suma + datos[i]; return suma/N; } 17. Representa mediante instrucciones lo que se representa en las figuras del estado de memoria teniendo en cuenta las siguientes declaraciones de partida que se corresponden con la primera instantánea. Todas los cambios de valor de las variables y y z deben realizarse mediante punteros, nunca directamente. Si para un mismo estado se te ocurren varias posibilidades indícalas como otras alternativas: int y = 5; int z = 3; int *nptr; int *mptr;
  • 5. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández 18. Aquí tienes algunos códigos que presentan errores. Trata de identificarlos y explica el motivo del error: int a = 10; int *ptri = NULL; double x = 5.0; double *ptrf = NULL; ... ptri = &a; ptrf = &x; ptrf = ptri; char *ptr; *ptr = ‘a’; int n; int *ptr = &n; ptr = 9; int *ptr = NULL; *ptr = 9; 19. ¿Qué valor tendrá la variable a tras la ejecución de este programa? main () { int a = 5; int *p; int **q; p = &a; q = &p; a = *p*2+**q; }
  • 6. Prácticas con punteros, vectores y cadenas. Por Salvador Fernández 20. Se pretende desarrollar tres fragmentos de código que sumen los elementos de un vector de enteros v de diferentes maneras. Completa dicho código siguiendo las instrucciones de los comentarios: int i, suma; int *ptr, *ptrfin; /* Alternativa 1 */ suma = 0; for (i=0 ; i<N ; i++) suma = suma + ____________; //Utilizando notación de vectores /* Alternativa 2 */ suma = 0; for (i=0 ; i<N ; i++) suma = suma + ____________; //Utilizando notación de punteros //pero sin echar mano de ptr ni //ptrFin /* Alternativa 3 */ suma = 0; ptrfin = ptr + __________; //Completa la expression para que //ptrFin apunte al último elemento //del vector for (ptr=v ; ____________ ; ptr++) //Completa la condición suma = suma + *ptr; //del bucle