Você está na página 1de 4

UNIVERSIDAD DE CARTAGENA – PROGRAMA INGENIERÍA DE SISTEMAS

PROGRAMACIÓN BÁSICA – APUNTADORES Y ARITMETICA DE PUNTEROS – 15/02/2018

OBTEJIVO:
1. Implementar el concepto de puntero en la resolución de problemas
2. Comprender y diferenciar los conceptos de punteros, variables, direcciones de memoria y referencias y su
importancia en el desarrollo de funciones

De manera más sencilla, al declarar una variable, por ejemplo int x; el compilador reserva un espacio de memoria para ella y
asocia al nombre o identificador asignado, la dirección de memoria desde donde comienzan los datos de esa variable.
Recordemos que, las direcciones de memoria se suelen describir como números en hexadecimal

En concordancia con lo antes expresado, podemos entonces declarar una variable cuyo contenido sea la dirección de
memoria que le fue asignado a otra variable.

Por lo tanto, Un apuntador o puntero, es una variable que contiene una dirección de memoria, la cual corresponderá a un
dato o a una variable que contiene el dato.

El uso de punteros puede parecer al principio un poco complicado, por la dificultad inicial de entender el concepto, pero una
vez comprendido podemos sacar provecho a la principal ventaja de esta herramienta, permite hacer los programas más
eficientes y más flexibles

Veamos un ejemplo para comprender el concepto de punteros.

Al Ejecutar el programa, qué puedes notar con respecto al resultado arrojado como dirección de memoria de x
y el valor de p? Exacto, son los mismos porque se aplicó referenciación.

La referenciación es la obtención de la dirección de una variable. En C y C++ esto se hace a través del operador monario
‘&’, aplicado a la variable a la cual se desea saber su dirección. En este caso, p = x;
ANALICE LOS SIGUIENTES EJERCICIOS CON PUNTEROS

EJEMPLO 1
#include <iostream>
using namespace std;
int main() { int a, b, *p;
a = 100;
p =&a;
b = *p + 200;
cout << "a,b ->" << a << ", " << b << endl;
a = *p + 200;
cout << "a,b ->" << a << ", " << b << endl;
system("pause");
return 0;
}

EJEMPLO 2
#include <iostream> using
namespace std; int main (){
int a,b,c;
int *p, *q, *z; a=100;
b=200;
p = &a;
cout<<"a= " <<a <<"\t *P= " <<&p <<endl;
q = &b;
cout<<"b= " <<b <<"\t *q= " <<&q <<endl;
c = *p+*q;
z = &c;
cout<<"a= " <<*p <<"\t b= " <<*q <<"\t c= "<<*z <<endl;
p++;
cout<<"a= " <<a <<"\t *P= " <<&p <<endl;
system("pause");
return 0;
}

EJEMPLO 3 //ASUMA UN VALOR PARA COMPRA DE 100000 Y UN DESCUENTO DEL 15%


#include <iostream> using
namespace std; int main (){
int pr,porc, desc;
int *p, *q, *z;
cout<<"Ingrese el valor de la compra:$ "; cin>>pr;
p = &pr;
cout<<"Ingrese el porciento a descontar: "; cin>>porc;
q = &porc;
desc = *p * *q /100;
z = &desc;
if (*p > 100000)
desc = *z + (*p - 100000) *0.05;
cout<<"Precio= " <<*p <<"\t Descuento= " <<*z <<"\t Neto= "<<*p - *z <<endl;
system("pause");
return 0;
}
AUTOEVALUACIÓN:

1. A partir de los conceptos socializados referentes al uso de punteros, indicar que hace el siguiente programa,
colocando un comentario indicando que se hace en cada instrucción donde se implemente el uso de punteros

using namespace std;


int main(){
float x,y=0,rta, *p, *q;
x = 100;
p = &x;
q = p;
y=pow(*q,2);
cout<<"\nx = 100";
cout<<"\np = &x";
cout<<"\nq = p";
cout<<"\ny=pow(*q,2);";
cout<<"\nQue valor tiene y? digitalo ";
cin>>rta;
if(rta == y)
cout<<"\n*** Felicitaciones, tienes claro el concepto de puntero *** \n";
else
cout<<"\n*** Lo lamento, aun no tienes claro el concepto de puntero, el valor de y es "<<y <<" *** Repasa e Intentalo
nuevamente\n";
system("pause");
return 0;
}

#include <iostream.h>
Using namespace std;
int main()
{
int x,v[10]
int *p;
p =v;
for(x=0;x<10;x++)
{
cout<<"\n Ingrese un valor: ";
cin>>*p;
p++;
}
for(x=0;x<10;x++)
{ cout<<v[x]<<"\t"; }
}

2. Aplicando aritmética de punteros desarrollar una solución para el siguiente problema:

Se tienen los costos de producción de dulces correspondientes a los 12 meses del año anterior.
Dulces

Enero
Febrero
.
.
.
Diciembre

Elaborar un programa que pueda proporcionar la siguiente información:


a) ¿En qué mes se registró el mayor costo de producción?
b) ¿Cuál es el Promedio Anual de los costos de producción?
c) ¿En qué mes se registró el menor costo de producción?
3. ACTIVIDAD TIEMPO INDEPENDIENTE: Aplicando aritmética de punteros desarrollar una solución para el
siguiente problema
Se desea registrar los pesos de los alumnos de sabiendo que hay como máximo N estudiantes. Mostrar la estadística
considerando la siguiente tabla.
Criterio
Alumnos de menos de 40 Kg
Alumnos entre 40 y 50 Kg
Alumnos de más de 50 y menos de 60 Kg
Alumnos de mas o igual a 60 Kg

Você também pode gostar