Title: Prctica Algoritmos y Lenguaje de Programacin
1Práctica Algoritmos y Lenguaje de Programación
2Punteros
3Aritmética de Punteros
- int p
- int A
- pA
- p
- Esto hace que p apunte
- al siguiente entero, no
- al siguiente byte.
4Ejemplo
- int p
- int A42
- pA
- printf(Valor de p es ,p)
- printf(Dirección a la que apunta p es ,p)
- printf(Dirección donde esta almacenado p es
,p)
5Funciones
6Return
Indica que es lo retornado por la función. Tiene
que ser del mismo tipo que cuando se crea la
función. return 10
7Prototipos
- Indican al compilador del tipo de la función, y
el tipo y cantidad de argumentos. - float suma(float a,float b)
- Float suma(float a,float b)
-
- return ab
-
- Flotante suma(a,b)
8Paso por valor
- Al pasar argumentos, se pasan copias de las
variables, no las variables reales.
9Paso por referencia
- Al pasar argumentos, se le pasan las direcciones
de las variables. - Al ser direcciones, se trabajan como si fueran
punteros.
10Problema 1
- Haga un programa que pida dos enteros por
teclado. Luego cree una función que tome esos dos
enteros, obtenga el promedio y lo muestre en
pantalla.
11Solución Problema1
include ltstdio.hgt include ltstdlib.hgt void
promedio(int a,int b) int main(int argc, char
argv) int a,b printf("Ingrese un
entero ") scanf("i",a) printf("\nIngrese
un segundo entero ") scanf("i",b)
12Solución Problema 1
promedio(a,b) system("PAUSE")
return 0 void promedio(int a,int b) int
x x(ab)/2 printf("El promedio es
i\n",x) return
13Problema 2
- Cree un programa que llame a una función que
calcule el área de un rectángulo, a partir de sus
lados, y otra función que calcule el área de un
cÃrculo a partir de su radio. Luego compare ambas
áreas e indique cual es la mayor. - Repita el procedimiento con los perÃmetros.
14Solución Problema2
include ltstdio.hgt include ltstdlib.hgt int
areaRectangulo(int LadoA,int LadoB) int
areaCirculo(int r) int perimetroRectangulo(int
LadoA, int LadoB) int perimetroCirculo(int r)
15Solución Problema2
int main(int argc, char argv) int
LadoA,LadoB int radio int
aRectangulo,aCirculo,pRectangulo,pCirculo
LadoA10 LadoB50 radio20
aRectanguloareaRectangulo(LadoA,LadoB)
aCirculoareaCirculo(radio) pRectanguloperimet
roRectangulo(LadoA,LadoB)
16Solución Problema2
pCirculoperimetroCirculo(radio) if
(aRectangulogtaCirculo) printf("\nEl area del
rectangulo es mayor que la del circulo") if
(aRectanguloaCirculo) printf("\nEl area del
rectangulo es igual que la del circulo") if
(aRectanguloltaCirculo) printf("\nEl area del
rectangulo es menor que la del circulo")
17Solución Problema2
if (pRectangulogtpCirculo) printf("\nEl
perimetro del rectangulo es mayor que el
perimetro del circulo") if (pRectangulopCircu
lo) printf("\nEl perimetro del rectangulo es
igual que el perimetro del circulo") if
(pRectanguloltpCirculo) printf("\nEl perimetro
del rectangulo es menor que el perimetro del
circulo\n") system("PAUSE") return 0
18Solución Problema2
int areaRectangulo(int LadoA,int LadoB)
return (LadoALadoB) int areaCirculo(int
r) return (3.14rr) int
perimetroRectangulo(int LadoA, int LadoB)
return (2LadoA2LadoB) int
perimetroCirculo(int r) return (23.14r)