C++

C++

domingo, 27 de marzo de 2011

Practica 8

PRACTICA 8


Ejercicio 1

Escriba un  programa que escriba una funcion con nombre, promedio, para calcular el promedio de 3 valores dados.

Pseudocodigo

1.- Inicio
v1,v2,v3 int
print " Valor 1 entero "
read v1
print" Valor 2 entero "
read v2
print " Valor 3 entero "
read v3
promedio (v1,v2,v3)
FIN

2.-Inicio
void promedio(int n1, int n2, int n3)
{
int suma=(n1+n2+n3)
int P=suma/3
print " El promedio es= ",P
}
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
void promedio (int n1, int n2, int n3);
void main()
{
int v1,v2,v3;
cout<<" Valor 1 entero ";
cin>>v1;
cout<<" Valor 2 entero ";
cin>>v2;
cout<<" Valor 3 entero ";
cin>>v3;
promedio (v1,v2,v3);
getch();
}
void promedio(int n1, int n2, int n3)
{
int suma=(n1+n2+n3);
int P=suma/3;
cout<<" El promedio es= "<<P<<endl;
}




 Ejercicio 2

Escriba un  programa que escriba una funcion con nombre, promedio, para calcular el promedio de 3 valores dados.

Pseudocodigo

1.-Inicio
int promedio(int n1,int n2,int n3)
{
int p=(n1+n2+n3)/3
return p;
}
FIN

