miércoles, 21 de marzo de 2012

Unidad 3: Tarea 1

  • Que es una funcion?
En programación, una función se puede definir como un grupo de instrucciones que contienen un objetivo muy particular.

Una función se puede llamar de manera múltiple e incluso llamarse a sí misma. Las funciones tienen la habilidad de recibir datos desde afuera al ser llamadas por medio de parámetros, no obstante deben entregar resultados.

Todas las funciones deben tener un nombre único para poder se llamadas, un tipo de dato de resultado, una lista de parámetros de entrada y su código.

  • Prototipo de una funcion


Los prototipos de funciones siempre son utilizados al comienzo del programa o mejor conocido como la cabecera del programa y siempre presentan la siguiente estructura:
Funciones en C. Declaración de funciones
El prototipo de una función es aquel que le brinda la información importante al compilador. En todos los prototipos de funciones en c++ se indican el tipo de dato de la función, el numero, tipo y orden de los parámetros que la misma ejecutara. El único trabajo del compilador es verificar las funciones, es por esto que si dice que en tiempos atrás los prototipos no existían lo cual no permitía al compilador detectar algunos errores presentes en estos.
Algunos ejemplos de prototipos de funciones son:
Funciones en C. Declaración de funciones

  • Funcion sin parametros sin entragar valor

En las funciones sin parámetros no existe comunicación entre el programa principal y los procedimientos.
Se define como una función sin parámetros sin entregar valor a aquella función en C++ que puede llamarse de manera simple solamente indicando el nombre de esta, utilizando paréntesis y luego cerrando la línea de código con un punto y coma.
Por ejemplo: nombreFuncion();

  • Funcion con paramaetros sin entregar valor

En las funciones con parámetros existe comunicación entre el programa principal y los procedimientos.
En el lenguaje C++ las funciones con parámetros sin entregar valor son también conocidas como funciones con parámetros por referencia. Esto significa que cuando la funcion tiene que modificar el valor de la variable utilizada como parámetro y que esta vuelva  a la función que llama, esta funcion se debe pasar el parámetro por referencia.

Se le llama referencia a la dirección de la variable. Esto quiere decir que pasara por un argumento, de manera simple se le indicara al compilador que pasa la dirección del argumento.

  • Funcion con parametros entregando valor


La función con parámetros entregando valor significa que al momento de compilar dada función y dado código de la misma función, la función utilizada recibirá una copia de los valores de los parámetros que se requieren en la función como argumentos. Aquellas variables que son reales no se pasan a la función, únicamente las copias de su valor.
Por ejemplo:
 void imprime_cantidad(int can){
printf(“%d\n”,can);
}
void alguna_funcion(void){
int cantidad;
:
imprime_cantidad(cantidad);
:
}






lunes, 19 de marzo de 2012

Practica Extra Examen Unidad 2

Practica Extra Examen Unidad 2

1. Inicio
nac=0,edad=0,n=0,codigo=0,c=0,t25=0,tm=0,tn=0 int
sexo char
print"Introducir cantidad de accidentes: "
read n
for(c=1 to n step c=c+1)
print"\nIntroducir anio de nacimiento: "
read nac
edad=2012-nac
if(edad<25)
t25=t25+1
print"\nSexo(F o f (femenino), M o m (masculino)= "
read sexo
if(sexo=='m' or sexo=='M')
tm=tm+1
print"\nCodigo de registro 1)New York 0)Fuera de la ciudad= "
read codigo
if(codigo==1)
codigo=codigo+1
print"\nPorcentaje de conductores menores a 25 anos",(t25*100.0/n),"%"
print"Porcentaje de conductores de sexo masculino",(tm*100.0/n),"%"
print"Porcentaje de conductores con registro en NY",(codigo*100.0/n),"%"
Fin





martes, 13 de marzo de 2012

Practica 10

Practica 10 Problema 1

