miércoles, 28 de marzo de 2012

practica 9 (problemas).

problema 1.
Un modelo para calcular la poblacion mundial en miles de millones de personas esta dada por la siguiente ecuacion: poblacion= 4.88(1+e^0.02t) donde t es el tiempo en años (t=0 representa a enero de 1985 y t=1 representa a enero de 1986). Utilizando esta formula, escriba un programa que muestre una tabla anual de poblacion de enero de 1994 a enero del 2012.



P-seudo codigo.
1.- Inicio
a=0,t=1985 INT
poblacion=0.0 Real
Print " Anio       Poblacion en 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.



problema 2.
un fabricante prueba 5 generadores eléctricos midiendo los voltaje de salida en 3 tiempo diferentes. escribe un programa que utilice una gasa anidada para introducir los resultados de las pruebas de cada generador y que calcule y despliegue el voltaje promedio para cada generador.



P-seudo codigo.

1.- Inicio
G=0, t=0 INT
Resultado=0.0, suma=0.0 Real
For (g=1; g<=5; g=g+1)
{Suma=0.0
Print “Introduce los resultados de prueba del generador”
For (t=1; t<=3; t=t+1)
{ Print “Resultado ", t, "= "
Read Resultado
suma=suma+resultado
}
prom=prom+(suma/3.0)
Print "Promedio generador ", g ,"= ", (suma/3.0)
}
Print "Promedio de los 5 generadores es= ", (prom/5.0)
Fin.


b) vuelva a escribir el programa del problema 2.a para que calcule y despliegue el voltaje promedio en todos los generadores 


P-seudo codigo.
inicio.
int g=0, t=0
real resultado=0.0, suma=0.0, promt=0.0
for(g=1; g<=5;g++)
{suma=0.0
print"Introduce los resultados de prueba del generador",g
for(t=1; t<=3;t++)
{print"Resultado ",t,"=? ",resultado
suma=suma+resultado}
promt=promt+(suma/3.0)}
print"El promedio de los generadores es= ",(suma/5.0)
fin.


c) Vuelve a escribir el problema 2.a para que elimine la gasa interna.  Para hacer esto debe introducir 3 voltajes para cada generador en lugar de uno a la vez. Cada voltaje debe almacenarse en una variable con nombre propio antes de calcular el promedio.


P-seudo codigo.
int g=0,v1=0,v2=0,v3=0;
double suma=0.0;
for(g=1;g<=5;g++)
{print"voltaje de prueva 1=? ",v1
print"voltaje de prueva 2=? ",v2
print"voltaje de prueva 3=? ",v3
suma=v1+v2+v3;
print"promedio de los generadores= ",(suma/3.0)}


problema 3.
Despliegue un programa que calcule y despliegue los valores de X,Z y Y cuando y= xz/(x-z).
El programa debe calcular y para los valores de x en un rango entre 1 y 5 y los de z en un rango de 2 y 6.
La variable x debe controlar la gasa externa e incrementar el paso de x y z también debe incrementar en pasos de 1. Así mismo, el programa debe mostrar el mensaje "función indefinida" cuando los valores de x y z sean iguales.



P-seudo codigo.

1.- Inicio
x=0,y=0,z=0 INT
Print "  X     Y    Z"
for(x=1 to 5 step x=x+1)
{for(z=2 to 6 step z=z+1)
{Print "  ", x ," ", z
if(x==z)
{Print "Funcion indefinida"}
else
{y=x*z/(x-z)
Print y
}}}
Fin.
problema 4.
Produce una tabla de valores de x y y para lo siguiente:

a) y=x+x^2/2+x^3/6+x^4/24. Para x entre 1 y 5 e incrementos de 0.5