2.-Inicio
{
v1,v2,v3,x  int
print "Valor 1: "
read v1
print "Valor 2: "
read v2
print "Valor 3: "
read v3
x=promedio(v1,v2,v3)
print " Promedio: ",x
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
int promedio(int n1,int n2,int n3)
{
int p=(n1+n2+n3)/3;
return p;
}
void main()
{
int v1,v2,v3,x;
cout<<"Valor 1: ";
cin>>v1;
cout<<"Valor 2: ";
cin>>v2;
cout<<"Valor 3: ";
cin>>v3;
x=promedio(v1,v2,v3);
cout<<" Promedio: "<<x;
getch();
}




Ejercicio 3

El volumen v de cilindro esta dado por la formula  v= π r2 l donde r es el radio del cilindro y l su largo.Usando esta formula  escriba una funcion nombrada volcil que acepte el radio y el largo de un cilindro y devuelva su volumen.
Diseñe una funcion que areasup acepte el largo y radio de un cilindro y devuelva su superficie.
(s= 2π r l).

Asegure que las funciones sean llamadas desde main () y devuelva en forma correcta un valor main ().

Pseudocodigo

1.-Inicio
real volcil(real radio,real largo)
{
return(3.1416*pow(radio,2)*largo)
}
real areasup(real radio,real largo)
{
area real
area=2*3.1416*radio*largo
return area
}
FIN

2.-Inicio
{
vol,a1 real
rad,la real
print " Radio del Cilindro "
read rad
print " Largo del Cilindro "
read la
vol=volcil(rad,la)
a1=areasup(rad,la)
print " El volumen es ",vol
print " El area de la superficie del cilindro es ",a1
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
float volcil(float radio,float largo)
{
return(3.1416*pow(radio,2)*largo);
}
float areasup(float radio,float largo)
{
float area;
area=2*3.1416*radio*largo;
return area;
}
void main()
{
float vol,a1;
float rad,la;
cout<<" Radio del Cilindro ";
cin>>rad;
cout<<" Largo del Cilindro ";
cin>>la;
vol=volcil(rad,la);
a1=areasup(rad,la);
cout<<" El volumen es "<<vol<<endl;
cout<<" El area de la superficie del cilindro es "<<a1<<endl;
getch();
}



Ejercicio 4



Pseudocodigo

1.-Inicio
real triangulorectangulo(real a,real b)
{
c  real
c=sqrt(a*a+b*b)
return c
}
FIN

2.-Inicio
{
lado1,lado2,c int
print "Cateto Op.: "
read lado1
print "Cateto Ad.: "
read lado2            
c=triangulorectangulo(lado1,lado2)
print "La hipotenusa del triangulo rectangulo es: ",c
FIN



CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
float triangulorectangulo(float a,float b)
{
float c;
c=sqrt(a*a+b*b);
return c;
}
void main()
{
 int lado1,lado2,c;
cout<<"Cateto Op.: ";
cin>>lado1;
cout<<"Cateto Ad.: ";
cin>>lado2;            
c=triangulorectangulo(lado1,lado2);
cout<<"La hipotenusa del triangulo rectangulo es: "<<c;
getch();
}




Ejercicio 5

 
Pseudocodigo

1.- Inicio
void generarDatos(int valores[100])
int sumaDatos(int valores[100])
void listaDatos(int valores[100])
int numeroMayor(int valores[100])
int numeroMenor(int valores[100])
FIN

2.- Inicio
{
int numeros[100]
generarDatos(numeros)
listaDatos(numeros)
print "El dato mayor es ",numeroMayor(numeros)
print "El dato menor es ",numeroMenor(numeros)
print "La suma de datos es ",sumaDatos(numeros)
FIN
Inicio
void generarDatos(int valores[100])
{
randomize();
for (int i=0;i<=99;i++)
{
valores[i]=random(2000)+1
}
}
void listaDatos(int valores[100])
{
for (int i=0 to 99 step i++)
{
print valores[i],"\t"
}
}
int numeroMayor(int valores[100])
{
int mayor=valores[0]
for(int i=1 to 100 step i++)
{
if(valores[i]>mayor)
{
mayor=valores[i]
}
}
return mayor
}
int numeroMenor(int valores[100])
{
int menor=valores[0]
for(int i=1 to 100 step i++)
{
if(valores[i]<menor)
{
menor=valores[i]
}
}
return menor
}
int sumaDatos(int valores[100])
{
int suma=valores[0]
for(int i=1 to 100 step i++)
{
suma=suma+valores[100]
}
return suma
}
FIN


CODIGO

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
void generarDatos(int valores[100]);
int sumaDatos(int valores[100]);
void listaDatos(int valores[100]);
int numeroMayor(int valores[100]);
int numeroMenor(int valores[100]);
void main()
{
int numeros[100];
 generarDatos(numeros);
 listaDatos(numeros);
 cout<<"El dato mayor es "<<numeroMayor(numeros)<<endl;
 cout<<"El dato menor es "<<numeroMenor(numeros)<<endl;
 cout<<"La suma de datos es "<<sumaDatos(numeros)<<endl;
getch();
}
void generarDatos(int valores[100])
{
randomize();
for (int i=0;i<=99;i++)
{
valores[i]=random(2000)+1;
}
}
void listaDatos(int valores[100])
{
for (int i=0;i<=99;i++)
{
cout<<valores[i]<<"\t";
}
cout<<endl;
}
int numeroMayor(int valores[100])
{
int mayor=valores[0];
for(int i=1;i<100;i++)
{
if(valores[i]>mayor)
{
mayor=valores[i];
}
}
return mayor;
}
int numeroMenor(int valores[100])
{
int menor=valores[0];
for(int i=1;i<100;i++)
{
if(valores[i]<menor)
{
menor=valores[i];
}
}
return menor;
}
int sumaDatos(int valores[100])
{
int suma=valores[0];
for(int i=1;i<100;i++)
{
suma=suma+valores[100];
}
return suma;
}



Ejercicio 6


Pseudocodigo

1.- Inicio
void introCorriente(int corriente[10])
void introResistencia(int resistencia[10])
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
FIN

2.- Inicio
{
int res[10], corr[10], vol[10]
introCorriente(corr)
introResistencia(res)
calculoVoltio(corr, res, vol)
imprimirDatos(corr, res, vol)
FIN

Inicio
void introCorriente(int corriente[10])
{
i int
for(i=0  to 10 step i++)
{
print "Corriente[",i,"]:"
read corriente[i]
}
}
void introResistencia(int resistencia[10])
{
i int
for(i=0 to 10 step i++)
{
print "Resistencia[",i,"]:"
read resistencia[i]
}
}
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
{
i int
for(i=0 to 10 step i++)
voltios[i]=corriente[i]*resistencia[i]
}
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
{
i int
print "Corriente           Resistencia             Voltios"
for(i=0 to 10 step i++)
{
print corriente[i],"       ",resistencia[i],"      ",voltios[i]
}
}
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
void introCorriente(int corriente[10]);
void introResistencia(int resistencia[10]);
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10]);
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10]);
void main()
{
int res[10], corr[10], vol[10];
introCorriente(corr);
introResistencia(res);
calculoVoltio(corr, res, vol);
imprimirDatos(corr, res, vol);
getch();
}
void introCorriente(int corriente[10])
{
int i;
for(i=0;i<10;i++)
{
cout<<"Corriente["<<i<<"]:";
cin>>corriente[i];
}
}
void introResistencia(int resistencia[10])
{
int i;
for(i=0;i<10;i++)
{
cout<<"Resistencia["<<i<<"]:";
cin>>resistencia[i];
}
}
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
{
int i;
for(i=0;i<10;i++)
voltios[i]=corriente[i]*resistencia[i];
}
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
{
int i;
cout<<"Corriente           Resistencia             Voltios"<<endl;
for(i=0;i<10;i++)
{
cout<<corriente[i]<<"                  "<<resistencia[i]<<"                "<<voltios[i]<<endl;
}
}




Ejercicio 7

Funciones que regresan valores multiples.
Pseudocodigo

1.-Inicio
void intercambio(int & primervalor, int & segundovalor)
int mayor(int a,int b,int c)
{
if (a>=b && a>=c)
{
return a
}
else
{
if(b>=a && b>=c)
{
return b
}
else
{
return c
}
}
}
FIN
2.-Inicio
{
N1,N2,N3, may  int
print " N1 "
read N1
print" N2 "
read N2
print " N3 "
read N3
may=mayor(N1,N2,N3)
print " El mayor es= ",may
intercambio(N1,N2)
print " Dato N1 ",N1
print " Dato N2 ",N2
void intercambio(int & primervalor, int & segundovalor)
{
int temporal
temporal=primervalor
primervalor=segundovalor
segundovalor=temporal
}
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void intercambio(int & primervalor, int & segundovalor);
int mayor(int a,int b,int c)
{
if (a>=b&&a>=c)
{
return a;
}
else
{
if(b>=a&&b>=c)
{
return b;
}
else
{
return c;
}
}
}
void main()
{
int N1,N2,N3, may;
cout<<" N1 ";
cin>>N1;
cout<<" N2 ";
cin>>N2;
cout<<" N3 ";
cin>>N3;
may=mayor(N1,N2,N3);
cout<<" El mayor es= "<<may<<endl;
intercambio(N1,N2);
cout<<" Dato N1 "<<N1<<endl;
cout<<" Dato N2 "<<N2<<endl;
getch();
}
void intercambio(int & primervalor, int & segundovalor)
{
int temporal;
temporal=primervalor;
primervalor=segundovalor;
segundovalor=temporal;
}



Ejercicio 8

Escriba una funcion llamada tiempo que tenga un parametro en numero entero denominado segundos y tres parametros de referencia en numero entero denominado en: horas, minutos y segundos. La funcion a de convertir el numero transmitido en segundos a su equivalente en horas, minutos y segundos. Utilizando las referencias, la funcion debe alterar directamente los argumentos respectivos en la funcion que llama.


Pseudocodigo

1.- Inicio
void tiempo(int segundos, int & horas, int & min, int & seg)
{
horas=segundos/3600
min=(segundos%3600)/60
seg=(segundos%3600)%60
}
FIN

2.-Inicio
{
int segundos1,h1,m1,s1
print " Segundos "
read segundos1
tiempo(segundos1,h1,m1,s1)
print h1," : ",m1," : ",s1
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void tiempo(int segundos, int & horas, int & min, int & seg)
{
horas=segundos/3600;
min=(segundos%3600)/60;
seg=(segundos%3600)%60;
}
void main()
{
int segundos1,h1,m1,s1;
cout<<" Segundos ";
cin>>segundos1;
tiempo(segundos1,h1,m1,s1);
cout<<h1<<" : "<<m1<<" : "<<s1<<endl;
getch();
}




Ejercicio 9

Escriba una funcion denominada calc_anhos () que tenga un parametro en numero entero que represente el numero total de dias desde la fecha 1 de enero de 1900 y los parametros de referencia denominados anio, mes, dia. La funcion a de calcular el ano, el mes y el dia para un numero de dias trasmitidos. Utilizando las referencias la funcion debe alterar directamente los argumentos respectivos enn la funcion que llama. Para este problema suponga que cada ano tiene 365 dias y cada mes 30 dias. 

Pseudocodigo

1.- Inicio
void calc_anhos(int dias, int & anio, int & mes, int & dia)
{
anio1,mes1,dia1 int
anio1=dias/365
dias=dias-(anio1*365)
mes1=dias/30
dia1=dias%30
dia=dia+dia1
mes=mes+mes1
anio=anio+anio1
}
FIN

2.-Inicio
{
dias, a=1900, m=1, d=1 int
print " Dias "
read dias
calc_anhos(dias,a,m,d)
print a,"/",m,"/",d
FI


CODIGO

#include <iostream.h>
#include <conio.h>
void calc_anhos(int dias, int & anio, int & mes, int & dia)
{
int anio1,mes1,dia1;
anio1=dias/365;
dias=dias-(anio1*365);
mes1=dias/30;
dia1=dias%30;
dia=dia+dia1;
mes=mes+mes1;
anio=anio+anio1;
}
void main()
{
int dias, a=1900, m=1, d=1;
cout<<" Dias ";
cin>>dias;
calc_anhos(dias,a,m,d);
cout<<a<<"/"<<m<<"/"<<d<<endl;
getch();
}


Ejercicio 10

Escriba una plantilla llamada maximo ()  que devuelva el valor maximo de 3 argumentos que se transmiten a la funcion cuando esta sea llamada. Suponga que los 3 argumentos seran del mismo tipo de dato.
Incluya la plantilla de funcion dentro de un programa completo que llame la funcion con 3 numeros  enteros y luego con 3 numeros en punto flotante.

Pseudocodigo

1,- Inicio
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2
}
else
{
return n3
}
}
}
FIN
2.- Inicio
{
num1, num2, num3 int
nf1, nf2, nf3  real
print " Valor Entero "
read num1
print " Segundo Valor entero "
read num2
print " Tercer Valor entero "
read num3
print " El dato mayor es = "<<maximo(num1, num2, num3)
print " Valor Flotante = "
read nf1
print " Segundo Valor Flotante = "
read nf2
print " Tercer  Valor Flotante = "
read nf3
print " El dato mayor es = ",maximo(nf1,nf2,nf3)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1;
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2;
}
else
{
return n3;
}
}
}
void main()
{
int num1, num2, num3;
float nf1, nf2, nf3;
cout<<" Valor Entero ";
cin>>num1;
cout<<" Segundo Valor entero ";
cin>>num2;
cout<<" Tercer Valor entero ";
cin>>num3;
cout<<" El dato mayor es = "<<maximo(num1, num2, num3)<<endl;
cout<<endl;
cout<<" Valor Flotante = ";
cin>>nf1;
cout<<" Segundo Valor Flotante = ";
cin>>nf2;
cout<<" Tercer  Valor Flotante = ";
cin>>nf3;
cout<<" El dato mayor es = "<<maximo(nf1,nf2,nf3)<<endl;
getch();
}


