Está en la página 1de 8

30/5/23, 00:22 Teoria Punteros: Revisión del intento

Área personal Mis cursos Cursos Basicos 2o Semestre Compu Semana 9

Teoria Punteros

Comenzado el domingo, 21 de mayo de 2023, 23:52


Estado Finalizado
Finalizado en domingo, 21 de mayo de 2023, 23:59
Tiempo 6 minutos 33 segundos
empleado
Calificación 3 de 4 (69%)

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 1/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

Pregunta 1
Correcta

Se puntúa 1 sobre 1

#include<iostream>

#include<cstdlib>

using namespace std;

int main()
{
int v[3]; //un vector de 3 elementos

v[0]=11;

v[1]=23;

v[2]=37;

int *p=&v[0];

cout<<*p+0<<endl;

cout<<*p+1<<endl;

cout<<*p+2<<endl;

system("pause");
return 0;
}

Qué aparece en consola?

Seleccione una:
0x6ffe10 0x6ffe14 0x6ffe18

012

11 23 37

11 11 11

11 12 13 

Respuesta correcta

*p hace que muestre el valor en la variable v[ 0 ]


*p+1 hace que muestre el valor sumado 1 y así

si se quiere que se muestre el valor en la siguiente dirección de memoria, se debe hacer

*(p+1) y se mostrará el valor de v[ 1 ]


esto ocurre porque las variables en un vector se acomodan en memoria de manera consecutiva (IMPORTANTE)

 
La respuesta correcta es: 11 12 13

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 2/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

Pregunta 2
Parcialmente correcta

Se puntúa 1 sobre 1

#include<iostream>

#include<cstdlib>

using namespace std;


int main ()

int a=5;

int  *puntero;

*puntero  = &a;

system("pause");

return 0;
}

Declare el puntero correctamente

float punt char const

puntero= puntero* puntero &puntero

Respuesta parcialmente correcta.


Ha seleccionado correctamente 1.
El puntero como cualquier otro tipo de dato también se puede declarar con valor inicial

int *puntero = &a;

para dar valor al puntero después de haber inicializado es necesario solamente llamar por su nombre
puntero = &a;

La respuesta correcta es:


#include<iostream>

#include<cstdlib>

using namespace std;


int main ()

int a=5;

[int] *puntero;

[puntero] = &a;

system("pause");

return 0;
}

Declare el puntero correctamente

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 3/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

Pregunta 3
Correcta

Se puntúa 1 sobre 1

//algoritmo para introducir un vector de n elementos

#include<iostream>

#include<cstdlib>

using namespace std;

int main()
{

int n=10;

int v[n];

//p apunta a la direccion de memoria de v[0]

Es lo mismo hacer

p=&v[0]

que hacer?

p=v;

for (i=0; i<n; i++)

cout<<"v["<<i<<"]=";

cin>>v[i];

}
...

Seleccione una:
Verdadero 

Falso

(IMPORTANTE) El nombre de un vector es un puntero


Es decir, que solamente v nos retorna la dirección que apunta al primer elemento del arreglo &v[0]

por lo que escribir solamente su nombre nos dará una dirección


La respuesta correcta es 'Verdadero'

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 4/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

Pregunta 4
Parcialmente correcta

Se puntúa 0 sobre 1

//Introduza e imprima una matriz utilizando punteros

#include<iostream>

#include<cstdlib>

#include<time.h>

using namespace std;

void cargar(float*, int,int);

void imprimir(float[], int,int); //de las dos formas se puede declarar un puntero
int main ()
{
srand(time(NULL));
float mat[4][5];

cout<<mat<<endl; //el nombre de una matriz no es un puntero a flotante es puntero a


flotante[5] por lo que hay que hacer cast

cout<<(float*)mat<<endl;

cout<<&mat[0][0]<<endl;

cargar ( &mat[0][0]  ,4,5);

imprimir( &mat  ,4,5);

system("pause");

return 0;

}
void cargar(float *p, int m, int n)

for(int i=0 ; i<m ; i++)

{
for(int j=0 ; j<n ; j++)

*
(p+j*n+i
)  =rand()%89+10;

}
}
}
void imprimir(float p[], int n, int m)

{
cout<<"MAT ="<<endl;

for(int i=0 ; i<m ; i++)

for(int j=0 ; j<n ; j++)

cout<< p[i+j]  <<"\t";

cout<<endl;
}
}

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 5/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

(float*) (float*)mat

mat &mat

*(p+i*n+j) *(p+i+j)

p[i][j] p[i*n+j]

Respuesta parcialmente correcta.

Ha seleccionado correctamente 1.
En C++ las matrices se almacenan en memoria "por filas", es decir, los elementos de la fila primera (de índice 0)
van consecutivos y cuando acaba el último de la primera fila empieza a almacenarse el primero de la
segunda, y así sucesivamente hasta llegar a la última fila.

 int M[2][3];

Se guarda en memoria en el siguiente orden:

M[0][0]

M[0][1]

M[0][2]

M[1][0]

M[1][1]

M[1][2]

por lo que se forma un "vector" de mxn elementos

La respuesta correcta es:


//Introduza e imprima una matriz utilizando punteros

#include<iostream>

#include<cstdlib>

#include<time.h>

using namespace std;


void cargar(float*, int,int);

void imprimir(float[], int,int); //de las dos formas se puede declarar un puntero

int main ()
{

srand(time(NULL));
float mat[4][5];
cout<<mat<<endl; //el nombre de una matriz no es un puntero a flotante es puntero a
flotante[5] por lo que hay que hacer cast

cout<<(float*)mat<<endl;

cout<<&mat[0][0]<<endl;

cargar ( [&mat[0][0]] ,4,5);

imprimir( [(float*)mat] ,4,5);

system("pause");

return 0;

}
void cargar(float *p, int m, int n)

for(int i=0 ; i<m ; i++)

{
for(int j=0 ; j<n ; j++)

{
[*(p+i*n+j)]=rand()%89+10;

}
}

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 6/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento
}
void imprimir(float p[], int n, int m)

cout<<"MAT ="<<endl;

for(int i=0 ; i<m ; i++)

{
for(int j=0 ; j<n ; j++)

cout<< [p[i*n+j]] <<"\t";


}

cout<<endl;
}

Actividad previa
◄ Ejercicios propuestos

Ir a...

Siguiente actividad
Ejercicio 10.1 ►

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 7/8
30/5/23, 00:22 Teoria Punteros: Revisión del intento

Mantente en contacto
Conecti.me

http://conecti.me

Mobile : +55 (98) 00123-45678

willianmano@conecti.me

 Resumen de retención de datos

 Descargar la app para dispositivos móviles

Tradición y Excelencia en la Formación de Ingenieros - Facultad de Ingeniería, Campus UNA, San Lorenzo - Paraguay

https://eaula.ing.una.py/mod/quiz/review.php?attempt=380088&cmid=28116 8/8

También podría gustarte