P-seudo codigo.
1.- Inicio
x=0.0,y=0.0,t=0.0,r=0.0 Real
Print "A)"
Print "x y"
for(x=1;x<=5;x=x+0.5)
{
y=x+pow(x,2.0)/2.0+pow(x,3.0)/6.0+pow(x,4)/24.0
cout x ," ",y
}
Print endl
Print
Print "B)"
Print "t    y"
for(t=1 to 3 step t=t+0.1)
{y=2*exp(0.08*t)
Print t ," ", y
}
Print endl
Print endl
Print "C)"
Print "x y"
for(r=4 to 10 step r=r+0.2)
{y=3*(r*(exp(5)))-2*(r*(exp(3)))+4*(r*(exp(2)))-r
Print  r, " ", y}
Fin.


b) y=2e^0.08t. Para t entre 1 y 3 incremento de 0.1



P-seudo codigo.
inicio.
real t=0.0, y=0.0;
print"t          y"
print"            "
for(t=1;t<=3;t=t+0.1)
{y=2*exp(0.08*t)
print",t,"       "y,}

fin.

c) y=3x^5-2x^3+4x^2-x. Para x entre 4 y 10 e incrementos de 0.2



P-seudo codigo.
inicio.
real x=0.0, y=0.0;
print"x          y"
print"            "
for(x=4;x<=10;x=x+0.2)
{y=3*pow(x,5.0)-2*pow(x,3.0)+4*pow(x,2)
print",x,"\t"y,}
final.

viernes, 23 de marzo de 2012

Tarea 1 Unidad 3.

Programacion en C++.

¿Que es una función?

Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada. 



Prototipo de una función:
Un prototipo de función le da información importante al compilador. En el prototipo se indican el tipo de dato que retorna la función, el número, tipo y orden de parámetros que recibe la misma. El compilador utiliza los prototipos para verificar las llamadas a funciones. Antes el prototipado no existía y el compilador no podía detectar ciertos errores.

Veamos un ejemplo de un prototipo de función:

int máximo (int, int, int);

Este prototipo indica que la función de nombre máximo retorna como resultado un valor de tipo entero. Además informa que la función debe ser llamada con tres parámetros del tipo entero también.

El prototipo también sirve para la coerción de argumentos, o sea, si la función es llamada con valores de otro tipo diferentes a los definidos en el prototipo de esa función, el compilador tratará de convertir esos valores a los tipos de datos correspondientes declarados en el prototipo (esto funcionará siempre y cuando sea posible la conversión entre esos tipos de datos). Por ejemplo, si la función espera un entero y recibe un decimal, intentará convertir ese decimal al entero truncando la parte decimal, lo cual puede generar errores si la exactitud de ese dato es importante. Por esta razón se debe tener mucho cuidado en la coerción de tipos automática. 

El prototipado de funciones puede omitirse cuando se programa; el compilador formará el prototipo dependiendo de la primera aparición de la función. También, por omisión, el compilador asume que toda función regresa un valor del tipo entero de forma predeterminada. 




http://www.alegsa.com.ar/Notas/112.php 


En programación, una función es una sección de un programa que calcula un valor de manera independiente al resto del programa.

UNA FUNCION TIENE TRES COMPONENTES IMPORTANTES:
-los parámetros, que son los valores que recibe la función como entrada;
-el código de la función, que son las operaciones que hace la función; y
-el resultado (o valor de retorno), que es el valor final que entrega la función.
En esencia, una función es un mini programa. 
Sus tres componentes son análogos a la entrada, el proceso y la salida de un programa.
En el ejemplo del factorial, el parámetro es el entero al que queremos calcularle el factorial, el código es el ciclo que hace las multiplicaciones, y el resultado es el valor calculado.
DEFINICION DE FUNCIOES EN LENGUAJE C.

def nombre(parámetros):
# código de la función

Los parámetros son variables en las que quedan almacenados los valores de entrada.
La función contiene código igual al de cualquier programa. La diferencia es que, al terminar, debe entregar su resultado usando la sentencia return.
Por ejemplo, la función para calcular el factorial puede ser definida de la siguiente manera:
def factorial(n):
f = 1
for i in range(1, n + 1):
f *= i
return f
En este ejemplo, el resultado que entrega una llamada a la función es el valor que tiene la variable f al llegar a la última línea de la función.
Una vez creada, la función puede ser usada como cualquier otra, todas las veces que sea necesario. 

Después de haber leido la informacion anterior pademos deducir lo siguiente:


Una función que no entrega valor y no tiene parámetros.
El valor es aquel que es introducido por el teclado  por el usuario y regresa desplegada en pantalla por la instrucción return , y el parametro es una variable local del miniprograma, los cuales no se tienen.

Una funcion que no entrega valor y tiene parámetros.
Como se decia en la respuesta anterior esta funcion es aquella que no tiene la instruccion return(la cual regresa el valor), pero si tiene las variables locales las cuales facilitan la programacion de manera que se hace menos trabajo, o menos escritura.


Una funcion que entrega valory tiene parametros.
Es auquella que devuelve el valor introducido por el teclado por el usuario y ademas tiene variables locales, todo esto con base a lo anterior.







miércoles, 21 de marzo de 2012

Practica extra (unidad 2).

Practica Extra.
Hacer un programa que calcula el numero de ventas menores que $200, mayores que $200 y menores que $400, y mayores que $400. Desplegar el numero de ventas de cada precio.


# include <iostream.h>
# include <conio.h>
int main ()
{
int totalV1=0,totalV2=0,totalV3=0;
float total=0,ventas=0;
cout <<" total de ventas=? ";cin>>ventas;
for (ventas=1; ventas<=999; ventas++)
{cout <<" cantidad de la venta=? ";cin>>ventas;
if (ventas<=200)
{totalV1++;}
else
{if (ventas>200 && ventas<400)
{totalV2++;}
else
{totalV3++;}}
total=total+ventas;}
cout <<"cantidad de ventas menores o igaules a $200= "<<totalV1<<endl;
cout <<"cantidad de ventas mayores de $200 y menores a $400= "<<totalV2<<endl;
cout <<"cantidad de ventas mayores o iguales a $400= "<<totalV3<<endl;
cout <<"cantidad total de ventas= $"<<total<<endl;
getch ();}

viernes, 16 de marzo de 2012

Practica 8 (problemas).


Problema1.
Escribir un programa que lea el valor de X y calcule su Seno. Escribir un programa para sumar los primeros n términos, en donde n es un entero positivo que se introduce ademas del valor de X.


P-seudo codigo.
1.- Inicio
Real T=1.0,x=0.0,total=0.0
INT N=0,c1=0,c2=0,c3=1;
Print "Numero de terminos de la serie= "
Read N
Print "Valor de X en radianes= "
Read x
for(c1=1 to N step c++)
{T=1.0
for(c2=c2 to 1 step c2--)
{T=T*c2
if(c1%2=0)
{total=total-(pow(x,c3))/T}
else
{total=total+(pow(x,c3))/T}
c3=c3+2}
Print "Sen", x, "= ", total
Fin.


Problema 2.
Escribir un programa que determine la siguiente información
1) la cantidad a de interés pagada por mes.
2)La cantidad de dinero aplicado ala reducción de la deuda del total cada mes.
3) La cantidad total de intereses que se lleva pagada a final de cada mes.
4) La cantidad de deuda no pagada al final de cada mes.
5) El numero de pagos mensuales necesarios para devolver el préstamo.
6)La cuatia del ultimo pago.