Ejercicio 11

Escriba una plantilla de funcion llamada areacuadrado que calcule y devuelva el area de un cuadrado.Escriba una plantilla de una funcion llamada percuadrado que calcule y devuelva el perimetro de un cuadrado de un solo argumento transmitido a la funcion cuando esta sea llamada. Incluya la plantilla de funcion dentro de un programa completo. 

Pseudocodigo

1.-Inicio
template <class T>
T areacuadrado (T lado)
{
return lado*lado
}
template <class T>
T percuadrado(T lado)
{
return 4*lado
}
FIN

2.-Inicio
{
double lado
print " Lado Cuadrado (double)= "
read lado
print " El Area del Cuadrado es = ",areacuadrado(lado)
print " El perimetro del Cuadrado es = ",percuadrado(lado)
int l1
print " Lado Cuadrado (entero)= "
read l1
print" El Area del Cuadrado es = ",areacuadrado(l1)
print " El perimetro del Cuadrado es = ",percuadrado(l1)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1;
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2;
}
else
{
return n3;
}
}
}
void main()
{
int num1, num2, num3;
float nf1, nf2, nf3;
cout<<" Valor Entero ";
cin>>num1;
cout<<" Segundo Valor entero ";
cin>>num2;
cout<<" Tercer Valor entero ";
cin>>num3;
cout<<" El dato mayor es = "<<maximo(num1, num2, num3)<<endl;
cout<<endl;
cout<<" Valor Flotante = ";
cin>>nf1;
cout<<" Segundo Valor Flotante = ";
cin>>nf2;
cout<<" Tercer  Valor Flotante = ";
cin>>nf3;
cout<<" El dato mayor es = "<<maximo(nf1,nf2,nf3)<<endl;
getch();
}


Ejercicio 12

Escriba un  programa que almacene  los valores  en un arreglo llamado resistencia.
El programa tambien debe crear dos arreglos llamados corriente y potencia, los cuales deberan ser capaces de almacenar cinco valores introducidos por el usuario para el arreglo corriente y resistencia, la cual debe alamacenar en el arreglo potencia el producto de los valores correspondientes al cuadrado del arreglo corriente y el arreglo resistencia (potencia[i]= resistencia[i]*corriente[i],2).
Desplegar la siguiente salida:
"Resistencia        Corriente         Potencia"
                                               Total=

Pseudocodigo

1.- Inicio
template <class T>
void IntroResistencia (T Resistencia[5])
{
i int
for(i=0 to 5 step i=i+1)
{
print "Resistencia ["<<(i+1)<<"]:"
read Resistencia [i]
}
}

2.Inicio
template <class T>
void IntroCorriente (T Corriente [5])
{
i int
for(i=0 to 5 step i=i+1)
{
print "Corriente [",(i+1),"]:"
read Corriente [i]
}
}

3.Inicio
template <class T>
void Calculo_Pot (T Resistencia [5],T Corriente [5],T Potencia [5])
{
i int
for(i=0 to 5 step i=i+1)
{
Potencia[i]=Resistencia[i]*pow(Corriente[i],2)
}
}

4.Inicio
template <class T>
T Suma_Potencia(T Potencia[5])
{
i int
T Suma=0
for(i=0 to 5 step i=i+1)
{
Suma=Suma+Potencia[i]
}
return Suma
}

5.Inicio
template <class T>
void Imprime(T Resistencia[5], T Corriente[5], T Potencia[5])
{
i int
print "Resistencia          Corriente              Potencia"
for (i=0 to 5 step i=i+1)
{
print Resistencia [i],"   \t\t\t"
print Corriente [i],"\t\t\t"
print Potencia [i],"\t\t\t"
}
}

