problema 1
GARCIA GAETA
FRANCISCO ARMANDO NO.CONTROLO: 11211033
considere un
arreglo de 10 numeros para calcular la siguientes funciones
estadisticas:
a) la media geometrica y esta dada
por la siguiente formula
(A[0]*A[1]*A[2]*A[3]*A[4]*A[5]*A[6]*A[7]*A[8]*A[9])^(1/N)
b) la media armonica:
(1/(1/A[0]*1/A[1]*1/A[2]*1/A[3]*1/A[4]*1/A[5]*1/A[6]*1/A[7]*1/A[8]*1/A[9]))
c) intervalo:
valorMaximo-
valorMinimo
d) la deviacion estandar:
Deternimar la desviasion de cada valor
con respecto al promedio.
Alamcenar cada desvicion en un arreglo
llamado desvicaion. Cada desvicion se
calcula como el valor del
elemento menos el promedio de
todos los datos.
e) calcular la variancia: La
variancia de obtiene al elevar al
cuadrado cada desviacion individual
y dividir la suma de las
desviaciones al cuadrado entre el
numero de desviciones
Pseudocodigo:
1. Inicio
template <class t>
void
IntroduceDatosArreglo(t Arreglo[10], int N)
template <class t>
t
MediaGeometrica(t Arreglo[10], int N)
template <class t>
t MediaArmonica(t Arregloa[10], int
N)
template <class t>
t Intervalo(t Arregloa[10], int N)
void
DesviacionEst(real Arregloa[10], real Desviacion[10], int N)
real Variancia(real Desviacion[10], int N)
int main()
{real A[10], D[10]
int N1
Print "Introduce
numero de datos(<=10)="
Read N1
IntroduceDatosArreglo(A,
N1)
Print , "La media geometrica es:", MediaGeometrica(A,
N1),
Print , "La media aritmetica es:", MediaArmonica(A,
N1),
Print , "El intervalo es:", Intervalo(A,
N1),
Print , "La desviacion de cada elemento es:",
DesviacionEst(A,
D, N1)
Print , "La variancia es:", Variancia(D,
N1),
getch() }
template <class t>
void IntroduceDatosArreglo(t
Arreglo[10], int N)
{int I
for(I=0 I<N I++)
{Print , "Dato", (I+1), "="
Read
Arreglo[I]
}}
template <class t>
t
MediaGeometrica(t Arreglo[10], int N)
{real suma=1
int I
for(I=0 I<N I++)
{suma=suma*Arreglo[I]
} return pow(suma, 1.0/N) }
template <class t>
t MediaArmonica(t Arreglo[10], int
N)
{int I
real suma=0
for(I=0 I<N I++)
{suma=suma+1.0/Arreglo[I]
}return
1.0/suma }
template <class t>
t Intervalo(t Arreglo[10], int N)
{int Max=0, Men=999999, I
for(I=0 I<N I++)
{if(Arreglo[I]>Max)
{Max=Arreglo[I] }
if(Arreglo[I]<Men)
{Men=Arreglo[I] }}
return Max-Men }
void
DesviacionEst(real Arreglo[10], real Desviacion[10], int N)
{ int I
real p=0
for(I=0 I<N I++)
{ p=p+Arreglo[I]/N
Desviacion[I]=Arreglo[I]-p
Print , "Dato", (I+1), ":", Desviacion[I], }}
real Variancia(real Desviacion[10], int N)
{ int I
real suma=0
for(I=0 I<N I++)
{suma=suma+pow(Desviacion[I],2)
}return
suma/N }
PROBLEMA 2
GARCIA GAETA
FRNACISCO ARMANDO NO.CONTROL: 11211033
Diseñe un
programa para calcular el sueldo de un grupo de cinco vendedores. El
sueldo de
cada uno de ellos se paga con base en una comision sobre las ventas
realizadas y
cada uno vende cinco articulos. Los datos a cosiderar son:
Nombre del
vendedor y articulo, precio por unidad, y numero de vendedores.
no.Articulo descripcion unidad comision
1 articulos de limpieza $250.00 5%
2 articulos de cocina $390.00 4%
3 articulos escolares $478.00 2%
4 articulos para automoviles $267.00 2%
5 despensa de treinta articulos $175.00 2%
Pseudocodigo:
1. Inicio
void
DatosArreglo(char A[5][30])
void Precios(real P[5])
void Sueldo(int NumV, int NumA, real S[5], real P[5],
int cant)
main()
{
char nom_vend[5][30],
nom_art[5][30], sigue
real
P[5], S[5]={0,0,0,0,0}
int NumV, NumA, cant
Print "Introduce el nombre de los
vendedores:",
DatosArreglo(nom_vend)
Print "Introduce los nombres de los
articulos:",
DatosArreglo(nom_art)
Print "Introduce los precios de los
articulos:",
Precios(P)
do
{ Print "Numero de vendedor:"
Read NumV
Print "Numero de articulo:"
Read NumA
Print "Cantidad="
Read cant
Sueldo(NumV, NumA, S, P, cant)
Print "No.vendedor ",
"Nombre ", "Sueldo",
Print NumV,
setw(18), nom_vend[NumV-1], setw(18),
S[NumV-1],
Print "Desea calcular otro sueldo:"
Read sigue
}while(sigue=='s'||sigue=='S')
getch() }
void
DatosArreglo(char A[5][30])
{ int I
for(I=0 I<=4 I=I+1)
{Print "Dato", (I+1),
":" gets(A[I])
}}
void Precios(real P[5])
{int I
for(I=0 I<=4 I=I+1)
{Print "Precio del articulo", (I+1),
"="
Read P[I]
}}
void Sueldo(int NumV, int NumA, real S[5], real P[5],
int cant)
{
switch(NumA)
{
case 1:
S[NumV-1]=S[NumV-1]+P[NumA-1]*cant*0.05
break
case 2: S[NumV-1]=S[NumV-1]+P[NumA-1]*cant*0.04
break
case 3:
S[NumV-1]=S[NumV-1]+P[NumA-1]*cant*0.02
break
case 4:
S[NumV-1]=S[NumV-1]+P[NumA-1]*cant*0.02
break
case 5:
S[NumV-1]=S[NumV-1]+P[NumA-1]*cant*0.02
break
default: Print "Error en el numero de articulo",
}}
programa 3
FRANCISCO
ARMANDO GARCIA GAETA NO.CONTROL: 11211033
Haga un
programa que contabilice una cuenta de cheques . Al inicio se introduce
el nombre
del cuentaviente y el saldo inicial. A continuacion se puede hacer
depositos y
retiros. Cuando se deposite se incrementa el saldo y cuando se
retira se
resta. Este programa ternima cuando ya no se desee hacer movieminentos,
se requiere
impresion del sig informe:
ESTADO DE
CUENTA:
CUENTAHABIENTE:
SALDO
INICIAL:
MOVIMIENTO DEPOSITO RETIRO SALDO
1 ----- ---- ---
2 ----- ---- ---
3 ----- ---- ---
. ----- ---- ---
. ----- ---- ---
. ----- ---- ---
Pseudocodigo:
1.
Inicio.
void
DatosIniciales(char clientes[3][30], real
saldoI[3])
void Menu()
void Operaciones(char
cliente[3][30], int tipoOp, real cant, int NumC, real Saldos[5], int mov[20], real saldoI[3], real dep[20], real ret[20])
int main()
{char c[3][30], D
real sI[3], S[3], cant,
d[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
r[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
int t, NumC,
m[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
DatosIniciales(c,
sI)
do{PRINT "Desea realizar algun movimiento en su
cuneta (s,S o n):"
READ D
}while(D =='n')
do{Menu()
PRINT "Seleccione el tipo de movimiento que
desea hacer:"
READ t
Operaciones(c,
t, cant, NumC, S, m, sI, d, r)
PRINT "Desea hacer otro movimiento:"
READ D
}while(D=='s'||D=='S')
Fin
main }
void
DatosIniciales(char clientes[3][30], real
saldoI[3])
{ int I
PRINT "Iniciar datos de clientes",
for(I=0 I<3 I++)
{ PRINT "Nombre cliente ", (I+1),
":"
gets(clientes[I])
PRINT "Saldo inicial="
READ saldoI[I]
}}
void Menu()
{
PRINT "1)Depositar dinero.",
PRINT "2)Retirar diner.",
PRINT "3)Estado de cuenta.", }
void
Operaciones(char cliente[3][30], int tipoOp, real cant, int NumC, real Saldos[5], int mov[20], real saldoI[3], real dep[20], real ret[20])
{
switch(tipoOp){
case 1:PRINT "Deposito",
PRINT "Ingrese su numero de cliente:"
READ NumC
PRINT "Ingrese la cantidad que desa
depositar:"
READ cant
dep[NumC-1]=dep[NumC-1]+cant
Saldos[NumC-1]=saldoI[NumC-1]+cant
mov[NumC-1]=mov[NumC-1]+1
break
case 2: PRINT "Retiro",
PRINT "Ingrese su numero de cliente:"
READ NumC
PRINT "Ingrese la cantidad que desa
retirar:"
READ cant
if(cant<=saldoI[NumC-1])
{Saldos[NumC-1]=saldoI[NumC-1]-cant }
else{PRINT "Usted no tiene esa cantidad de dinero
en su cuenta", }
mov[NumC-1]=mov[NumC-1]+1
ret[NumC-1]=ret[NumC-1]+cant
break
case 3:PRINT "Ingrese su numero de cliente",
READ NumC
PRINT "Estado de cuenta",
PRINT "Nombre del cuentabiente: ", cliente[NumC-1],
PRINT "Saldo Inicial: ", saldoI[NumC-1],
PRINT "Movimiento ", "Deposito ", "Retiro ", "Saldo",
PRINT "
", mov[NumC-1], setw(19), dep[NumC-1], setw(19), ret[NumC-1], setw(17), Saldos[NumC-1],
break
default:PRINT "Ingrese un codigo de movimiento
valido", }}
No hay comentarios:
Publicar un comentario