P-seudo codigo.
1.- Inicio
prestamo=0.0,pagomes=0.0,interes=0.0,pagoint=0.0,totalint=0.0 Real
numpagos=0 INT
Print "Introduce la cantidad del prestamo= "
Read Prestam
Print "Introduce el pago mensual= "
Read pagomes
Print "Introduce el interes mensual= "
Read interes
Print endl
Print "| No.Pago| Prestamo| Pago Mensual | Interes Mensual | Interes acomulado |"
Print setw(17), prestamo ,setw(12), pagomes
while(prestamo>0)
{pagoint=prestamo*(interes/100.0)
numpagos=numpagos+1
totalint=totalint+pagoint
prestamo=prestamo-pagomes
Print setw(5), numpagos ,setw(12), prestamo ,setw(27), pagoint ,setw(21), totalint}
Fin.


Problema 3.
Escribir un programa que calcule el promedio aritmético de un conjunto de numeros mediante la media geométrica y la media armónica.



P-seudo codigo.
1.- Inicio
numero=0.0,mediaarm=0.0,mediag=1.0 Real
c1=0 INT
Print "Numero= "
Read numero
while(numero!=999)
{
mediaarm=mediaarm+1.0/numero
mediag=mediag*numero
c1=c1+1
Print "Numero= "
Read numero}
Print "Media Geometrica= ", pow(mediag,1.0/c1)
Print "Media Armonica= ", c1/mediaarm 
Fin.