6.-Inicio
Void main()
{
int Res[5],Corr[5],P[5]
IntroResistencia (Res)
IntroCorriente (Corr);
Calculo_Pot (Res,Corr,P);
Imprime (Res, Corr, P);
print "              TOTAL: ",Suma_Potencia(P)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
template <class T>
void IntroResistencia (T Resistencia[5])
{
int i;
for(i=0;i<5;i=i+1)
{
cout<<"Resistencia ["<<(i+1)<<"]:";
cin>>Resistencia [i];
}
cout<<""<<endl;
}
template <class T>
void IntroCorriente (T Corriente [5])
{
int i;
for(i=0;i<5;i=i+1)
{
cout<<"Corriente ["<<(i+1)<<"]:";
cin>>Corriente [i];
}
cout<<""<<endl;
}
template <class T>
void Calculo_Pot (T Resistencia [5],T Corriente [5],T Potencia [5])
{
int i;
for(i=0;i<5;i=i+1)
{
Potencia[i]=Resistencia[i]*pow(Corriente[i],2);
}
}
template <class T>
T Suma_Potencia(T Potencia[5])
{
int i;
T Suma=0;
for(i=0;i<5;i=i+1)
{
Suma=Suma+Potencia[i];
}
return Suma;
}
template <class T>
void Imprime(T Resistencia[5], T Corriente[5], T Potencia[5])
{
int i;
cout<<"Resistencia          Corriente              Potencia"<<endl;
cout<<""<<endl;
for (i=0;i<5;i=i+1)
{
cout<<Resistencia [i]<<"   \t\t\t";
cout<<Corriente [i]<<"\t\t\t";
cout<<Potencia [i]<<"\t\t\t"<<endl;
}
}
void main()
{
int Res[5],Corr[5],P[5];
IntroResistencia (Res);
IntroCorriente (Corr);
Calculo_Pot (Res,Corr,P);
Imprime (Res, Corr, P);
cout<<"                                         TOTAL: "<<Suma_Potencia(P)<<endl;
getch();
}



Ejercicio 13

Formule un programa para obtener los siguientes valores estadisticos para un arreglo unidimensional X, compuesto de N elementos.
Desviación Media
Raíz del valor cuadrático medio
Medio armónico
Intervalo= Máximo(x1,x2,......xn)-Minimo(x1,x2,.....xn)
Medio 
Geométrico

Pseudocodigo

1.Inicio
template <class T>
T prom(int n,T x[30])
{
p,i,suma=0 int
for(i=0 to n step i=i+1)
{
suma=suma+x[i];
}
p=suma/n;
return p;
}


2.Inicio
template <class T>
void valores(int n,T x[30])
{
i int 
for(i=0 to n step i=i+1)
{
print " Datos [" , (i+1) , "]: ";
cin>>x[i];
}
}


3.Inicio
template <class T>
T desvia(int n,T x[30])
{
suma,des,p,i int
p=prom(n,x)
suma=0
for(i=0 to n step i=i+1)
{
suma=suma+abs(x[i]-p)
}
des=suma/n
return des
}


4.Inicio
template <class T>
T cuadmed(int n,T x[30])
{
cm,suma=0,i  int
for(i=0 to n step i=i+1)
{
suma=suma+pow(x[i],2)
}
suma=suma/n
cm=sqrt(suma)
return cm
}


5.Inicio
template <class T>
T medarm(int n,T x[30])
{
suma=0,i,ma int
for(i=0 to n step i=i+1)
{
suma=suma+(1.0/x[i])
}
ma=n/suma
return ma
}


6.Inicio
template <class T>
T max(int n,T x[30])
{
i,max int
max=x[0]
for(i=0 to n step i=i+1)
{
if(x[i]>max)
{
max=x[i]
}
}
return max
}


7.Inicio
template <class T>
T min(int n,T x[30])
{
i,min int
min=x[0]
for(i=0 to n step i=i+1)
{
if(x[i]<min)
{
min=x[i]
}
}
return min
}


8.Inicio
template <class T>
T intervalo(int n,T x[30])
{
inter int
inter=max(n,x)-min(n,x)
return inter
}


9.Inicio
template <class T>
T medgeo(int n,T x[30])
{
gm,prod=1,i int
for(i=0 to n step i=i+1)
{
prod=prod*x[i]
}
gm=pow(prod,1.0/n)
return gm
}

10.inicio
void main()
{
 n1 int
 x1[30] real
do
{
print " La cantidad de datos (<30): "
read n1
}
while(n1<=0 || n1>30)
valores (n1,x1)
print " Desviacion estandar: ", desvia(n1,x1), endl
print " Raiz del valor cuadratico medio: ", cuadmed(n1,x1), endl
print " media armonica: ",medarm(n1,x1), endl
print " Intervalo: ", intervalo(n1,x1), endl
print " Media geometrica: ", medgeo(n1,x1), endl;
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>

template <class T>
T prom(int n,T x[30])
{
int p,i,suma=0;
for(i=0;i<n;i++)
{
suma=suma+x[i];
}
p=suma/n;
return p;
}

template <class T>
void valores(int n,T x[30])
{
int i;

for(i=0;i<n;i++)
{
cout<<" Datos ["<<(i+1)<<"]: ";
cin>>x[i];
}
}

template <class T>
T desvia(int n,T x[30])
{
int suma,des,p,i;
p=prom(n,x);
suma=0;
for(i=0;i<n;i++)
{
suma=suma+abs(x[i]-p);
}
des=suma/n;
return des;
}

template <class T>
T cuadmed(int n,T x[30])
{
int cm,suma=0,i;
for(i=0;i<n;i++)
{
suma=suma+pow(x[i],2);
}
suma=suma/n;
cm=sqrt(suma);
return cm;
}

template <class T>
T medarm(int n,T x[30])
{
int suma=0,i,ma;
for(i=0;i<n;i++)
{
suma=suma+(1.0/x[i]);
}
ma=n/suma;
return ma;
}

template <class T>
T max(int n,T x[30])
{
int i,max;
max=x[0];
for(i=1;i<n;i++)
{
if(x[i]>max)
{
max=x[i];
}
}
return max;
}

template <class T>
T min(int n,T x[30])
{
int i,min;
min=x[0];
for(i=1;i<n;i++)
{
if(x[i]<min)
{
min=x[i];
}
}
return min;
}

template <class T>
T intervalo(int n,T x[30])
{
int inter;
inter=max(n,x)-min(n,x);
return inter;
}

template <class T>
T medgeo(int n,T x[30])
{
int gm,prod=1,i;
for(i=0;i<n;i++)
{
prod=prod*x[i];
}
gm=pow(prod,1.0/n);
return gm;
}

void main()
{
int n1;
float x1[30];
do
{
cout<<" La cantidad de datos (<30): ";
cin>>n1;
}
while(n1<=0 || n1>30);
valores (n1,x1);
cout<<endl;
cout<<" Desviacion estandar: "<<desvia(n1,x1)<<endl;
cout<<endl;
cout<<" Raiz del valor cuadratico medio: "<<cuadmed(n1,x1)<<endl;
cout<<endl;
cout<<" media armonica: "<<medarm(n1,x1)<<endl;
cout<<endl;
cout<<" Intervalo: "<<intervalo(n1,x1)<<endl;
cout<<endl;
cout<<" Media geometrica: "<<medgeo(n1,x1)<<endl;
cout<<endl;

getch();
}





domingo, 20 de marzo de 2011

Practicas Extra

Ejercicio 1


Escriba un programa para convertir grados Celsius a Farenheit. El programa debe solicitar el Valor inicial en grados Celsius, la cantidad de conversiones que se efectuaran y el incremento entre los valores en grados Celsius. La pantalla debe tener los encabezados apropiados y una lista con los valores en grados Celsius y los correspondientes en grados Farenheit. Utilice la siguiente relacion:
   Fahrenheit = (9.0/5.0)*Celsius + 32
Pseudocodigo

1.- Inicio
valorcelsius real
cantidad, conta=0 int
inc int
celsius real
fah real
print" Valor Inicial Celsius "
read valorcelsius
print" Numero de Conversiones "
read cantidad
print " Incremento de temperatura celsius "
read inc
celsius=valorcelsius
while(conta<=cantidad)
{
fah=(9.0/5.0)*celsius+32.0
print " Celsius ",celsius," Fahrenheit ",fah
celsius=celsius+inc
conta=conta+1
}
FIN

CODIGO
#include <iostream.h>
#include <conio.h>
void main()
{
float valorcelsius;
int cantidad, conta=0;
int inc;
float celsius;
float fah;
cout<<" Valor Inicial Celsius ";
cin>>valorcelsius;
cout<<" Numero de Conversiones ";
cin>>cantidad;
cout<<" Incremento de temperatura celsius ";
cin>>inc;
celsius=valorcelsius;
while(conta<=cantidad)
{
fah=(9.0/5.0)*celsius+32.0;
cout<<" Celsius "<<celsius<<" Fahrenheit "<<fah<<endl;
celsius=celsius+inc;
conta=conta+1;
}
getch();
}



Ejercicio 2

Recuperar el dinero se hace mas dificial durante los periodos de recesion, de manera que las empresas deben reducir sus limites de credito para prevenir que sus cuentas por cobrar (el dinero prestado) se hagan muy grandes. En respuesta a la prolongada recesion, una empresa recorto sus limites de credito a la mitad. De esta manera, si un cliente en particular tenia un limite de credito de $ 2000 , ahora su limite de credito esta a la mitad. De esta manera, si un limite de credito de $ 5000, este cliente tiene ahora un limite de $2500. Escriba un programa que analice el estado de credito de n clientes de esta empresa. Por cada cliente a usted se le brinda:
a) El numero de cuenta del Cliente
b) El limite de credito antes de la recesion.
c) El saldo actual del cliente (es decir, el monto que le debe el cliente a la empresa).
     Su programa debe calcular e imprimir el nuevo limite de credito para cada cliente, debe determinar
     cuales clientes tienen saldos que exceden los nuevos limites de credito.


