Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE CIENCIAS
ESCUELA DE MATEMÁTICAS Y CIENCIAS DE LA COMPUTACIÓN
DEPARTAMENTO DE MATEMÁTICS APLICADA
MM-314 PROGRAMACION SECCIONES 1400 Y 1700
I PAC 2020
TAREA No. 3
Instrucciones:
El contenido a trabajar corresponde al capítulo 5 secciones 5.1 a 5.8 en el libro de texto:
Como programar en C++ cuarta edición.
Pueden trabajar en grupos de 2 integrantes como máximo. Escribir el nombre completo
y el número de registro de los integrantes al inicio del documento.
Fecha máxima de entrega 17 de abril de 2020
El nombre del archivo debe iniciar con T3 seguido de las iniciales de los nombres
seguido de la sección en la que están matriculados, por ejemplo: T3_CA_SM_1700
Enviar el archivo de la tarea al correo electrónico allison.chavez@unah.edu.hn
CUESTIONARIO
1. ¿Qué es la dirección de una variable?
2. ¿El programador puede asignar la dirección a las variables de un programa?
3. ¿Qué es un apuntador o puntero?
Un a puntador contiene la dirección de una variable que contiene un valor específico.
4. ¿Cuál es la utilidad de los apuntadores en el lenguaje de programación C++?
5. ¿Qué almacena una variable apuntador?
Las variables de apuntador contienen direcciones de memoria como sus valores. Por lo general,
una variable contiene de manera directa un valor específico.
Tipos de
Descripción Memoria
Datos
18. Sea la declaración int x, *ptrx=&x, ¿ptrx almacena la dirección de los 4 bytes que ocupa
x en la memoria? Explique su respuesta.
19. Dada la instrucción int Edad[ 7]; ¿Cuál es la salida de cout<< sizeof Edad;?
La cantidad de byte utilizados.
20. ¿Cuál es la relación entre los nombres de los arreglos y los apuntadores?
21. ¿Qué es un apuntador constante?
Puntero constante. Se utiliza para informar al compilador que el valor del puntero no
puede cambiar, aunque el objeto al que apunta si pueda cambiar (si no es constante).
22. Dado la instrucción int Num[10], *ptrNum; ¿Cuál es la diferencia entre ptrNum=Num; y
ptrNum=&Num[0];?
Notas:
Un número hexadecimal se escribe como una combinación de los dígitos de su base:
{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}
Por comodidad usaremos los números hexadecimales, direcciones (localidades de
memoria), iniciando con dos dígitos literales seguidos de tres dígitos numéricos, por
ejemplo cb700, fa126, bd049
Por comodidad en las pruebas de escritorio romperemos la secuencia de los
números hexadecimales, tal como lo aplica el libro de texto. Por ejemplo
aceptaremos la secuencia fd468, fd469, fd470, fd471, fd472, .. en vez de
fd468,fd469, fd46a, fd46b, fd46c, …
Al ejecutar un programa en el lenguaje de programación las direcciones se escriben
respetando la secuencia de los números hexadecimales con un prefijo que identifica
el sistema de numeración utilizado.
En el texto puede consultar el Apéndice C Sistemas Numéricos si desea estudiar
sobre el sistema de numeración hexadecimal.
#define max 5
int main(int argc, char *argv[])
{ int A[max]={5,10,15,20,25}, *ptrA=A;
cout<<endl<<endl;
for(int i=0; i<max; i++)
{ cout<<setw(10)<<ptrA<<setw(10)<<*ptrA<<endl;
ptrA++; }
cout<<endl<<endl;
for(int i=0; i<max; i++)
{ cout<<setw(10)<<A+i<<setw(10)<<*(A+i)<<endl; }
cout<<endl<<endl;
ptrA=A;
for(int i=0; i<max; i++)
cout<<setw(10)<<ptrA+i<<setw(10)<<*(ptrA+i)<<endl;
cout<<endl<<endl;
for(int i=0; i<max; i++)
cout<<setw(20)<<ptrA[i]<<endl;
return 0; }