1. Inicio
poblacion=0.0 real
a=0,t=0 int
print("\nAnio         Poblacion miles de millones de personas")
for(a=1985 to 2012 step a=a+1)
{
poblacion=4.88*(1+exp(0.02*t))
print a,"         ",poblacion
t=t+1
Fin
























Practica 10 Problema 2

1. Inicio
v=500.0,ang=(22.8*3.1416)/180,t=0.0,x=0.0,y=0.0 real
print"x\t\ty"
for(t=0 to 10 step t=t+0.05)
{
x=v*t*cos(ang);
y=v*t*sin(ang);
print x,"\t\t",y
}
Fin







Practica 10 problema 3

1. Inicio
n=0,r=0,experimento=1 nt
ensaye=0.0,suma=0.0 real
for(experimento=1 to 4 step experimento=experimento+1)
{
suma=0.0
print"Introducir resultados del experimento "
for(r=1 to 6 step r=r+1)
{
print"resultado ",r,"="
read ensaye
suma=suma+ensaye
}
print"el promedio es: "
print"\n"
}
Fin











Practica 10 problema 4a

n=0,r=0,experimento=1 nt
ensaye=0.0,suma=0.0 real
for(experimento=1 to 4 step experimento=experimento+1)
{
suma=0.0
print"Introducir resultados del experimento "
print"Numero de resultados= "
read n
for(r=1 to n step r=r+1)
{
print"resultado ",r,"="
read ensaye
suma=suma+ensaye
}
print"el promedio es: "
print"\n"
}
Fin



4b)












Practica 10 problema 5

a) 1. Inicio
x=0,y=0 real
print"x\t\ty\n\n"
for(x=5 to 10 step x=x+0.2)
{
y=x+pow(x,2)/2+pow(x,3)/6+pow(x,4)/24+pow(x,5)/120
print x,"\t\t",y
}
Fin


b) 1.Inicio
y=0,t=0 real
print"\t\t\ty\n\n"
for(t=1.0 to 10.0 step t=t+0.2)
{
y=24*exp(0.04+t)
print t,"\t\t",y
}
Fin





c) 1. Inicio
x=0,y=0 real
print"x\t\ty\n\n"
for(x=5 to 10 step x=x+0.5)
{
y=5*pow(x,5)-2*pow(x,3)+x
print x,"\t\t",y
}
Fin



Practica 10 Problema 6

1. Inicio
x=0,y=0,z=0 real
print"<x","\t","z","\t","y"
for(x=2 to 6 step x=x+1)
{
for(z=2 to 6 step z=z+1)
{
if(x==z)
{
print x,"\t",z,"\t",y
}
}
}











Tutorial










martes, 6 de marzo de 2012

Practica 9

Practica 9 Problema 1

1. Inicio
n=0,f=1,suma=0,c1=0,c2=0 int
print"Introdusca la cantidad de terminos de la serie (1!+2!+3!+.....n!)= "
read n
print"Terminos de la serie: "
for(c1=1 to n step c1=c1+1)
{
f=1
for(c2=c1 to 0 step c2=c2-1)
{
f=f*c2
}
print f, "     "
if(c1==n)
{
print"="
}
else
{
print"+"
}
suma=suma+f
}
print suma
Fin


Practica 9 Problema 2

1. Inicio
suma=1,f=1 float
x1=0,c2=0,x int
print"Introducir un valor para x: "
read x
print"1 + "
for(c1=1 to 20 step c1++)
{
f=1.0
for(c2=c1 to 1 step c2=c2-1)
{
f=f*c2
}
print pow(x,c1)/f
if(c1==20)
{
print"="
}
else
{
print" + "
}
}
print suma
Fin





Practica 9 Problema 3

1. Inicio
numlineas,c1=0,c2=0 int
print"Introducir numero de lineas: "
read numlineas
for(c1=1 to numlineas step c1++)
{
for(c2=1 to c1 step c2++)
{
print"@ "
}
print endl
}
Fin


Practica 9 Problema 4

1.Inicio
precio,cambio,cambioa int
do
{
print"\n\nPor favor introducir el precio del articulo a comprar en centavos:"
read precio
if(precio1=0)
{
print"El cambio es: "
cambio=100-precio
cambioa=cambio/25
if(cambioa!=0)
{
print cambioa, "quarter, "
}
else
{
cambioa=cambio
}
cambioa=(cambio%25)/10
if (cambioa!=0)
{
print cambioa, " dimes, "
}
else
{
cambioa=cambio
}
cambioa=((cambio%25)%10)/5
if (cambioa!=0)
{
print cambioa, " nickel, "
}
else
{
cambioa=cambio
}
cambioa=((cambio%25)%10)%5
if (cambioa!=0)
{
print cambioa, " pennies. "
}
else
{
if (cambio%25!=0 and cambio%10!=0 and cambio%5!=0)
}
print cambio%5, "pennies"
}
}
}
}
while (precio!=0)
Fin



