Pseudocodigo
1.- Inicio
n int
numcuenta int
limitecredito real
nuevolimite real
saldoactual real
conta=1 int
print " Cuantos clientes "
read n
while(conta<=n)
{
print " Numero cuenta cliente "
read numcuenta
print " Limite credito antes de la recesion "
read limitecredito
print " Saldo Actual "
read saldoactual
nuevolimite=limitecredito/2
if(saldoactual>nuevolimite)
print " Excedio Limite de creditos "
print " Nuevo Limite de credito "nuevolimite
conta=conta+1
}
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int n;
int numcuenta;
float limitecredito;
float nuevolimite;
float saldoactual;
int conta=1;
cout<<" Cuantos clientes ";
cin>>n;
while(conta<=n)
{
cout<<endl;
cout<<" Numero cuenta cliente ";
cin>>numcuenta;
cout<<" Limite credito antes de la recesion ";
cin>>limitecredito;
cout<<" Saldo Actual ";
cin>>saldoactual;
nuevolimite=limitecredito/2;
if(saldoactual>nuevolimite)
cout<<"                Excedio Limite de creditos "<<endl;
cout<<"                Nuevo Limite de credito "<<nuevolimite<<endl;
conta=conta+1;
}
getch();
}




Ejercicio 3

Una interesante aplicacion de las computadoras es dibujar graficos de barras (en ocasiones llamadas "histogramas"). Escriba n programa que les 5 numeros (cada uno entre 1 y 30). Por cada numero leido, su programa debe imprimir una linea que contenga dicho numero con asteriscos adyacentes. Por ejemplo, si su programa lee el numero 10, debe imprimir **********.

Pseudocodigo

1.- Inicio
n1,n2,n3,n4,n5 int
i int
print " N1 "
read n1
print  " N2 "
read n2
print " N3 "
read n3
print " N4 "
read n4
print " N5 "
read n5
for(i=1;i<=n1;i=i+1)
{
print " * "
}
for(i=1;i<=n2;i=i+1)
{
print " * "
}
for(i=1;i<=n3;i=i+1)
{
print " * "
}
for(i=1;i<=n4;i=i+1)
{
print " * "
}
for(i=1;i<=n5;i=i+1)
{
print " * "
}
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int n1,n2,n3,n4,n5;
int i;
cout<<" N1 ";
cin>>n1;
cout<<" N2 ";
cin>>n2;
cout<<" N3 ";
cin>>n3;
cout<<" N4 ";
cin>>n4;
cout<<" N5 ";
cin>>n5;
for(i=1;i<=n1;i=i+1)
{
cout<<" * ";
}
cout<<endl;
for(i=1;i<=n2;i=i+1)
{
cout<<" * ";
}
cout<<endl;
for(i=1;i<=n3;i=i+1)
{
cout<<" * ";
}
cout<<endl;
for(i=1;i<=n4;i=i+1)
{
cout<<" * ";
}
cout<<endl;
for(i=1;i<=n5;i=i+1)
{
cout<<" * ";
}
cout<<endl;
getch();
}


Ejercicio 4

La expancion de un puente de acero que se calienta a una Tf=temperatura fianl en 0 grados celsius, desde una temperatura inicial de 0 se puede obtener utilizando la siguiente formula: aumento de longitud=a*l*(Tf-Ti) donde a=coeficiente de expancion 11.7exp-6 l=largo del puente a Ti=0. Escriba un programa que describa una tabla de longitudes expandidas para un puente de acero que tiene L=7365 a 0grados celcius, conforme aumenta la t=40grados en incrementos de 5 grados celsius.

Pseudocodigo

1.- Inicio
tf=40.0, ti, a=0.0000117, l=7365.0,lexp real
print " Temperatura: Longitud Expandida"
for(ti=0;ti<40;ti=ti+5)
{
lexp=a*l*(tf-ti)
print "\t",ti,"\t\t",lexp
}
FIN


CODIGO
#include <iostream.h>
#include <conio.h>
void main()
{
float tf=40.0, ti, a=0.0000117, l=7365.0,lexp;
cout<<" Temperatura: Longitud Expandida"<<endl;
for(ti=0;ti<40;ti=ti+5)
{
lexp=a*l*(tf-ti);
cout<<"\t"<<ti<<"\t\t"<<lexp<<endl;
}
getch();
}




Ejercicio 5

Suponga que necesita leer un conjunto de numeros enteros positivos y negativos. Realize un programa que calcule las sumas positivas y negativas de un conjunto de numeros introducidos por el usuario en maxnumbs.

Pseudocodigo

1.- Inicio
i, mno, no, spos=0, sneg=0 int
print " Cantidad de numeros: "
read mno
for(i=0;i<mno;i++)
{
print " Los numeros son: "
read no
if(no<0)
{
sneg=sneg+no
 }
else
{
if(no>0)
{
spos=spos+no
}
}
}
print " La suma de los Nos. negativos es: ",sneg
print " La suma de los Nos. positivos es: ",spos
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
 int i, mno, no, spos=0, sneg=0;
cout<<" Cantidad de numeros: ";
cin>>mno;
for(i=0;i<mno;i++)
{
 cout<<" Los numeros son: ";
cin>>no;
if(no<0)
{
sneg=sneg+no;
 }
else
 {
if(no>0)
{
spos=spos+no;
}
}
}
cout<<" la suma de los Nos. negativos es: "<<sneg<<endl;
cout<<" la suma de los Nos. positivos es: "<<spos<<endl;
getch();
}



Ejercicio 6

 b) Sacar promedio de los positivos y los negativos

Pseudocodigo

1.- Inicio
i, mno, no, cp=0, cn=0, spos=0, sneg=0 int
print " Cantidad de numeros: "
read mno
for(i=0;i<mno;i++)
{
print " Los numeros son: "
read no
if(no<0)
{
sneg=sneg+no
cn=cn+1
}
else
 {
 if(no>0)
{
spos=spos+no
cp=cp+1
 }
 }
 }
