Lab. Proga. Practica 2
Enviado por chefoka • 10 de Abril de 2013 • 1.921 Palabras (8 Páginas) • 982 Visitas
1. Dadas las siguientes declaraciones:
Int dato;
Int *apuntador;
Apuntador= &dato;
*apuntador = 5;
A) ¿Qué valor tiene el apuntador?
R= La dirección de memoria de “dato”
B) ¿Cuál es el valor de dato?
R= 5
C) ¿Cuál es el valor de *apuntador?
R= 5.
2. Del siguiente programa:
#include <stdio.h>
Main(){
Char *apuntador;
Char variable;
Variable=1;
Apuntador=&variable;
Printf(“Valor almacenado en variable = %d\n”,variable);
Printf(“Valor almacenado en apuntador = %d\n”,apuntador);
*apuntador=2;
Printf(“nuevo valor almacenado en variable = %d\n”,variable);
Printf(“Valor almacenado en apuntador = %d\n”,variable);
}
A) ¿Cuál es la salida del programa?
R= 1, 2686789,2 y 2686789
B) Hacer el análisis del programa.
R= imprime “1”, que es valor transformado a entero de la variable. Después imprime la dirección de memoria de la variable transformada a entero.
Se le asigna un nuevo valor a “variable” por medio del apuntador.
Por último imprime el nuevo valor transformado a entero de la variable que es 2 y de nuevo el valor en entero de la localidad de memoria de “variable”.
3. Se tiene un programa con las siguientes declaraciones
Int num;
Int *p;
Suponiendo que la dirección de num es 7753 y la de p 8364, determinar los siguientes valores:
a)num b)p c)&num d)&p e)*p
Despues de ejecutar, de forma acumulativa, las siguientes sentencias.
A. Num=5, p=12, &num=7735, &p=8364,
*p=dato almacenado en la localidad de memoria 12
B. Num=12, p=12, &num=7735, &p=8364,
*p=dato almacenado en la localidad de memoria 12
C. Num=8364, p=12, &num=7735, &p=8364,
*p=dato almacenado en la localidad de memoria 12
D. Num=8364, p=8364, &num=7735, &p=8364, *p=8364
E. Num=8364, p=7735, &num=7735, &p=8364, *p=8364
F. Num=10, p=7735, &num=7735, &p=8364, *p=10
4. Utilizando el nombre de un arreglo unidimensional como apuntador, implemente una función que lea los coeficientes de un polinomio de orden 4, y que con base en ellos, obtenga el valor de dicho polinomio, para una X, dada por el usuario.
//Practica 2 Ejercicio 4
#include <stdio.h>
#include <conio.h>
int resolver(int *p, int x);
main(){
int coef[4],i=0,result;
for(i=0;i<4;i++){
printf("Dame el coeficiente de x^%d: ",i);
scanf("%d",&coef[i]);
}
printf("Dame el valor de la X para poder evaluar: ");
scanf("%d",&result);
result=resolver(coef,result);
printf("El valor del polinomio para la X dada es %d",result);
getch();
}
int resolver(int *p, int x){
int r=0,i,j,y=1;
for(i=0;i<4;i++){
for(j=0;j<i;j++){
y=y*x;
}
r+=y*p[i];
}
return(r);
}
5. Utilizando la aritmética de apuntadores, implemente una función que trasponga una matriz cuadrada utilizando únicamente un apuntador.
//Practica 2 Ejercicio 5
#include <stdio.h>
#include <conio.h>
void imprimir(int p[3][3]);
main(){
int matriz[3][3],i=0,j;
...