Problema 4
Escribir un programa para determinar que edad tendrá el niño cuando le den la ultima cantidad e dinero y el total resivido si su padres pretenden darle 10 dolares hasta cuando cumpla 12 años cada años.



Pseudo codigo.
1.- Inicio
edad=12,dinero=10,total=10 INT
Print "Edad= 12 anios"
Print "Cantidad de dinero= 10 dolares"
while(dinero<=1000)
{edad=edad+1
dinero=dinero*2
total=total+dinero
Print "Edad= ", edad
Print "Cantidad recibida= ", dinero}
Print endl
Print "El total recibido es= ", total
Fin.



practica 7 (problemas).

Problema 1.
Escribir un programa que calcule la suma de  los primero 50 numero enteros.


P-seudocodigo.
1.- Inicio
c1=0,suma=0 INT
for(c1=0 to 50 step c1=c1+1)
{suma=suma+c1}
Print "La suma de los 50 primeros numeros enteros es= ", suma
Fin.



Problema 2.
Calcular la suma de los terminos de la serie 1/2 - 2/2^2+3/2^3-...+n/2^n para un valor dado de n.


P-seudocodigo.
1.-Inicio
serie=0.0 Real
n=0,c=0 INT
Print "introduzca la cantidad de numeros de la serie= "
Read n
for(c=1 to n step c=c+1)
{if(c%2==0)
{serie=(serie-c/pow(2,c))}
else
{serie=(serie+c/pow(2,c))}
}
Print "La suma de la serie es= ", serie
Fin.


Problema 3.
Escribir un programa que despliegue en pantalla una figura similar a la siguiente:
*
**
***
El numero de lineas que se puedee introducir es variable.


P-seudocodigo.
1.- Inicio
numlineas=0,c1=0,c2=0 INT
Print "Introduzca el numero de lineas para formar la figura= "
Read numlineas
for(c1=1 to numlineas step c1=c1+1)
{for(c2=1 to c1 step c2=c2+1)
{Print "*"}
Print endl}
Fin.



Problema 4.
Escribir un programa que cuente el numero de sus entradas que son positivas, negativas y 0 de n valores enteros.

P-seudocodigo.
1.- Inicio
N=0 ,numero=0 ,Npos=0, Nneg=0, Ncero=0, c1=0 INT
Print "Cantidad de elementos= "
Read N
Print "Introduce valores enteros positivos, negativos o cero."
Print endl
for(c1=1 to N step c1=c1+1)
{Print "Valor numerico entero= "
Read numero
if(numero<0)
{Nneg=Nneg+1}
else
if (numero>0)
{Npos=Npos+1}
else
{Ncero=Ncero+1}}
Print endl
Print "Cantidad de valores positivos= ", Npos
Print "Cantidad de valores negativos= ", Nneg
Print "Cantidad de valores cero= ", Ncero
Fin.

Problema 5.
Determinar si un valor dado por el teclado es primo o no.



P-seudocodigo.
1.- Inicio
numero=0,c1=0,n=0,opcion=0 INTdo
{Print "Ingresa un numero= "
Read numero
for (c1=1 to numero step c1=c1+1)
{if(numero%c1==0)
{n=n+1}}
if(n==2)
{Print numero," es un numero primo."}
else
{Print numero," no es un numero primo."}
Print "Desea validar otro numero?  1)Si 2)No"
Read opcion
n=0
Print endl}
while(opcion==1);
Fin.