print " El promedio de los Nos. negativos es: ",(sneg/cn)
print " El producto de los Nos. positivos es: ",(spos/cp)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int i, mno, no, cp=0, cn=0, spos=0, sneg=0;
cout<<" Cantidad de numeros: ";
cin>>mno;
for(i=0;i<mno;i++)
{
cout<<" Los numeros son: ";
cin>>no;
if(no<0)
{
sneg=sneg+no;
cn=cn+1;
}
else
 {
 if(no>0)
{
spos=spos+no;
cp=cp+1;
 }
 }
 }
cout<<" El promedio de los Nos. negativos es: "<<(sneg/cn)<<endl;
cout<<" El producto de los Nos. positivos es: "<<(spos/cp)<<endl;
getch();
}


sábado, 19 de marzo de 2011

Practica 7

PRACTICA 7

Ejercicio 1

Utilizando una funcion DO. Escriba un programa para aceptar una calificacion.  El programa debe solicitar una calificacion continuamente mientras no se introduzcan calificaciones invalidas. Una calificacion invalida es cualquiera < que 0, o, >100.
a) Despues de que se introduzca una calificacion valida el programa debe mostrar el valor de ella.

Pseudocodigo

1.- Inicio
calif; int
do
{
print " Calificacion= "
read  calif
if(calif>0  and calif<=100)
{
print " Calificacion= ",calif
}
}
while(calif>0 and calif<=100)
FIN

 CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int calif;
do
{
cout<<" Calificacion= ";
cin>>calif;
if(calif>0&&calif<=100)
{
cout<<" Calificacion= "<<calif<<endl;
}
}
while(calif>0&&calif<=100);
getch();
}


b) Modifique el programa del a) que avise al usuario cuando se introduzca una calificacion invalida.

Pseudocodigo

1.- Inicio
calif; int
do
{
print " Calificacion= "
read calif
if(calif>0 and calif<=100)
{
print " Calificacion= ",calif
}
else
{
print "Calificacion Invalida "
}
}
while(calif>0 and calif<=100)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int calif;
do
{
cout<<" Calificacion= ";
cin>>calif;
if(calif>0&&calif<=100)
{
cout<<" Calificacion= "<<calif<<endl;
}
else
{
cout<<"Calificacion Invalida ";
}
}
while(calif>0&&calif<=100);
getch();
}




c) Modifique el programa del b) para que permita al usuario salir del programa al introducir el #999.


Pseudocodigo

1.- Inicio
calif; int
do
{
print" Calificacion= "
read calif;
if(calif>0 and calif<=100)
{
print " Calificacion= ",calif
}
else
{
if(calif!=999)
{
print "Calificacion Invalida "
}
}
while(calif!=999)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int calif;
do
{
cout<<" Calificacion= ";
cin>>calif;
if(calif>0&&calif<=100)
{
cout<<" Calificacion= "<<calif<<endl;
}
else
{
if(calif!=999)
{
cout<<"Calificacion Invalida "<<endl;
}
}
}
while(calif!=999);
getch();
}


d) Modifique el programa del b) para que termine automaticamente despues de que se introduzcan 5 calificaciones invalidas.


Pseudocodigo

1.- Inicio
calif int
int contador=0
do
{
print " Calificacion= "
read calif
if(calif>0 and calif<=100)
{
print " Calificacion= ",calif
}
else
{
print "Calificacion Invalida "
contador=contador+1
}
}
while(contador<5)
FIN


 CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int calif;
int contador=0;
do
{
cout<<" Calificacion= ";
cin>>calif;
if(calif>0&&calif<=100)
{
cout<<" Calificacion= "<<calif<<endl;
}
else
{
cout<<"Calificacion Invalida ";
contador=contador+1;
}
}
while(contador<5);
getch();
}



Ejercicio 2

En un estadio se tienen 5 tipos diferentes de localidades las cuales se identifican por una clave numérica que es un valor comprendido entre 1 y 5. los precios de cada localidad y  datos referentes a las ventas de boletos para el prox juego se proporcionan de la siguiente manera:

a) lea los precios de las localidades
b) lea los datos de las ventas de boletos
c) imprima para cada venta la clave, cantidad y el importe total de los boletos vendidos
d) calcule e imprima las cantidades de boletos vendidos de cada tipo
e) calcule e imprima la recaudación total


Pseudocodigo

Inicio
p1,p2,p3,p4,p5 real
l1=0, l2=0, l3=0, l4=0, l5=0 int
total_rec=0 real
clave, cantidad int
print " Precio Localidad 1 = "
read p1
print" Precio Localidad 2 = "
read p2
print" Precio Localidad 3 = "
read p3
print" Precio Localidad 4 = "
read p4
print" Precio Localidad 5 = "
read p5
do
{
print " Clave Localidad= "
read clave
print " Cantidad de boletos= "
read cantidad
switch(clave)
{
case 1:
l1=l1+cantidad
print " Numero de boletos Localidad 1= ",cantidad
print " Total= ",(p1*cantidad)
break

case 2:
l2=l2+cantidad
print " Numero de boletos Localidad 2= ",cantidad
print" Total= ",(p2*cantidad)
break

case 3:
l3=l3+cantidad
print " Numero de boletos Localidad 3= ",cantidad
print " Total= ",(p3*cantidad)
break

case 4:
l4=l4+cantidad
print " Numero de boletos Localidad 4= ",cantidad
print " Total= ",(p4*cantidad)
break

case 5:
l5=l5+cantidad
print " Numero de boletos Localidad 5= ",cantidad
print " Total= ",(p5*cantidad)
break
}
}
while (clave!=-1 and cantidad!=-1)
print " Cantidad Total de Localidad 1= ",l1
print " Cantidad Total de Localidad 2= ",l2
print " Cantidad Total de Localidad 3= ",l3
print " Cantidad Total de Localidad 4= ",l4
print " Cantidad Total de Localidad 5= ",l5
total_rec=(l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5)
print " Recaudacion Total de boletos es= ",total_rec
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main ()
{
float p1,p2,p3,p4,p5;
int l1=0, l2=0, l3=0, l4=0, l5=0;
float total_rec=0;
int clave, cantidad;
cout<<" Precio Localidad 1 = ";
cin>>p1;
cout<<" Precio Localidad 2 = ";
cin>>p2;
cout<<" Precio Localidad 3 = ";
cin>>p3;
cout<<" Precio Localidad 4 = ";
cin>>p4;
cout<<" Precio Localidad 5 = ";
cin>>p5;
do
{
cout<<" Clave Localidad= ";
cin>>clave;
cout<<" Cantidad de boletos= ";
cin>>cantidad;
switch(clave)
{
case 1:
l1=l1+cantidad;
cout<<" Numero de boletos Localidad 1= "<<cantidad<<endl;
cout<<" Total= "<<(p1*cantidad)<<endl;
break;

case 2:
l2=l2+cantidad;
cout<<" Numero de boletos Localidad 2= "<<cantidad<<endl;
cout<<" Total= "<<(p2*cantidad)<<endl;
break;

case 3:
l3=l3+cantidad;
cout<<" Numero de boletos Localidad 3= "<<cantidad<<endl;
cout<<" Total= "<<(p3*cantidad)<<endl;
break;

case 4:
l4=l4+cantidad;
cout<<" Numero de boletos Localidad 4= "<<cantidad<<endl;
cout<<" Total= "<<(p4*cantidad)<<endl;
break;

case 5:
l5=l5+cantidad;
cout<<" Numero de boletos Localidad 5= "<<cantidad<<endl;
cout<<" Total= "<<(p5*cantidad)<<endl;
break;
}
}
while (clave!=-1&&cantidad!=-1);
cout<<" Cantidad Total de Localidad 1= "<<l1<<endl;
cout<<" Cantidad Total de Localidad 2= "<<l2<<endl;
cout<<" Cantidad Total de Localidad 3= "<<l3<<endl;
cout<<" Cantidad Total de Localidad 4= "<<l4<<endl;
cout<<" Cantidad Total de Localidad 5= "<<l5<<endl;
total_rec=(l1*p1)+(l2*p2)+(l3*p3)+(l4*p4)+(l5*p5);
cout<<" Recaudacion Total de boletos es= "<<total_rec<<endl;
getch();
}