Practica 9 Problema 5

1. Inicio
n,i=1,h,tipf,mayor1=0,mayor2,costo,c1=1,c2=1,c3=1,c4=1 int
mt1=0,mt2=0,mt3=0,mt4=0,m1=0,m2=0,m3=0,m4=0 real
nombre char [15]
print"Introducir el numero de granjeros: "
read n
while(i<=n)
{
print"\nNombre del granjero: "
read nombre
print"Tipo de fumigacion:\t\t\tPrecio por hectarea:"
print"\n1) Fumigacion de malas hierbas\t\t\t$10"
print"\n2) Fumigacion de malas langostas\t\t\t$20"
print"\n3) Fumigacion de malas gusanos\t\t\t\t$30"
print"\n4) Fumigacion de todo lo anterior\t\t$50"
print"\nTipo:"
read tipf
print"Hectareas:"
read h
switch(tipf)
{
case 1:costo=10
c1=c1+1
if(h>100)
{
m1=costo*0.95*h
}
else
{
m1=costo*h
}
if(m1>=1500)
{
m1*=.90
}
mt1+=m1
break
case 2:costo=20
c2=c2+1
if(h>100)
{
m2=costo*0.95*h
}
else
{
m2=costo*h
}
if(m2>=1500)
{
m2*=.90
}
mt2+=m2
break
case 3:costo=30
c3=c3+1
if(h>100)
{
m3=costo*0.95*h
}
else
{
m3=costo*h
}
if(m3>=1500)
{
m3*=.90
}
mt3+=m3
break
case 4:costo=50
c4=c4+1
if(h>100)
{
m4=costo*0.95*h
}
else
{
m4=costo*h
}
if(m4>=1500)
{
m4*=.90
}
mt4+=m4
break
default:
print "Valor no valido"
}
i=i+1
}
if(c1>c2)
{
mayor1=c1
mayor2=1
}
else
{
mayor1=c2
mayor2=2
}
if(c3>mayor1)
{
mayor1=c3
mayor2=3
}
if(c4>mayor1)
{
mayor1=c4
mayor2=4
}
print"\nMonto total de tipo 1:",mt1
print"Monto total de tipo 2:",mt2
print"Monto total de tipo 3:",mt3
print"Monto total de tipo 4:",mt4
print"\n\nEl tipo de fumigacion mas solicitado es el tipo: ",mayor2
Fin





lunes, 5 de marzo de 2012

Practica 8

Practica 8 Problema 1

1. Inicio
x,y int
f real
print"Las coordenadas que cumplen x^2/16+y^2/25=1"
print"\nx            y                     f(x,y) "
for(x=2 to 8 step x=x+2)
{
for(y=6 to 21 step y=y+3)
{
f=(pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2))
print x,"\t",y,"\t",f
}
}
Fin






Practica 8 Problema 2

1. Inicio
x,y int
print"Las coordenadas de la funcion x^2/16+y^2/25=1 son: "
for(x=-4 to 4 step x=x+1)
{
for(y=-5 to 5 step y=y+1)
{
if ((pow(x,2)/16)+(pow(y,2)/25)==1)
{
print"\nLas coordenadas x,y = ",x,"      ",y
}
}
}
Fin



Practica 8 Problema 3

1. Inicio
n1,n2,i=0 int
do
{
print"Introducir un valor positivo: "
read n1
if(n1<=0)
{
print"El valor del numero no es positivo"
}
}
while(n1<=0)
for(i=0 to (n1-1) step i=i+1)
{
print"\n"
for(n2=1 to (n1-i) step n2=n2+1)
{
print n2, "     "
}
}
Fin



Practica 8 Problema 4