Problema 6.
Escribir un programa que calcule y despliegue lo siguiente:
A)Total producido de cada vino ( son 5 vinos) a lo largo de los n anios, donde n es introducido por teclado.
b) imprimir el tipo de vino que se produjo  en mayor cantidad en litros,
c) imprimir el tipo de vino que se produjo en menos cantidad de litros.




P-seudocodigo.
1.- Inicio
N=0,v1=0,v2=0,v3=0,v4=0,v5=0,total=0,c1=0,cant=0,n=1,mayor=0,menor=99999 INT
Print "Cantidad de anios a evaluar los vinos= "
Read N
for(c1=1 to N step c1=c1+1)
{Print "Anio ",n
Print "Cantidad de vino tipo 1= "
Read cant
v1=v1+cant
if(v1>=mayor)
mayor=v1
if(v1<=menor)
menor=v1
Print "Cantidad de vino tipo 2= "
Read cant
v2=v2+cant
if(v2>=mayor)
mayor=v2
if(v2<=menor)
menor=v2
Print "Cantidad de vino tipo 3= "
Read cant
v3=v3+cant
if(v3>=mayor)
mayor=v3
if(v3<=menor)
menor=v3
Print "Cantidad de vino tipo 4= "
Read cant
v4=v4+cant
if(v4>=mayor)
mayor=v4
if(v4<=menor)
menor=v4
Print "Cantidad de vino tipo 5= "
Read cant
v5=v5+cant
if(v5>=mayor)
mayor=v5
if(v5<=menor)
menor=v5
n=n+1}
total=v1+v2+v3+v4+v5
Print endl
Print "Produccion total de vino tipo 1= ",v1," litros"
Print "Produccion total de vino tipo 2= ",v2," litros"
Print "Produccion total de vino tipo 3= ",v3," litros"
Print "Produccion total de vino tipo 4= ",v4," litros"
Print "Produccion total de vino tipo 5= ",v5," litros"
Print "Produccion total de vino fue de ",total," litros"
Print endl
if(v1>=v2  and  v1>=v3  and  v1>=v4  and  v1>=v5)
{Print "La mayor cantidad del vino fue de tipo 1 con= ",mayor," litros"}
if(v2>=v1  and  v2>=v3  and  v2>=v4  and  v2>=v5)
{Print "La mayor cantidad del vino fue de tipo 2 con= ",mayor," litros"}
if(v3>=v1  and  v3>=v2  and  v3>=v4  and  v3>=v5)
{Print "La mayor cantidad del vino fue de tipo 3 con= ",mayor," litros"}
if(v4>=v1  and  v4>=v2  and  v4>=v3  and  v4>=v5)
{Print "La mayor cantidad del vino fue de tipo 4 con= ",mayor," litros"}
if(v5>=v1  and  v5>=v2  and  v5>=v3  and  v5>=v4)
{Print "La mayor cantidad del vino fue de tipo 5 con= ",mayor," litros"}
if(v1<=v2  and  v1<=v3  and  v1<=v4  and  v1<=v5)
{Print "La menor cantidad del vino fue de tipo 1 con= ",menor," litros"}
if(v2<=v1  and  v2<=v3  and  v2<=v4  and  v2<=v5)
{Print "La menor cantidad del vino fue de tipo 2 con= ",menor," litros"}
if(v3<=v1  and  v3<=v2  and  v3<=v4  and  v3<=v5)
{Print "La menor cantidad del vino fue de tipo 3 con= ",menor," litros"}
if(v4<=v1  and  v4<=v2  and  v4<=v3  and  v4<=v5)
{Print "La menor cantidad del vino fue de tipo 4 con= ",menor," litros"}
if(v5<=v1  and  v5<=v2  and  v5<=v3  and  v5<=v4)
{Print "La menor cantidad del vino fue de tipo 5 con= ",menor," litros"}
Fin.