Ejercicio 3

Muchos clubes deportivos profesionales utilizan una computadora para realizar el análisis de exploración de los informes de los jugadores aspirantes. Suponga que un equipo profesional de jocquey tiene tal sistema que para cada jugador debe tener la siguiente información:
Nombre del jugador,  Edad,  Altura (en pulgadas),  peso (en libras),  Goles hechos en la ultima temporada,  Asistencia a la ultima temporada,  Minutos penalizados en ella,  Factor de la liga (numero real).  Los jugadores se evalúan de acuerdo a la siguiente formula:
(Goles + Asistencia + (Minutos  Penalizados) / 4 + (Altura + Peso) / 5 - Edad)  * Factor de la liga
Diseñe un programa para leer un conjunto de informes a explorar e imprimir por cada jugador la cifra de evaluación calculada. Al final debe proporcionar el nombre y la cifra de evaluación del jugador que haya obtenido la mas alta calificación.


CODIGO

#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char n[10];
char nom[10];
int mayor=0,p,h,e,g,a,min,fl,otro;
float ev;
do
{
cout<<" Nombre del jugador: ";
cin>>n;
cout<<" Edad: ";
cin>>e;
cout<<" Peso: ";
cin>>p;
cout<<" Altura";
cin>>h;
cout<<" Asistencia: ";
cin>>a;
cout<<" Goles: ";
cin>>g;
cout<<" Minutos Penalizados: ";
cin>>min;
cout<<" Factor de Liga: ";
cin>>fl;
ev=(((g+a+min)+((h+p)/4)-e)*fl);
if(ev>mayor)
{
mayor=ev;
strcpy(n=nom);
}
cout<<" Nombre del Jugador: "<<n<<endl;
cout<<" Calificacion: "<<ev<<endl;
cout<<" Desea registrar otro jugador? ( 1(si  2(no ) ";
cin>>otro;
}
while(otro==1);
cout<<" El jugador "<<nom<<" con un calificacion de "<<mayor<<endl;
getch();
}

Ejercicio 4

Una compañia de seguros a reunido datos concernientes a todos los accidentes de transito ocurridos durante el año. Los datos que se tienen de  cada conductor involucrado en un accidente son los siguientes:
Edad del Conductor, Sexo, Codigo de Ciudad (1 Capital, 2 Provincia).
     Diseñar un programa que lea los datos e imprima los siguientes valores estadisticos de los conductores que han participado en accidentes:
a) Porcentaje de conductores < 25 años
b) Porcentaje de conductores de sexo femenino
c) Porcentaje de conductores de sexo Masculino con edades comprendidas entre 18 y 25 años
d) Porcentaje de conductores que son originarios de la capital.

Pseudocodigo

1.- Inicio
cc=0,cf=0,cm=0,c25=0, e,cod int
 s,otro, cont=0  int
 p25,pf,pm,pcc real
do
{
print " Edad: "
read e
print " Sexo: 1(femenino) 2(masculino): "
read s
print " Codigo de ciudad 1)provincia 2)capital: "
read cod
cont=cont+1
if(e<25)
{
c25=c25+1
}
switch(s)
{
case 1:
cf=cf+1
break

case 2:
if(e>=18 && e<=25)
{
cm=cm+1
}
break

default:
print " Error "
break
}
if(cod==1)
{
cc=cc+1
}
print " Otro registro? 1(SI= 2(NO): "
read otro
}
while(otro==1)
p25=(c25*100)*cont
pf=(cf*100)*cont
pm=(cm*100)*cont
pcc=(cc*100)*cont
print " El porcentaje de los conductores menores de 25 anios es: ",p25
print " El porcentaje de los conductores femeninos es: ",pf
print " El porcentaje de los conductores masculinos en la edad de 18-25 es: ",pm
print " El porcentaje de los conductores de la capital es: ",pcc
FIN


CODIGO
#include <iostream.h>
#include <conio.h>
void main()
{
int cc=0,cf=0,cm=0,c25=0, e,cod;
int s,otro, cont=0;
float p25,pf,pm,pcc;
do
{
cout<<" Edad: ";
cin>>e;
cout<<" Sexo: 1(femenino) 2(masculino): ";
cin>>s;
cout<<" Codigo de ciudad 1)provincia 2)capital: ";
cin>>cod;
cont=cont+1;
if(e<25)
{
c25=c25+1;
}
switch(s)
{
case 1:
cf=cf+1;
break;
case 2:
if(e>=18 && e<=25)
{
cm=cm+1;
}
break;
default: cout<<" Error ";
break;
}
if(cod==1)
{
cc=cc+1;
}
cout<<" Otro registro? 1(SI= 2(NO): ";
cin>>otro;
}
while(otro==1);
p25=(c25*100)*cont;
pf=(cf*100)*cont;
pm=(cm*100)*cont;
pcc=(cc*100)*cont;
cout<<" El porcentaje de los conductores menores de 25 anios es: "<<p25<<endl;
cout<<" El porcentaje de los conductores femeninos es: "<<pf<<endl;
cout<<" El porcentaje de los conductores masculinos en la edad de 18-25 es: "<<pm<<endl;
cout<<" El porcentaje de los conductores de la capital es: "<<pcc<<endl;
getch ();
}







Ejercicio 5

El departamento de policia y transito de la ciudad a recopilado informacion acumulada durante cierto tiempo de las infracciones por sobrepasar los limites de velocidad. El departamento dividio la ciudad en 4 cuadrantes para cada uno de los cuales desean obtener datos estadisticos que muestren las infracciones levantadas.
Por cada infraccion se tiene:No. de registro del carro, cuadrante, limite de velocidad y a que velocidad iba el carro.
el monto de la se calcula multiplicando por 50 cada km/h que excedan el limite.