1. Inicio
n,i,jugador,edad=0,goles=0,asistencia=0,minutos=0 int
nombre char [15]
mayor=o,eva=0,altura=0,peso=0,factor=0 real
print"Introdusca el numero de jugadores: "
read n
for(i=1 to n step i=i+1)
{
print"\nNombre del jugador: "
read nombre
print"Edad del jugador: "
read edad
print"Altura del jugador en pulgadas: "
read altura
print"Peso del jugador en libras: "
read peso
print"Goles hechos en la ultima temporada: "
read goles
print"Asistencia en la ultima temporada: "
read asistencia
print"Minutos penalizados: "
read minutos
print"Factor liga: "
read factor
eva=(((goles+asistencia-minutos)/4+(altura+peso)/5-edad)*factor);
print"Evaluacion: ",eva
if(eva>mayor)
{
mayor=eva
jugador=1
}
}
print"El jugador con mayor evaluacion es: ",jugador
print"Evaluacion ",mayor
Fin




sábado, 3 de marzo de 2012

Practica 7

Practica 7 Problema 1

1. Inicio
gasto=0 real
total=0 real
do
{
print"gastos del viaje"
read gasto
total=total+gasto
}
while(gasto!=-1)
total=total+1
print"total de gastos= ",total
Fin



Practica 7 Problema 2

1. Inicio
pares=0,impares=0,contador=1,numero=0 int
while(contador<=30)
{
print"numero =?"
read numero
}
if(numero%2==0)
{
par=par+numero
}
else
{
impar=impar+numero
}
contador=contador+1
}
print"La suma de los numeros pares es", par
print"La suma de los numeros impares es", impar
Fin


Practica 7 Problema 3

1. Inicio
n=0,contador=1 int
numero, total=0,mayor=0.0,menor=99999,promedio=0 real
print"Introducir cantidad de datos"
read n
while(contador<=n)
{
print"numero =?"
read numero
total=total+numero
if(numero>mayor)
{
mayor=numero
}
else
{
if(numero<menor)
{
menor=numero
}
}
contador=contador+1
}
promedio=total/n
print"El numero mayor es = ",mayor
print"El numero menor es = ",menor
print"La media es = ", promedio
Fin


Practica 7 Problema 4

1. Inicio
nombrejug [15] char
sueldo1,sueldo 2,aumento, totalactual=0,totalaum=0 real
n=0 int
do
{
print"Nombre del jugador = "
read nombrejug
print"Sueldo Actual = "
read sueldo1
if(sueldo1>=0andsueldo1<=900)
{
aumento=sueldo1*0.20
}
else
{
if(suedlo1>900andsueldo1<=13000)
{
aumento=sueldo1*0.10
}
else
{
if(sueldo1>13000andsueldo1<=18000)
{
aumento=sueldo1*0.05
}
else
{
aumento=0.0
}
}
}
totalactual=totalactual+sueldo1
sueldo2=sueldo1+aumento
totalaum=totalaum+sueldo2
print"Nombre del jugador: ",nombrejug
print"Sueldo actual: ",sueldo1
print"Sueldo aumentado: ",sueldo2
print"Desea introducir informacion de otro jugador 1)si 2)no"
read n
}
while(n==1)
print"Total de nomina actual: ",totalactual
print"Total de nomina aumentada: ",totalaum
Fin


Practica 7 Problema 5

1. Inicio
nombre [15] char
edad=0,edadt=0,edadp=o,contador=1,n=0 int
peso=0,pesot=0,pesop=0 real
print"Cantidad de jugadores que seran introducidos: "
read n
while(contador<=n)
{
print"\nNombre del jugador: "
read nombre
print"Peso del jugador en libras: "
read peso
print"Edad del jugador: "
read edad
peso=pesot+peso
edad=edadt+edad
contador=contador+1
}
pesop=pesot/n
edadp=edadt/n
print"\nEl peso promedio de los " <<n<<"jugadores es de " <<pesop<<" lbs."
print"\nLa edad promedio de los " <<n<<"jugadores es de " <<edadp<<" anos."
Fin



Practica 7 Problema 6

1. Inicio
n=0,contador=1 int
suma=0.0 real
while(contador<=0)
{
if(contador%2==1)
{
suma=suma-1.0/(2.0*contador)
}
else
{
suma=suma+1.0/(2.0*contador)
}
contador=contador+1.0
}
suma=suma+1.0
print"La suma de los primero 100 terminos de la serie es: ",suma
Fin