Pseudocodigo

1.- Inicio
c,nr,vl,vr,multa,otro int
nc1=0, nc2=0, nc3=0, nc4=0 int
totalc1=0, totalc2=0, totalc3=0, totalc4=0 int
do
{
print " No. de Registro del Carro = "
read nr
print " No.de Cuadrante = "
read c
print " Velocidad Limite = "
read vl
print " Velocidad Registrada del Carro = "
read vr
multa=(vr-vl)*50
print " Registro del carro = "
print nr
print " Velocidad Registrada del Carro = "
print vr
print " Velocidad limite = "
print  vl
print " Multa = "
print multa
switch(c)
{
case 1:
nc1=nc1+1
totalc1=totalc1+multa
break

case 2:
nc2=nc2+1
totalc2=totalc2+multa
break

case 3:
nc3=nc3+1
totalc3=totalc3+multa
break

case 4:
nc4=nc4+1
totalc4=totalc4+multa
break
default:
print " Error "
break
}
print " Otro registro?  1)SI  2)NO = "
read otro
}
while(otro==1)
print " Cuadrante 1 "
print " No. Infracciones ",nc1
print " Monto total de multas ",totalc1

print " Cuadrante 2 "
print " No. Infracciones ",nc2
print " Monto total de multas ",totalc2
print " Cuadrante 3 "
print " No. Infracciones ",nc3
print " Monto total de multas ",totalc3

print " Cuadrante 4 "
print " No. Infracciones ",nc4
print " Monto total de multas ",totalc4
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main()
{
int c,nr,vl,vr,multa,otro;
int nc1=0, nc2=0, nc3=0, nc4=0;
int totalc1=0, totalc2=0, totalc3=0, totalc4=0;
do
{
cout<<" No. de Registro del Carro = ";
cin>>nr;
cout<<" No.de Cuadrante = ";
cin>>c;
cout<<" Velocidad Limite = ";
cin>>vl;
cout<<" Velocidad Registrada del Carro = ";
cin>>vr;
multa=(vr-vl)*50;
cout<<endl;
cout<<" Registro del carro = ";
cout<<nr<<endl;
cout<<" Velocidad Registrada del Carro = ";
cout<<vr<<endl;
cout<<" Velocidad limite = ";
cout<<vl<<endl;
cout<<" Multa = ";
cout<<multa<<endl;
cout<<endl;
switch(c)
{
case 1:
nc1=nc1+1;
totalc1=totalc1+multa;
break;
case 2:
nc2=nc2+1;
totalc2=totalc2+multa;
break;

case 3:
nc3=nc3+1;
totalc3=totalc3+multa;
break;

case 4:
nc4=nc4+1;
totalc4=totalc4+multa;
break;
default:
cout<<" Error ";
break;
}
cout<<" Otro registro?  1)SI  2)NO = ";
cin>>otro;
cout<<endl;
}
while(otro==1);
cout<<" Cuadrante 1 "<<endl;
cout<<" No. Infracciones "<<nc1<<endl;
cout<<" Monto total de multas "<<totalc1<<endl<<endl;

cout<<" Cuadrante 2 "<<endl;
cout<<" No. Infracciones "<<nc2<<endl;
cout<<" Monto total de multas "<<totalc2<<endl<<endl;

cout<<" Cuadrante 3 "<<endl;
cout<<" No. Infracciones "<<nc3<<endl;
cout<<" Monto total de multas "<<totalc3<<endl<<endl;

cout<<" Cuadrante 4 "<<endl;
cout<<" No. Infracciones "<<nc4<<endl;
cout<<" Monto total de multas "<<totalc4<<endl<<endl;
getch();
}



 Ejercicio 6

Una pelota cae de cierta altura con la formula: 1/2*g*t*t donde g=9.81m/s*s.
Realize un programa que muestre la distancia que la pelota cae en cada intervalo de 2 segundos durante 20 segundos y la distancia total que la pelota a recorrido al final de cada intervalo.
La salida debe de completar la tabla:
tiempo: distancia en el intervalo: distancia total:


Pseudocodigo

1.- Inicio
t,di real
dt=0 real
print " Tiempo =    Distancia Actual =    Distancia Total = "
for(t=0;t<=20;t=t+2)
{
di=(((1.0/2.0)*32)*(t*t))
dt=dt+di
print "\t",t,"\t\t\t",di,"\t\t\t",dt
}
FIN

CODIGO
#include <iostream.h>
#include <conio.h>
void main ()
{
float t,di;
float dt=0;
cout<<" Tiempo =    Distancia Actual =    Distancia Total = "<<endl;
for(t=0;t<=20;t=t+2)
{
di=(((1.0/2.0)*32)*(t*t));
dt=dt+di;
cout<<"\t"<<t<<"\t\t\t"<<di<<"\t\t\t"<<dt<<endl;
}
getch();
}



Ejercicio 7


Realize un programa que calcule y despliegue los valores para Y cuando:
Y=X*Z/(X-Z)
El programa debe de calcular Y para todos los valores de x en un rango de 1-5 y los valores de z de 2-6. La variable X deve controlar el ciclo interno e incrementarse en pasos de 1 en 1 y Z tambien. Asi mismo el programa debe mostrar el mensaje Funcion indefinida cuando los valores de X y Z sean iguales.

Pseudocodigo

1.- Inicio
 x,y,z int
print "x   z   y "
for(x=1;x<=5;x=x+1)
{
for(z=2;z<=6;z=z+1)
{
if(x==z)
{
print " Funcion Indefinida "
}
else
{
y=(x*z)/(x-z)
print x,"   ",z,"   ",y
}
}
}
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void main ()
{
int x,y,z;
cout<<"x   z   y "<<endl;
for(x=1;x<=5;x=x+1)
{
for(z=2;z<=6;z=z+1)
{
if(x==z)
{
cout<<" Funcion Indefinida "<<endl;
}
else
{
y=(x*z)/(x-z);
cout<<x<<"   "<<z<<"   "<<y<<endl;
}
}
}
getch();
}
                               
Ejercicio 8

La probabilidad de que una llamada individual de teléfono dure menos de t minutos se puede calcular mediante:  prob<t min  =     1-e(exp(-t/a)) a: duracion prom de la llamada, e: No. euler(2.71828)
por ejemplo: suponiendo que la duracion prom. sea 2 min es:
1-e(exp(-1/2))=0.3297
calcule y despliegue una lista de la probabilidad de que una llamada dure de 1-10 min en incrementos de 1min

Pseudocodigo

1.-Inicio
p,t real
print " t Probabilidad de que una llamada dure menos de t tiempo "
for(t=1;t<=10;t=t+1)
{
p=(1-exp(-t/2.0))
print t,"    ",p
}
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
float p,t;
cout<<" t Probabilidad de que una llamada dure menos de t tiempo "<<endl;
cout<<endl;
for(t=1;t<=10;t=t+1)
{
p=(1-exp(-t/2.0));
cout<<t<<"    "<<p<<endl;
}
getch();
}