jueves, 24 de marzo de 2011

PRACTICA # 8

Problema # 1.

Escriba una función denominada revisar (que tenga 3 parámetros), el primer parámetro debe aceptar un entero, el segundo un numero en punto flotante y el 3 un numero de doble precisión. El contenido de la función solo debe mostrar los valores de los datos transmitidos a la función cuando sea llamada.

Pseudocodigo.

{print "Valor entero: "a
print "Valor flotante: "b
print ""Valor de doble presicion: "c}
Inicio
{
entero num1
real num2
doble precision num3
print "dato entero: "
read num1
print "dato flotante: "
read num2
print "dato de doble presicion: "
read num3
revisar(num1, num2, num3);
}

Codigo en C++.

#include<iostream.h>
#include<conio.h>
void revisar(int a, float b, double c)
{
cout<<"Valor entero: "<<a<<endl;
cout<<"Valor flotante: "<<b<<endl;
cout<<"Valor de doble presicion: "<<c<<endl;
}
void main()
{
int num1;
float num2;
double num3;
cout<<"dato entero: ";
cin>>num1;
cout<<"dato flotante: ";
cin>>num2;
cout<<"dato de doble presicion: ";
cin>>num3;
revisar(num1, num2, num3);
getch();
}

Programa.





----------------------------------------------------------------------------------------------------------

Problema # 2.


Escriba una función denominada mult () que acepte como parámetros 2 números con punto flotante, multiplique estos 2 números y despliegue el resultado.

Pseudocodigo.

void mult(float n1, float n2)
{
float r1;
r1=n1*n2;
cout<<"La multiplicacion de "<<n1<<" * "<<n2<<" = "<<r1;
}
Inicio
real a, b
print "Primer numero flotante: "
read a
print "Segundo numero flotante: "
read b
mult(a, b)

Codigo en C++.

#include<iostream.h>
#include<conio.h>
void mult(float n1, float n2)
{
float r1;
r1=n1*n2;
cout<<"La multiplicacion de "<<n1<<" * "<<n2<<" = "<<r1;
}
void main()
{
float a, b;
cout<<"Primer numero flotante: ";
cin>>a;
cout<<"Segundo numero flotante: ";
cin>>b;
mult(a, b);
getch();
}

Programa.




------------------------------------------------------------------------------------------------------------

Problema # 3.


Escriba una función que produzca una tabla de números del 1 al 10 su valor al cuadrado y al cubo. Incluya esta función en un programa.


Pseudocodigo.

tabla()
{
entero i
print "Numero,  cuadrado, cubo "
for(i=1; i<=10; i++)
 {
 print i"  "(i*i)"  "(i*i*i)
 }}
Inicio
tabla()

Codigo en C++.


#include<iostream.h>
#include<conio.h>
tabla()
{
int i;
cout<<"Numero,  cuadrado, cubo "<<endl;
for(i=1; i<=10; i++)
 {
 cout<<i<<"  "<<(i*i)<<"  "<<(i*i*i)<<endl;
 }}
void main()
{
tabla();
getch();
}

Programa.




-----------------------------------------------------------------------------------------------------------

Problema # 4.


Escriba una función denominada triangulorectangulo() que acepte la long. de 2 lados de un triangulo rectangular con los argumentos a y b respectivamente. La función debe terminar y devolver la hipotenusa C del triangulo.

Pseudocodigo.

real triangulorectangulo(entero a, entero b);
Inicio
{
real lado1, lado2
print "Lado 1 de un triangulo rectangulo: "
read  lado1
print "Lado 2 de un triangulo rectangulo: "
read lado2
print "El valor de la hipotenusa es: "triangulorectangulo(lado1, lado2)
real triangulorectangulo(entero a, entero b)
{real c
c=sqrt(pow(a,2)+pow(b,2));
return c;
}

Codigo en C++.

#include<iostream.h>
#include<conio.h>
#include<math.h>
float triangulorectangulo(int a, int b);
void main()
{
int lado1, lado2;
cout<<"Lado 1 de un triangulo rectangulo: ";
cin>>lado1;
cout<<"Lado 2 de un triangulo rectangulo: ";
cin>>lado2;
cout<<"El valor de la hipotenusa es: "<<triangulorectangulo(lado1, lado2)<<endl;
getch();
}
float triangulorectangulo(int a, int b)
{float c;
c=sqrt(pow(a,2)+pow(b,2));
return c;
}

Programa.







-------------------------------------------------------------------------------------------------------

Problema # 5.


Diseñe una funcion tal que dado un parametro x regrese el siguiente valor
1/(x^5*((e^1.432/x)-1)) (x debe ser distinto de 0 )
diseñe una funcion con dos parametros y que regrese lo siguiente :
x+x^n/n-x^n+2 si x>=0
-x^n-1/n-1 + x^n+1/n+1 si x<0


Pseudocodigo.

real funcion1(float x)
{real v
v=1/(pow(x,5)*((exp(1.432)/x)-1))
regresa v
}
real funcion2(real x, real n)
{
real vf, vF
if(x>=0)
 {
 vf=x+pow(x, n)/n-pow(x, (n+2))/(n+2);
 }
vF=(-pow(x,(n-1))/(n-1)+pow(x,(n+1))/(n+1));
regresa vf;
}
Inicio
{
real x, n, v1=0, v2=0, x1
do
{{
print "Introduzca un valor de X pra funcion1: "
read x
}}
while(x==0);
v1=funcion1(x)
print "Introduzca valor de X para funcion2: "
read x1
print "Introduzca un valor para n en funcion2: ";
read n
v2=funcion2(x1, n)
print "Valor de la funcion 1: "v1
print "Valor de la funcion 2: "v2
Fin

Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <math.h>
float funcion1(float x)
{float v;
v=1/(pow(x,5)*((exp(1.432)/x)-1));
return v;
}
float funcion2(float x, float n)
{
float vf, vF;
if(x>=0)
 {
 vf=x+pow(x, n)/n-pow(x, (n+2))/(n+2);
 }
vF=(-pow(x,(n-1))/(n-1)+pow(x,(n+1))/(n+1));
return vf;
}
void main()
{
float x, n, v1=0, v2=0, x1;
do
{{
cout<<"Introduzca un valor de X pra funcion1: ";
cin>>x;
}}
while(x==0);
v1=funcion1(x);
cout<<"Introduzca valor de X para funcion2: ";
cin>>x1;
cout<<"Introduzca un valor para n en funcion2: ";
cin>>n;
v2=funcion2(x1, n);
cout<<"Valor de la funcion 1: "<<v1<<endl;
cout<<"Valor de la funcion 2: "<<v2<<endl;
getch();
}

Programa.






------------------------------------------------------------------------------------------------------------


Problema # 6.


Diseñe una funcion que genere 20 numeros aleatorios , otra funcion que muestre los numeros pares, otra para los impares, una funcion que despliegue la suma de los numeros aleatorios y otra que desppliegue el producto


Pseudocodigo.


void generarnumeros(int numeros[20]);
void listadopares(int numeros[20]);
void listadoimpares(int numeros[20]);
void sumatoria(int numeros[20]);
void multiplicacion(int numeros[20]);
Inicio
{
enteros valores[20];
generarnumeros(valores);
listadopares(valores);
listadoimpares(valores);
sumatoria(valores);
multiplicacion(valores);
}
void generarnumeros(entero numeros[20])
{
real i
randomize()
for(i=0; i<20; i++)
{
numeros[i]=random(2000)+1
}}
void listadopares(real numeros[20])
{
real i
print "Listado numeros pares: "
for(i=0; i<20; i++)
{
if(numeros[i]%2==0)
{
print numeros[i]" num"
}}
void listadoimpares(real numeros[20])
{
entero i
print "Listado de numeros impares: "
for(i=0; i<20; i++)
{
if(numeros[i]%2!=0)
{
print numeros[i]" num "
}}
void sumatoria(entero numeros[20])
{
real i, suma=0
print "Suma de 20 numeros aleatorios "
for(i=0; i<20; i++)
{
suma=suma+numeros[i]
}
print "Suma: "suma
}
void multiplicacion(int numeros[20])
{
entero i, multi;
print "Multiplicacion de 20 numeros aleatorios: "
for(i=0; i<20; i++)
{
if(numeros[i]>0)
 {
multi=multi*numeros[i];
}}
print "multiplicacion: "multi
}
Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void generarnumeros(int numeros[20]);
void listadopares(int numeros[20]);
void listadoimpares(int numeros[20]);
void sumatoria(int numeros[20]);
void multiplicacion(int numeros[20]);
void main()
{
int valores[20];
generarnumeros(valores);
listadopares(valores);
listadoimpares(valores);
sumatoria(valores);
multiplicacion(valores);
getch();
}
void generarnumeros(int numeros[20])
{
int i;
randomize();
for(i=0; i<20; i++)
{
numeros[i]=random(2000)+1;
}}
void listadopares(int numeros[20])
{
int i;
cout<<"Listado numeros pares: "<<endl;
for(i=0; i<20; i++)
{
if(numeros[i]%2==0)
{
cout<<numeros[i]<<" num"<<endl;
}}
cout<<endl;
}
void listadoimpares(int numeros[20])
{
int i;
cout<<"Listado de numeros impares: "<<endl;
for(i=0; i<20; i++)
{
if(numeros[i]%2!=0)
{
cout<<numeros[i]<<" num "<<endl;
}}
cout<<endl;
}
void sumatoria(int numeros[20])
{
int i, suma=0;
cout<<"Suma de 20 numeros aleatorios "<<endl<<endl;
for(i=0; i<20; i++)
{
suma=suma+numeros[i];
}
cout<<"Suma: "<<suma<<endl;
}
void multiplicacion(int numeros[20])
{
int i, multi;
cout<<"Multiplicacion de 20 numeros aleatorios: "<<endl;
for(i=0; i<20; i++)
{
if(numeros[i]>0)
 {
multi=multi*numeros[i];
}}
cout<<"multiplicacion: "<<multi<<endl;
}

Programa.





-------------------------------------------------------------------------------------------------------------

Problema # 7.


Formule un programa para obtener los siguientes valores estadísticos para un arreglo x compuesto de n elementos.

Desviación media = 1/n sumatoria de |xi-x| donde x=1/n sumatoria xi
Raíz del valor c medio= raíz 1/n sumatoria xi^2
Medio armónico= n/sumatoria de (1/xi)
Intervalo (r) máximo (x1, x2,……xn)- mínimo(x1, x2,……xn)
Medio geométrico (gm)=raíz n de xi, x2,….xn.

-------------------------------------------------------------------------------------------------------------

Problema # 8.


Escriba una función llamada tiempo que tenga un parámetro en número entero denominado segundos y 3 parámetros de referencia en número entero denominados, horas, minutos y segundos. La función ha de convertir en el número transmitido en segundos a su equivalente horas, minutos y segundos. Utilizando las referencias, la función debe alterar directamente los argumentos respectivos en la función que llama.
Pseudocodigo.

void tiempo(int segundos, int& horas, int& min, int& seg)
{horas=segundos/3600
min=(segundos%3600)/60
seg=(segundos%60)}
Inicio
segundos, horas, min, seg enteros
print "Inserte segundos: "
read segundos
print "H M S "
tiempo(segundos, horas, min, seg)
print horas":"min":"seg}
fin.

Codigo en C++.

#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%60);}
void main()
{int segundos, horas, min, seg;
cout<<"Inserte segundos: ";
cin>>segundos;
cout<<"H M S "<<endl;
tiempo(segundos, horas, min, seg);
cout<<horas<<":"<<min<<":"<<seg<<endl;
getch();}

Programa.




--------------------------------------------------------------------------------------------------------------

Problema # 9.


Escribano función llamada cambio ()
Que tenga un parámetro en numero entero y seis parámetros en número entero denominado, cien, cincuenta, veinte, diez, cinco, uno, respectivamente la función de reconvertir el Valor transmitido del número entero como cantidad el dólar y convertir el Valor al número más pequeño de billetes equivalentes. Utilizando las referencias la función debe alterar directamente los argumentos respectivos en la función que llama.
Pseudocodigo.

void cambio(int cant, int& cien, int& cincuenta, int& veinte, int& diez, int& cinco, int& uno)
{cien=cant/100
cincuenta=(cant%100)/50
veinte=(cant%100%50)/20
diez=(cant%100&50%20)/10
cinco=(cant%100%50%20%10)/5
uno=(cant%100%50%20%10%5)}
cantidad, cien, cincuenta, veinte, diez, cinco, uno enteros
print "Introduzca cantidad de dolares: "
read cantidad
cambio(cantidad, cien, cincuenta, veinte, diez, cinco, uno)
print "cien cincuenta veinte diez cinco uno"
print cien" "cincuenta"  "veinte" "diez" "cinco" "uno
fin.

Codigo en C++.

#include <iostream.h>
#include <conio.h>
void cambio(int cant, int& cien, int& cincuenta, int& veinte, int& diez, int& cinco, int& uno)
{cien=cant/100;
cincuenta=(cant%100)/50;
veinte=(cant%100%50)/20;
diez=(cant%100&50%20)/10;
cinco=(cant%100%50%20%10)/5;
uno=(cant%100%50%20%10%5);}
void main()
{int cantidad, cien, cincuenta, veinte, diez, cinco, uno;
cout<<"Introduzca cantidad de dolares: ";
cin>>cantidad;
cambio(cantidad, cien, cincuenta, veinte, diez, cinco, uno);
cout<<"cien cincuenta veinte diez cinco uno"<<endl;
cout<<cien<<" "<<cincuenta<<"  "<<veinte<<" "<<diez<<" "<<cinco<<" "<<uno<<endl;
getch();
}

Programa.







---------------------------------------------------------------------------------------------------------------

Problema # 10.


El volumen b y la superficie s, de un cilindro están dadas por la formula V=pir^2L,
S=2pirL. r es el radio y l su longitud, utilizando estas fórmulas escriba una función denominada cilindro () que acepte el radio y de largo de un cilindro y que devuelva el volumen y la superficie.

Pseudocodigo.

float volumenysuperficie(float r, float l, float& v, float& s)
{v=3.1416*(r*r*l);
s=2*(3.1416)*(r)*(l);
return v;}
 r, l, v, s reales
print "Introduzca radio: "
print r
print "Introduzca longitud: "
read l
volumenysuperficie(r, l, v, s);
print "Volumen = "v
print "Superficie = "s

Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <math.h>
float volumenysuperficie(float r, float l, float& v, float& s)
{v=3.1416*(r*r*l);
s=2*(3.1416)*(r)*(l);
return v;}
void main()
{float r, l, v, s;
cout<<"Introduzca radio: ";
cin>>r;
cout<<"Introduzca longitud: ";
cin>>l;
volumenysuperficie(r, l, v, s);
cout<<"Volumen = "<<v<<endl;
cout<<"Superficie = "<<s<<endl;
getch();
}

Programa.




------------------------------------------------------------------------------------------------------------------

Problema # 11.


Escribano función que calcule de radio r, y el área de un círculo cuando la circunferencia es C es conocida. Las fórmulas son r=susc/2pi a=pir^2.
Pruebe la función utilizando un programa que tenga una función específica de control.
Pseudocodigo.

real radioyarea(real c, real& r, real& a)
{r=c/(2*3.1416)
a=3.1416*(r*r)
return r}
Inicio
c, r, a real
print "Introduzca Circunferencia: "
read c
radioyarea(c, r, a)
print "Radio = "r
print "Area = "a

Codigo en C++.

#include <iostream.h>
#include <conio.h>
float radioyarea(float c, float& r, float& a)
{r=c/(2*3.1416);
a=3.1416*(r*r);
return r;}
void main()
{float c, r, a;
cout<<"Introduzca Circunferencia: ";
cin>>c;
radioyarea(c, r, a);
cout<<"Radio = "<<r<<endl;
cout<<"Area = "<<a<<endl;
getch();}

Programa.



----------------------------------------------------------------------------------------------------------------

Problema # 12.


Escriba una plantilla de función llamada máximo que devuelva el Valor máximo de tres argumentos que se transmiten a la función cuando ésta sea llamada. Suponga que he los tres argumentos serán del mismo tipo.

Pseudocodigo.

T max(T v1, T v2, T v3)
{if(v1>=v2 && v1>=v3)
{return v1;}
sino
{if(v2>=v1 y v2>=v3)
{return v2;}
sino
{return v3}
}}
Inicio
n1, n2, n3 enteros
num1, num2, num3 reales
print "Numero 1: "
read n1
print "Numero 2: "
read n2
print "Numero 3: "
read n3
print "Numero mayor = "max(n1, n2, n3)
print "Ahora con flotantes "
print "Numero 1: "
read num1
print "Numero 2: "
read num2
print "Numero 3: "
read num3;
print "El numero mayor es = "<<max(num1, num2, num3)


Codigo en C++.

#include <iostream.h>
#include <conio.h>
template <class T>
T max(T v1, T v2, T v3)
{if(v1>=v2 && v1>=v3)
{return v1;}
else
{if(v2>=v1 && v2>=v3)
{return v2;}
else
{return v3;}
}}
void main()
{int n1, n2, n3;
float num1, num2, num3;
cout<<"Numero 1: ";
cin>>n1;
cout<<"Numero 2: ";
cin>>n2;
cout<<"Numero 3: ";
cin>>n3;
cout<<"Numero mayor = "<<max(n1, n2, n3)<<endl<<endl;
cout<<"Ahora con flotantes "<<endl;
cout<<"Numero 1: ";
cin>>num1;
cout<<"Numero 2: ";
cin>>num2;
cout<<"Numero 3: ";
cin>>num3;
cout<<"El numero mayor es = "<<max(num1, num2, num3)<<endl;
getch();
}

Programa.




---------------------------------------------------------------------------------------------------------------

Problema # 13.

Escriba un programa que almacene diez valores a un arreglo llamado resistencia y diez valores a un arreglo llamado corriente y considerar un arreglo llamado potencia que debe ser capaz de almacenar diez números en doble precisión y diez números enteros. Haga que he el programa acepte diez valores introducidos por el usuario en el arreglo corriente y resistencia, al ejecutar el programa debe almacenar en el arreglo potencia el producto de los valores correspondientes al cuadrado del arreglo corriente y del arreglo resistencia potencia[i]=resistencia[i]*pow(corriente[i],2)) y desplegar la salida (resistencia corriente potencia) de los diez valores y total de la potencia que es la sumatoria de esos valores
Pseudocodigo.

template<class T>
T introcorriente(T corriente[10])
{entero i
for(i=1; i asta 10; i++)
{print "Corriente: "i
read corriente[i];}}
template <class T>
T introresistencia(T resistencia[10])
{i entero
for(i=1; i asta 10; i++)
{print "Resistencia: "i
read resistencia[i]}}
template <class T>
T calculopotencia(T corriente[10], T resistencia[10], T potencia[10])
{real suma
i entero
suma=0
for(i=1; i asta 10; i++)
{potencia[i]=resistencia[i]*(pow(corriente[i],2))
suma=suma+potencia[i]
}return suma;}
Inicio
resistencia[10] entero
corriente[10] entero
potencia[10] entero
i entero
introcorriente(corriente)
introresistencia(resistencia)
calculopotencia(corriente, resistencia, potencia)
print "Resistencia Corriente Potencia"
for(i=1; i asta 10; i++)
{cout<<resistencia[i]"  "corriente[i]"  "potencia[i]
cout<<"La suma de las potencias es: "calculopotencia(resistencia, corriente, potencia)


Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <math.h>
template <class T>
T introcorriente(T corriente[10])
{int i;
for(i=1; i<=10; i++)
{cout<<"Corriente: "<<i<<endl;
cin>>corriente[i];}}
template <class T>
T introresistencia(T resistencia[10])
{int i;
for(i=1; i<=10; i++)
{cout<<"Resistencia: "<<i<<endl;
cin>>resistencia[i];}}
template <class T>
T calculopotencia(T corriente[10], T resistencia[10], T potencia[10])
{float suma;
int i;
suma=0;
for(i=1; i<=10; i++)
{potencia[i]=resistencia[i]*(pow(corriente[i],2));
suma=suma+potencia[i];
}return suma;}
void main ()
{int resistencia[10];
int corriente[10];
int potencia[10];
int i;
introcorriente(corriente);
introresistencia(resistencia);
calculopotencia(corriente, resistencia, potencia);
cout<<"Resistencia Corriente Potencia"<<endl;
for(i=1; i<=10; i++)
{cout<<resistencia[i]<<"  "<<corriente[i]<<"  "<<potencia[i]<<endl;}
cout<<"La suma de las potencias es: "<<calculopotencia(resistencia, corriente, potencia)<<endl;
getch();}

Programa.



----------------------------------------------------------------------------------------------------------------

TAREAS UNIDAD # 3

Tarea # 1.

CALCULADORA CREADA POR ( LOPEZ LOPEZ EMMANUEL Y GOMEZ GARCIA JESUS ).


Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <math.h>
float suma(float num1, float num2)
{float suma;
suma=num1+num2;
return suma;}

float resta(float num1, float num2)
{float resta;
resta=num1-num2;
return resta;}

float div(float num1, float num2)
{float div;
div=num1/num2;
return div;}

float mult(float num1, float num2)
{float mult;
mult=num1*num2;
return mult;}

float raiz(float num1)
{float raiz;
raiz=sqrt(num1);
return raiz;}

float potencia(float num1, float num2)
{float potencia;
potencia=pow(num1, num2);
return potencia;}

float logaritmo(float num1)
{float logaritmo;
logaritmo=log(num1);
return logaritmo;}

void main()
{
float num1=0, num2=0, num3=0;
char op;
char n;
cout<<"Indicaciones: r1=raiz cuadrada, b1=borrado general, l1=logaritmo natural."<<endl<<endl;
cout<<"Introdusca operacion: "<<endl;
do
{{
cin>>num1>>op>>num2;
switch(op)
{
case '+': cout<<"R = "<<suma(num1, num2)<<endl;
num3=suma(num1, num2);
break;

case '-': cout<<"R = "<<resta(num1, num2)<<endl;
num3=resta(num1, num2);
break;

case '/': cout<<"R = "<<div(num1, num2)<<endl;
num3=div(num1, num2);
break;

case '*': cout<<"R = "<<mult(num1, num2)<<endl;
num3=mult(num1, num2);
break;

case 'r': cout<<"R = "<<raiz(num1)<<endl;
num3=raiz(num1);
break;

case '^': cout<<"R = "<<potencia(num1, num2)<<endl;
num3=potencia(num1, num2);
break;

case 'l': cout<<"R = "<<logaritmo(num3)<<endl;
num3=logaritmo(num3);
break;

default: cout<<"Operador incorrecto Intente de nuevo ";
}
do
{{
cin>>op>>num1;

switch(op)
{
case '+': cout<<"R = "<<suma(num1, num3)<<endl;
num3=suma(num1, num3);
break;

case '-': cout<<"R = "<<resta(num3, num1)<<endl;
num3=resta(num3, num1);
break;

case '/': cout<<"R = "<<div(num3, num1)<<endl;
num3=div(num3, num1);
break;

case '*': cout<<"R = "<<mult(num1, num3)<<endl;
num3=mult(num1, num3);
break;

case 'r': cout<<"R = "<<raiz(num3)<<endl;
num3=raiz(num3);
break;

case '^': cout<<"R = "<<potencia(num3, num1)<<endl;
num3=potencia(num3, num1);
break;

case 'l': cout<<"R = "<<logaritmo(num3)<<endl;
num3=logaritmo(num3);
break;

case 'b': clrscr();
break;

default: cout<<"Operador incorrecto Intente de nuevo ";
op=n;
}}}
while(op=='+'||op=='-'||op=='*'||op=='/'||op=='^'||op==n||op=='r'||op=='l');
}}
while(op=='b'||op=='+'||op=='-'||op=='*'||op=='/'||op=='^'||op=='r'||op=='l');
getch();
}

Programa.





---------------------------------------------------------------------------------------------------------------


Tarea # 2.

Escriba una funcion que grafique Y= ((x-8)^2)+3.


Pseudocodigo.

Inicio
{entero x
real y
caracter linea[5]
print "Inserte caracter a utilizar: "
read linea
print fin de linea
for(x=1 to 15 step x++)
{y=pow((x-8),2.0)+3
Print "| "
print setw(y), linea, fin de linea}}





Codigo en C++.



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

void main()
{int x;
float y;
char linea[5];
cout<<"Inserte caracter a utilizar: ";
cin>>linea;
cout<<endl;
for(x=1; x<=15; x++)
{y=pow((x-8),2.0)+3;
cout<<"|    ";
cout<<setw(y)<<linea<<endl;}
getch();}


Programa.












---------------------------------------------------------------------------------------------------------------------- 

Tarea # 3.

Un archivo llamado polar contiene las coordenadas polares necesarias en un programa de graficas, actualmente este archivo contiene los sig. Datos:
Distancia                      Angulo
         2                             45
         6                             30
        10                            45
         4                             60
        12                            55
          8                            15

a) Escriba un prog. que hacepte del usuario distancia y angulo y los agrege al final del archivo.
b) Escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt


Codigo en C++.


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

void crear_Archivo()
{fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::out);
archivo<<2.0<<"    "<<45.0<<"    "<<endl;
archivo<<6.0<<"    "<<30.0<<"    "<<endl;
archivo<<10.0<<"    "<<45.0<<"    "<<endl;
archivo<<4.0<<"    "<<60.0<<"    "<<endl;
archivo<<12.0<<"    "<<55.0<<"    "<<endl;
archivo<<8.0<<"    "<<15.0<<"    "<<endl;
archivo.close();}

void agregar_dato()
{int d1, angulo;
char continuar;
fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::app);
do
{
cout<<"Distancia (pulgadas): ";
cin>>d1;
cout<<"Angulo (grados): ";
cin>>angulo;
archivo<<d1<<"    "<<angulo<<endl;
cout<<"Otro dato (S/N): ";
cin>>continuar;}
while(continuar=='s'||continuar=='S');
archivo.close();}


void coordenadas()
{float distancia, angulo, rad, x, y;
fstream f1;
fstream f2;
f1.open("C://datos//polar.txt", ios::binary | ios::in);
f2.open("C://datos//xycord.txt", ios::binary | ios::out);
f1>>distancia;
while(!f1.eof())
{
f1>>angulo;
rad=(angulo*3.1416)/180.0;
x=distancia*cos(rad);
y=distancia*sin(rad);
f2<<x<<"    "<<y<<" "<<endl;
f1>>distancia;}
f1.close();
f2.close();}


void imprimearchivo()
{float x, y;
fstream archivo;
archivo.open("C://datos//xycord.txt", ios::binary | ios::in);
archivo>>x;
while(!archivo.eof())
{
cout<<x<<" ";
archivo>>y;
cout<<y<<endl;
archivo>>x;
}
archivo.close();
}

void main()
{
crear_Archivo();
agregar_dato();
coordenadas();
imprimearchivo();
getch();
}



Programa.


 



------------------------------------------------------------------------------------------------------------------------

viernes, 18 de marzo de 2011

Puntos Extras - EXAMENES

Examen

Una gran empresa de productos quimicos le paga a sus vendedores mediante un esquema de comisiones.
los vendedores reciben 2000.00 semanales mas el 9% de sus ventas totales durante la semana.
por ejemplo, un vendedor que vende 5000 de productos quimicos durante la semana recibe 2000 mas el 19% de 5000
o un total 2450.00. desarrolle un programa que introdusca las ventas totales de cada vendedor
durante una semana y calcule y despliegue los ingresos de ese vendedor.
Procese las cantidades de un vendedor a la vez. Despliegue el total de la nomina. A continuacion se muetra un ejemplo del
dialogo de entrada/salida:

Introduzca las ventas en pesos (-1 para terminar): 5000.00
el salario es 2450.00
introdusca las ventas en pesos (-1 para terminar): 1000.00
el salario es 2090.00
introduzca las ventas en pesos (-1 para terminar): -1
total de nomina: 4540.00.

Pseudocodigo

caracter otro, prod;
total, totaldia=0, c1, c2, c3, c4, c5, c6 reales
cantp, i, num enteros
print "Numero de producto costo"
print "producto 1 costo= 2.98
print "producto 2 costo= 4.50
print "producto 3 costo= 9.98
print "producto 4 costo= 4.55
print "producto 5 costo= 6.89
print "producto 6  costo= 8.56
do
{{{
c1=0;
c2=0;
c3=0;
c4=0;
c5=0;
c6=0;
do
{{
 print "Numero de producto: "
 read num;
  print "Cantidad del producto: "
 read cantp
 switch(num)
  {{
  case 1: c1=c1+(2.98*cantp)
  break;
  case 2: c2=c2+(4.50*cantp);
  break;
  case 3: c3=c3+(9.98*cantp);
  break;
  case 4: c4=c4+(4.55*cantp);
  break;
  case 5: c5=c5+(6.89*cantp);
  break;
  case 6: c6=c6+(8.56*cantp);
  break;
  default: print "Error de producto ";
  }}
 total=c1+c2+c3+c4+c5+c6
 print "Su cuenta acumulada es: "total
 print "Otro producto s/n ";
 read prod
}}
while(prod=='s' || prod=='S');
 totaldia=totaldia+tota;
 print " ¿Otro cliente? s/n ";
 read otro
}}}
while(otro=='s' || otro=='S');
print "Ventas del Dia: "totaldia
Fin.


Codigo C++.

#include<iostream.h>
#include<conio.h>
void main()
{
char otro, prod;
float total, totaldia=0, c1, c2, c3, c4, c5, c6;
int cantp, i, num;
cout<<"Numero de producto costo"<<endl<<endl;
cout<<"producto 1 costo= 2.98"<<endl;
cout<<"producto 2 costo= 4.50"<<endl;
cout<<"producto 3 costo= 9.98"<<endl;
cout<<"producto 4 costo= 4.55"<<endl;
cout<<"producto 5 costo= 6.89"<<endl;
cout<<"producto 6  costo= 8.56"<<endl<<endl;
do
{{{
c1=0;
c2=0;
c3=0;
c4=0;
c5=0;
c6=0;
do
{{
 cout<<"Numero de producto: ";
 cin>>num;
 cout<<endl;
 cout<<"Cantidad del producto: ";
 cin>>cantp;
 cout<<endl;
 switch(num)
  {{
  case 1: c1=c1+(2.98*cantp);
  break;
  case 2: c2=c2+(4.50*cantp);
  break;
  case 3: c3=c3+(9.98*cantp);
  break;
  case 4: c4=c4+(4.55*cantp);
  break;
  case 5: c5=c5+(6.89*cantp);
  break;
  case 6: c6=c6+(8.56*cantp);
  break;
  default: cout<<"Error de producto ";
  }}
 total=c1+c2+c3+c4+c5+c6;
 cout<<"Su cuenta acumulada es: "<<total<<endl;
 cout<<"Otro producto s/n ";
 cin>>prod;
 cout<<endl;
}}
while(prod=='s' || prod=='S');
 totaldia=totaldia+total;
 cout<<endl;
 cout<<"¿Otro cliente? s/n ";
 cin>>otro;
}}}
while(otro=='s' || otro=='S');
cout<<endl;
cout<<"Ventas del Dia: "<<totaldia<<endl;
getch();
}

Programa.





------------------------------------------------------------------------------------------------------------

Examen 2


Una gran empresa de productos quimicos le paga a sus vendedores mediante un esquema de comisiones.
los vendedores reciben 2000.00 semanales mas el 9% de sus ventas totales durante la semana.
por ejemplo, un vendedor que vende 5000 de productos quimicos durante la semana recibe 2000 mas el 19% de 5000
o un total 2450.00. desarrolle un programa que introdusca las ventas totales de cada vendedor
durante una semana y calcule y despliegue los ingresos de ese vendedor.
Procese las cantidades de un vendedor a la vez. Despliegue el total de la nomina. A continuacion se muetra un ejemplo del
dialogo de entrada/salida:

Introduzca las ventas en pesos (-1 para terminar): 5000.00
el salario es 2450.00
introdusca las ventas en pesos (-1 para terminar): 1000.00
el salario es 2090.00
introduzca las ventas en pesos (-1 para terminar): -1
total de nomina: 4540.00

Pseudocodigo.


 sueldo, salario, ventas reales
do
{
sueldo=2000
ventas=0
salario=0
print "Introduzca las ventas totales (-1 para terminar): "
read ventas
if(ventas!=-1)
{
salario=sueldo+(ventas*0.09)
cout<<"El salario es: "salario
}}
while(ventas!=-1);
Fin


Codigo C++.


#include<iostream.h>
#include<conio.h>
void main()
{
float sueldo, salario, ventas;
do
{
sueldo=2000;
ventas=0;
salario=0;
cout<<"Introduzca las ventas totales (-1 para terminar): ";
cin>>ventas;
if(ventas!=-1)
 {
 salario=sueldo+(ventas*0.09);
 cout<<"El salario es: "<<salario<<endl;
 }}
 while(ventas!=-1);
 getch();
 }

Programa.




-------------------------------------------------------------------------------------------------------------

Examen # 3.


Escriba un programa que genere 100 numeros de forma aleatoria. E imprima la cantidad de numeros pares y la cantidad de numeros impares. Tambien despliegue el dato mayor y menor.

Pseudocodigo.

i, numero, c1=0, c2=0, z, x entero
randomize();
z=0
x=2000
for(i=1; i<=100; i++)
{
 numero=random(2000)+1
 if(numero%2==0)
 {
 c1=c1+1
 }
 else
 {
 c2=c2+1
 }
if(numero>=z)
{
 z=numero
}
 if(numero<=x)
{
 x=numero
}}
print "PARES "
print "Cantidad de numeros pares: "c1
print "IMPARES "
print "Cantidad de numeros impares: "c2
print "Numero mayor: " z
print "Numero Menor: "x
Fin

Codigo en C++

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int i, numero, c1=0, c2=0, z, x;
randomize();
z=0;
x=2000;
for(i=1; i<=100; i++)
{
 numero=random(2000)+1;
 if(numero%2==0)
 {
 c1=c1+1;
 }
 else
 {
 c2=c2+1;
 }
if(numero>=z)
{
 z=numero;
}
 if(numero<=x)
{
 x=numero;
}}
cout<<"PARES "<<endl<<endl;
cout<<"Cantidad de numeros pares: "<<c1<<endl<<endl;
cout<<"IMPARES "<<endl<<endl;
cout<<"Cantidad de numeros impares: "<<c2<<endl;
cout<<"Numero mayor: "<<z<<endl;
cout<<"Numero Menor: "<<x<<endl;
 getch();
 }

Programa.






-----------------------------------------------------------------------------------------------------------

PRACTICA # 7

Problema 1
Cierta compañía de seguros ha reunido datos concernientes a todos los accidentes de transito ocurridos en el ultimo año. Para cada conductor involucrado en un accidente se debe contener las siguientes datos: año de nacimiento, sexo(M, F), código de registro. Diseñe un programa para leer un conjunto de datos e imprimir los siguientes valores de los conductores que ha estado en accidentes
A)porcentaje de conductores de menores de 25 años
b)porcentaje de conductores femeninos
c)porcentaje de cionductores masculinos de entre 18 y 25 años

Pseudocodigo.

a1, codigo, contador=0, anio, condm25=0, conductoresf=0, conductoresm=0 entero
c25, cm, cf real
char sexo, otro
do
{{{
print "Año de nacimiento del conductor: "
read a1
contador=contador+1
 do
 {{
 print "Sexo del conductor, F(femenino) o M(masculino): "
 read sexo
 if(sexo=='M'||sexo=='m'||sexo=='F'||sexo=='f')
    {
 print "Codigo de registro: "
 read codigo
    }
 }}
 while(sexo!='m' && sexo!='M' && sexo!='f' && sexo!='F')
 anio=2011-a1
 if(anio<25)
    {
    condm25=condm25+1
    }
    if(sexo=='m' || sexo=='M')
    {{
      if(anio>=18 && anio<=25)
      {
      conductoresm=conductoresm+1
      }
    }}
      else
    {{
      conductoresf=conductoresf+1
    }}
    print "Registrar otro? s/n: "
    read otro
   }}}
   while(otro=='s' || otro=='S')
   c25=(condm25*100)/(contador)
   cm=(conductoresm*100)/(contador)
   cf=(conductoresf*100)/(contador)
   print "Porcentaje de conductores <25 años: " c25
   print "Porcentaje de conductores Femeninos: "cf
   print "Porcentaje de conductores masculinos entre 18 y 25 años: "cm
 Fin


Codigo en C++.

#include<iostream.h>
#include<conio.h>
void main()
{
int a1, codigo, contador=0, anio, condm25=0, conductoresf=0, conductoresm=0;
float c25, cm, cf;
char sexo, otro;
do
{{{
cout<<"Año de nacimiento del conductor: ";
cin>>a1;
contador=contador+1;
 do
 {{
 cout<<"Sexo del conductor, F(femenino) o M(masculino): ";
 cin>>sexo;
 if(sexo=='M'||sexo=='m'||sexo=='F'||sexo=='f')
    {
 cout<<"Codigo de registro: ";
 cin>>codigo;
    }
 }}
 while(sexo!='m' && sexo!='M' && sexo!='f' && sexo!='F');
 anio=2011-a1;
 if(anio<25)
    {
    condm25=condm25+1;
    }
    if(sexo=='m' || sexo=='M')
    {{
      if(anio>=18 && anio<=25)
      {
      conductoresm=conductoresm+1;
      }
    }}
      else
    {{
      conductoresf=conductoresf+1;
    }}
    cout<<"Registrar otro? s/n: ";
    cin>>otro;
   }}}
   while(otro=='s' || otro=='S');
   c25=(condm25*100)/(contador);
   cm=(conductoresm*100)/(contador);
   cf=(conductoresf*100)/(contador);
   cout<<"Porcentaje de conductores <25 años: "<<c25<<endl;
   cout<<"Porcentaje de conductores Femeninos: "<<cf<<endl;
   cout<<"Porcentaje de conductores masculinos entre 18 y 25 años: "<<cm<<endl;
   getch();
}


Programa.




----------------------------------------------------------------------------------------------------------

Problema # 2


De la función f(x)=x2-y2/x2+y2 tabular los valores para x=2 4 6 8 y y=6 9 12 15 18 21

b) diseñe un programa que calcule el número de puntos con coordenadas de valores enteros que están contenidos en la siguiente elipse:

x2/16 +y2/25 en el intervalo de coordenadas que está limitado por el eje mayor y menor de la elipse -4<x>4 -5<y>5


Pseudocodigo.


x, y, x2, y2 enteros
f, y1, x1 reales
print "X Y"
for(x=2; x<=8; x=x+2)
 {
 for(y=6; y<=21; y=y+3)
  {
  f=(pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2));
  print x " "f
  }}
print "Coordenadas enteras en X y Y del elipse "
print "X  Y "
print "0  -5"
for(y=-4; y<=4; y++)
 {
 x1=sqrt(16-(0.64)*pow(y,2))
 x2=x1*10
 if(x2%10==0)
 {
 print x1"  "y
 }}
 print "0  5"
 print "-4  0"
 for(x=-3; x<=4; x=x+1)
 {
 y1=sqrt(25-(1.5625)*pow(x,2))
 y2=y1*10
 if(y2%10==0)
 {
 print x"  "y1
 }}
 Fin

Codigo en C++.


#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
int x, y, x2, y2;
float f, y1, x1;
cout<<"X Y"<<endl<<endl;
for(x=2; x<=8; x=x+2)
 {
 for(y=6; y<=21; y=y+3)
  {
  f=(pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2));
  cout<<x<<" "<<f<<endl;
  }}
cout<<endl;
cout<<"Coordenadas enteras en X y Y del elipse "<<endl<<endl;
cout<<"X  Y "<<endl<<endl;
cout<<"0  -5"<<endl;
for(y=-4; y<=4; y++)
 {
 x1=sqrt(16-(0.64)*pow(y,2));
 x2=x1*10;
 if(x2%10==0)
 {
 cout<<x1<<"  "<<y<<endl;
 }}
 cout<<"0  5"<<endl;
 cout<<endl;
 cout<<"-4  0"<<endl;
 for(x=-3; x<=4; x=x+1)
 {
 y1=sqrt(25-(1.5625)*pow(x,2));
 y2=y1*10;
 if(y2%10==0)
 {
 cout<<x<<"  "<<y1<<endl;
 }}
 getch();
}


Programa.






------------------------------------------------------------------------------------------------------------

Problema # 3


Una compañía utiliza aviones para fumigar las cosechas contra una gran variedad de plagas. La cantidad que la compañía carga a los granjeros depende de que es lo que desea fumigar y de cuantos acres desea que se fumigue, de acuerdo a la siguiente distribución

tipo1, Fumigación contra malas hiervas 1usdxacre

tipo2, Contra langostas 2usdxacre

Tipo 3, Contra gusanos 3usdxacre

Tipo 4, Contra todo lo anterior 5usdxacre

Si el área a fumigar es mayor a 1000 acres, el granjero goza de un 5% de descuento. Además cualquier granjero que haya sobrepasado los 1500usd se hace acreedor a un 10% de descuento sobre la cantidad que excede los 1500. Si se aplican ambos descuentos, el correspondiente a la suma se considera primero.

Diseñe un programa que lea un conjunto de datos que contengan la siguiente información: nombre del granjero, tipo de fumigación solicitada y el número de acres a fumigar. Debe calcularse el costo del trabajo e imprimir el nombre del granjero seguido de su cuenta


Pseudocodigo.

caracter nombre[10]
caracter otro
tipo entero
num, descuento1, descuento2, costo real
do
{{
descuento1=0
descuento2=0
print "Nombre del granjero: "
read nombre
do
 {{
print "Tipos de fumigacion: "
print "1) Fumigacion contra malas hierbas, costo 1 doll por acre"
print "2) Fumigacion contra langostas, costo 2 doll por acre"
print "3) Fumigacion contra los gusanos, costo 3 doll por acre"
print "4) Fumigacion contra todo lo anterior, costo 5 doll por acre"
print "Seleccione Tipo: "
read tipo
print "Numero de acres: "
read num
switch(tipo)
  {
  case 1: costo=num*1;
  break;
  case 2: costo=num*2;
  break;
  case 3: costo=num*3;
  break;
  case 4: costo=num*5;
  break;
  default:  print "Tipo de fumigacion incorrecta intente de nuevo."
  }
 }}
while(tipo<1 || tipo>4);
 if(num>100)
 {
 descuento1=(costo*0.05);
 }
 if(costo>1500)
 {
 descuento2=(costo-1500)*0.10;
 }
 print "Nombre del granjero: "nombre
 print "Descuento 1: "descuento1
 print "Descuento 2: "descuento2
 costo=costo-descuento1-descuento2;
 print "Total: "costo
 print "Otro? s/n ";
 read otro
 }}
 while(otro=='s'||otro=='S');
 print "Gracias por su preferencia vuelva pronto "
Fin.


Codigo en C++.


#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
char nombre[10];
char otro;
int tipo;
float num, descuento1, descuento2, costo;
do
{{
descuento1=0;
descuento2=0;
cout<<"Nombre del granjero: ";
cin>>nombre;
do
 {{
cout<<"Tipos de fumigacion: "<<endl;
cout<<"1) Fumigacion contra malas hierbas, costo 1 doll por acre"<<endl;
cout<<"2) Fumigacion contra langostas, costo 2 doll por acre"<<endl;
cout<<"3) Fumigacion contra los gusanos, costo 3 doll por acre"<<endl;
cout<<"4) Fumigacion contra todo lo anterior, costo 5 doll por acre"<<endl;
cout<<"Seleccione Tipo: ";
cin>>tipo;
cout<<"Numero de acres: ";
cin>>num;
switch(tipo)
  {
  case 1: costo=num*1;
  break;
  case 2: costo=num*2;
  break;
  case 3: costo=num*3;
  break;
  case 4: costo=num*5;
  break;
  default:cout<<"Tipo de fumigacion incorrecta intente de nuevo."<<endl<<endl;
  }
 }}
while(tipo<1 || tipo>4);
 if(num>100)
 {
 descuento1=(costo*0.05);
 }
 if(costo>1500)
 {
 descuento2=(costo-1500)*0.10;
 }
 cout<<"Nombre del granjero: "<<nombre<<endl;
 cout<<"Descuento 1: "<<descuento1<<endl;
 cout<<"Descuento 2: "<<descuento2<<endl;
 costo=costo-descuento1-descuento2;
 cout<<"Total: "<<costo<<endl;
 cout<<"Otro? s/n ";
 cin>>otro;
 }}
 while(otro=='s'||otro=='S');
 cout<<"Gracias por su preferencia vuelva pronto ";
 getch();
 }

Programa.





----------------------------------------------------------------------------------------------------------

Problema # 4.


Los reglamentos de pesca de cierta ciudad imponen un límite diario de pesca a la cantidad total. Supóngase que se desea llevar una computadora a la siguiente salida de pesca y se nascería un programa que indique cuando se ha excedido el límite. Diseñe un programa que lea el límite en kg y enseguida lea los valores de la pesca uno tras otro (corresponderán a los peces individuales) e imprimía un mensaje en el momento que se ha excedido el limite un peso de 0 significa el fin de los datos y después de que cada pescado hay sido registrado deberá mostrar el peso total.


Pseudocodigo.

limite entero
total_pesca, peso reales
print "Limite de peso al dia: "
read limite
total_pesca=0
while(total_pesca<limite && peso!=0)
 {
 print "Peso presa: "
 read peso
 total_pesca=total_pesca+peso
 if(total_pesca>=limite)
  {
  print "Exedio limite "
  }
  print "Total de la pesca: "total_pesca
 Fin.


Codigo en C++.

#include<iostream.h>
#include<conio.h>
void main()
{
int limite;
float total_pesca, peso;
cout<<"Limite de peso al dia: ";
cin>>limite;
total_pesca=0;
while(total_pesca<limite && peso!=0)
 {
 cout<<"Peso presa: ";
 cin>>peso;
 total_pesca=total_pesca+peso;
 if(total_pesca>=limite)
  {
  cout<<"Exedio limite ";
  }
  cout<<"Total de la pesca: "<<total_pesca<<endl;
 }
 getch();
 }


Programa.






-----------------------------------------------------------------------------------------------------------


Problema # 5.

Se utiliza una computadora para preparar el estado de cuenta de sus clientes. Para cada cliente se dispone un grupo de datos que contiene la siguiente información correspondiente a los depósitos y retiros que corresponden al mes en curso. Los datos son el nombre del cliente. E l tipo de operación y la cantidad respectiva.los reitrosse anotaran con cantidades negativas. Un ejemplo típico de entrada es el siguiente
Nombre cliente dirección saldo del mes anterior
Diseñe un programa para producir el estado e cuenta de cada cliente: b)considere un descuento de 25 por retiro y el interes de 1% si el total excede 1000

Pseudocodigo.

 opcion entero
 saldo, total, total_dep, total_ret, dep, ret reales
caracter nombre[10]
caracter dir[10], op
do
 {
 total=0
 total_dep=0
 total_ret=0
 print "Nombre del cliente: "
 read nombre
 print "Direccion: "
 read dir
 print "Saldo mes anterior: "
 read saldo
 do
 {
 print "Tipo de operacion "
 print "1) Deposito"
 print "2) Retiro"
 print "Tipo: "
 read opcion
 switch(opcion)
   {
  case 1: print "Deposito: ";
  read dep
  print "Deposito: "dep
  total_dep=total_dep+dep
  break;
  case 2: print "Retiro: "
  cin>>ret;
  print ""Retiro: -"ret
  total_ret=total_ret+ret;
  break;
  default: print "Error en opcion"
   }
  print "Otra operacion? s/n: "
  read op
 }
 while(op=='s'||op=='S');
 print "Banco Accion en efectivo"
 print "Direccion Canada"
 print "Nombre del cliente: "nombre
 print "Tipo 1 Deposito: "total_dep
 print "Tipo 2 Retiro: -"total_ret
 total=total_dep-total_ret+saldo;
 print "Saldo mes anterior: "saldo
 print "Total: "total
 print "Otro Cliente? s/n "
 read op
}
 while(op=='s'||op=='S');
 
Codigo en C++.


#include<iostream.h>
#include<conio.h>
void main()
{
int opcion;
float saldo, total, total_dep, total_ret, dep, ret;
char nombre[10];
char dir[10], op;
do
 {
 total=0;
 total_dep=0;
 total_ret=0;
 cout<<"Nombre del cliente: ";
 cin>>nombre;
 cout<<endl;
 cout<<"Direccion: ";
 cin>>dir;
 cout<<endl;
 cout<<"Saldo mes anterior: ";
 cin>>saldo;
 cout<<endl;
 do
 {
 cout<<"Tipo de operacion "<<endl;
 cout<<"1) Deposito"<<endl;
 cout<<"2) Retiro"<<endl;
 cout<<"Tipo: ";
 cin>>opcion;
 switch(opcion)
   {
  case 1: cout<<"Deposito: ";
  cin>>dep;
  cout<<"Deposito: "<<dep<<endl;
  total_dep=total_dep+dep;
  break;
  case 2: cout<<"Retiro: ";
  cin>>ret;
  cout<<"Retiro: -"<<ret<<endl;
  total_ret=total_ret+ret;
  break;
  default:cout<<"Error en opcion";
   }
  cout<<"Otra operacion? s/n: ";
  cin>>op;
 }
 while(op=='s'||op=='S');
 cout<<"Banco Accion en efectivo"<<endl;
 cout<<"Direccion Canada"<<endl;
 cout<<"Nombre del cliente: "<<nombre<<endl;
 cout<<"Tipo 1 Deposito: "<<total_dep<<endl;
 cout<<"Tipo 2 Retiro: -"<<total_ret<<endl;
 total=total_dep-total_ret+saldo;
 cout<<"Saldo mes anterior: "<<saldo<<endl;
 cout<<"Total: "<<total<<endl;
 cout<<"Otro Cliente? s/n ";
 cin>>op;
}
 while(op=='s'||op=='S');
 
 getch();
 }

inciso B.


#include<iostream.h>
#include<conio.h>
void main()
{
int opcion;
float saldo, total, total_dep, total_ret, dep, ret;
char nombre[10];
char dir[10], op;
do
 {
 total=0;
 total_dep=0;
 total_ret=0;
 cout<<"Nombre del cliente: ";
 cin>>nombre;
 cout<<endl;
 cout<<"Direccion: ";
 cin>>dir;
 cout<<endl;
 cout<<"Saldo mes anterior: ";
 cin>>saldo;
 cout<<endl;
 do
 {
 cout<<"Tipo de operacion "<<endl;
 cout<<"1) Deposito"<<endl;
 cout<<"2) Retiro"<<endl;
 cout<<"Tipo: ";
 cin>>opcion;
 switch(opcion)
   {
  case 1: cout<<"Deposito: ";
  cin>>dep;
  cout<<"Deposito: "<<dep<<endl;
  total_dep=total_dep+dep;
  break;
  case 2: cout<<"Retiro: ";
  cin>>ret-25;
  cout<<"Retiro: -"<<ret<<endl;
  total_ret=total_ret+ret;
  break;
  default:cout<<"Error en opcion";
   }
  cout<<"Otra operacion? s/n: ";
  cin>>op;
 }
 while(op=='s'||op=='S');
 cout<<"Banco Accion en efectivo"<<endl;
 cout<<"Direccion Canada"<<endl;
 cout<<"Nombre del cliente: "<<nombre<<endl;
 cout<<"Tipo 1 Deposito: "<<total_dep<<endl;
 cout<<"Tipo 2 Retiro: -"<<total_ret<<endl;
 total=total_dep-total_ret+saldo;
 cout<<"Saldo mes anterior: "<<saldo<<endl;
 cout<<"Total: "<<total<<endl;
 cout<<"Otro Cliente? s/n ";
 cin>>op;
}
 while(op=='s'||op=='S');
 
 getch();
 }


Programa.




----------------------------------------------------------------------------------------------------------

Problema # 6.

ESCRIBA UN PROGRAM QUE CALCULE Y DESPLIEGUE LOS VALORES PARA Y CUANDO Y=X*Z/X-Z. el programa deberá calcular y para los valores de x en el rango de 1 a 5 y los de z entre 2 y 6 .la variable x debe controlar el ciclo y los incrementos para ambos son de 1. Asimismo el programa debe mostrar el mensaje función indefinida cuando z y x sean iguales.

Pseudocodigo.

 y real
x, z entero
print "X Y Z"
for(x=1; x<=5; x++)
 {
 for(z=2; z<=6; z++)
  {
  if(z!=x)
   {
   y=(x*z)/(x-z)
   print x" "z" "y
   }
   else
   {
   print "   Y indefinida"
   }
 } }
Fin.

Codigo C++


#include<iostream.h>
#include<conio.h>
void main()
{
float y;
int x, z;
cout<<"X Y Z"<<endl<<endl;
for(x=1; x<=5; x++)
 {
 for(z=2; z<=6; z++)
  {
  if(z!=x)
   {
   y=(x*z)/(x-z);
   cout<<x<<" "<<z<<" "<<y<<endl;
   }
   else
   {
   cout<<"   Y indefinida"<<endl<<endl;
   }
 } }
 getch();
 }



Programa.










-------------------------------------------------------------------------------------------------------------

Problema # 7.

Las coordenadas x y y como función del tiempo de un proyectil disparado a una velocidad y un ángulo Φ con respecto a la tierra están dados por x=vtcosΦ yy=vtsinΦ utilizando esta información escriba un programa que despliegue una tabla de valores de xy para un proyectil disparado de 500ps a un ángulo de 22.8(recuerde hacer la conversión en radianes )
La tabla deberá contener valores que correspondan a un intervalo de 0 a 19 segundos en incrementos de medio segundo

Pseudocodigo.

x, t, y real
print "Tiempo en segundos   Coordenadas. "
for(t=0; t<=10; t=t+0.5)
 {
 x=500*t*(cos(0.397936))   //Radianes
 y=500*t*sin((22.8*3.1416)/180)
 print t"   " "("x", "y" "")"
 }
Fin


Codigo C++


#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float x, t, y;
cout<<"Tiempo en segundos   Coordenadas. "<<endl<<endl;
for(t=0; t<=10; t=t+0.5)
 {
 x=500*t*(cos(0.397936));   //Radianes
 y=500*t*sin((22.8*3.1416)/180);
 cout<<t<<"   "<<"("<<x<<", "<<y<<" "<<")"<<endl;
 }
 getch();
}


Programa.






------------------------------------------------------------------------------------------------------------

Problema # 8.


Los lenguajes de ensamble, para algunos microprocesadores no tienen operaciones de multiplicación. Aunque en estos casos existen algoritmos sofisticados para efectuar las multiplicaciones , un método sencillo consiste en multiplicar mediante una suma repetitiva , en este caso , la eficiencia del algoritmo se puede incrementas en gasa anidadas, por ejemplo para multiplicar un numero por 12, primero se suma el numero 3 veces y entonces suma el resultado cuatro veces . escriba un programa que multiplique 33,47 y 83 * 1001 utiliznado un ciclo de tres gasas y luego despliegue el resultado

Pseudocodigo.

n1, n2, n3, r1=0, r2=0, r3=0, rr1=0, rr2=0, rr3=0, rrr1=0, rrr2=0, rrr3=0 entero
print "Resultados: "
print "(33)(1001) (47)(1001) (83)(1001)"
for(n1=1; n1<=7; n1++)
 {
 r1=r1+33;
 r2=r2+47;
 r3=r3+83;
 }
 for(n2=1; n2<=11; n2++)
 {
 rr1=rr1+r1;
 rr2=rr2+r2;
 rr3=rr3+r3;
 }
 for(n3=1; n3<=13; n3++)
 {
 rrr1=rrr1+rr1;
 rrr2=rrr2+rr2;
 rrr3=rrr3+rr3;
 }
print rrr1"  "rrr2"  "rrr3


Codigo C++.


#include<iostream.h>
#include<conio.h>
void main()
{
int n1, n2, n3, r1=0, r2=0, r3=0, rr1=0, rr2=0, rr3=0, rrr1=0, rrr2=0, rrr3=0;
cout<<"Resultados: "<<endl;
cout<<"(33)(1001) (47)(1001) (83)(1001)"<<endl<<endl;
for(n1=1; n1<=7; n1++)
 {
 r1=r1+33;
 r2=r2+47;
 r3=r3+83;
 }
 for(n2=1; n2<=11; n2++)
 {
 rr1=rr1+r1;
 rr2=rr2+r2;
 rr3=rr3+r3;
 }
 for(n3=1; n3<=13; n3++)
 {
 rrr1=rrr1+rr1;
 rrr2=rrr2+rr2;
 rrr3=rrr3+rr3;
 }
cout<<rrr1<<"  "<<rrr2<<"  "<<rrr3<<endl;
getch();
}


Programa.




-------------------------------------------------------------------------------------------------------------

viernes, 11 de marzo de 2011

PRACTICA # 6

Por Jesus Gomez Garcia Salon 602, ingenieria en electronica.

Problema # 1:

Un vendedor ha hecho una serie de ventas y desea conocer aquellas de 200 o menos, las mayores de 200 pero menores a 400 y el numero de ventas de 400 o más. Haga un programa que le proporcione al vendedor esta información después de haber leído los datos de entrada. N es una variable entera que representa el numero de ventas del vendedor, Vi es una variable real que indica la vena de i del vendedor.

Pseudocodigo.

entero  n,c1=0,c2=0,c3=0,i
real vi
print "Introduzca n: "
read n;
for(i=1; i<=n; i++)
{
print "introduzca venta: "
read vi
if(vi<=200)
 {
  c1=c1+1;
  }
else
  if(vi>200&&vi<400)
  {
  c2=c2+1;
   }
else
   {
   c3=c3+1;
    }}
   print "Numero de ventas <=200: "c1
   print "Numero de ventas >200 y <400: "c2
   print "Numero de ventas >=400: "c3
   }
fin


Codigo en C++.

#include<iostream.h>
#include<conio.h>
void main()
{
int n,c1=0,c2=0,c3=0,i;
float vi;
cout<<"Introduzca n: ";
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"introduzca venta: ";
cin>>vi;
if(vi<=200)
 {
  c1=c1+1;
  }
else
  if(vi>200&&vi<400)
  {
  c2=c2+1;
   }
else
   {
   c3=c3+1;
    }}
   cout<<"Numero de ventas <=200: "<<c1<<endl;
   cout<<"Numero de ventas >200 y <400: "<<c2<<endl;
   cout<<"Numero de ventas >=400: "<<c3<<endl;
   getch();
   }

Programa.




------------------------------------------------------------------------------------------------------


Problema # 2.


Suponga que se realizaron 4 experimentos cada uno de en los cuales tienen 6 resultados. Los resultados de cada experimento se muestran abajo escriba 1 programa para calcular y desplegar el promedio de los resultados para cada experimento.
Pseudocodigo.

entero i
real suma=0, r=1, result
for(i=1; i<=4; i++)
{
print "Experimento: "i
suma=0
 for(r=1; r<=6; r++)
 {
 print "Resultado: "
 read result
 suma=suma+result
 }
 print "promedio del experimento: "(suma/6)
} }
fin

Codigo en C++.

#include<iostream.h>
#include<conio.h>
void main()
{
int i;
float suma=0, r=1, result;
for(i=1; i<=4; i++)
{
cout<<"Experimento: "<<i<<endl;
suma=0;
 for(r=1; r<=6; r++)
 {
 cout<<"Resultado: ";
 cin>>result;
 suma=suma+result;
 }
 cout<<"promedio del experimento: "<<(suma/6)<<endl;
}
 getch();
 }

Programa.






-------------------------------------------------------------------------------------------------------

Programa # 3


Escriba un programa que invierta los dígitos de un numero positivo entero, por ejemplo si se introduce el 8735 debe mostrar el 5378.

Pseudocodigo.

entero n
print "numero: "
read n
do
{
print (n%10)
n=n/10
}
while(n>0)
fin

Codigo en C++.

#include<iostream.h>
#include<conio.h>
void main()
{
int n;
cout<<"numero: ";
cin>>n;
do
{
cout<<(n%10);
n=n/10;
}
while(n>0);
getch();
}

Programa.


-----------------------------------------------------------------------------------------------------------

Progama # 4


Produzca una tabla de valores de y para los siguientes:
a) y=3x^5 - 2x^3 +x
para x entre 5 y 10 en incrementos de 0.2.

b) y= 1 + x^2/ 2 + x^3/ 6 + x^4 /24
para x entre 1 y 3 en incrementos de 0.1.

c)y= 2 e ^0.8t
para t entre 4 y 10 en incrementos de 0.2.

Pseudocodigo.

real y ,x, t, e=2.718281828
for(x=5.0 ;x<=10.0; x=x+0.2)
{
y=3.0*pow(x,5)-(2.0*(pow(x,3)))+x
print x    y
}
  for(x=1.0; x<=3.0; x=x+0.1)
  {
  y=1+x+(pow(x,2)/2)+(pow(x,3)/6)+(pow(x,4)/24)
  print x      y
  }
   for(t=4.0; t<=10.0; t=t+0.2)
    {
    y=2*(pow(e,0.8*t))
    print t      y
    }
fin

Codigo en C++.

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float y ,x, t, e=2.718281828;
for(x=5.0 ;x<=10.0; x=x+0.2)
{
y=3.0*pow(x,5)-(2.0*(pow(x,3)))+x;
cout<<x<<"  "<<y<<endl;
}
  cout<<endl<<endl;
  for(x=1.0; x<=3.0; x=x+0.1)
  {
  y=1+x+(pow(x,2)/2)+(pow(x,3)/6)+(pow(x,4)/24);
  cout<<x<<"  "<<y<<endl;
  }
   cout<<endl<<endl;
   for(t=4.0; t<=10.0; t=t+0.2)
    {
    y=2*(pow(e,0.8*t));
    cout<<t<<"  "<<y<<endl;
    }
getch();
}

Programa.








---------------------------------------------------------------------------------------------------------

Problema # 5



Supóngase que en una reciente elección hubo 4 candidatos (uno, dos, tres cuatro) Usted habrá de encontrar, mediante un programa, el número de votos correspondientes a cada candidato y el porcentaje que obtuvo con respecto al total de los votantes. El usuario tecleara los votos de manera desorganizada, tal como se obtuvieron en la elección, el final de datos está representado por un cero. Observe como por ejemplo la siguiente lista: 1, 2, 1, 4 ,2, 2, 1, 4, 1 ,1, 1, 2, 1, 3, 1, 4, 0
donde uno es un voto para el candidato uno, 2 un voto para el 2 y así sucesivamente

pseudocodigo.

real suma, cand1, cand2, cand3, cand4
entero c1=0, c2=0, c3=0, c4=0, voto=1
while(voto!=0)
  {
  print "Introduzca el voto: "
   read voto
  switch(voto)
   {
  case 1: c1=c1+1
  break;
  case 2: c2=c2+1
  break;
  case 3: c3=c3+1;
  break;
  case 4: c4=c4+1;
  break;
  default
  }
  }
   {
   suma=c1+c2+c3+c4
   cand1=(c1/suma)*100
   cand2=(c2/suma)*100
   cand3=(c3/suma)*100
   cand4=(c4/suma)*100
   }
   print "Numero de votos candidato 1: "c1
   print "Porcentaje del candidato1: "cand1
   print "Numero de votos candidato 2: "c2
   print "Porcentaje del candidato2: "cand2
   print "Numero de votos candidato 3: "c3
   print "Porcentaje del candidato3: "cand3
   print "Numero de votos candidato 4: "c4;
   print "Porcentaje del candidato4: "cand4
   fin

Codigo en C++

#include<iostream.h>
#include<conio.h>
void main()
{
float suma, cand1, cand2, cand3, cand4;
int c1=0, c2=0, c3=0, c4=0, voto=1;
while(voto!=0)
  {
  cout<<"Introduzca el voto: ";
   cin>>voto;
  switch(voto)
   {
  case 1: c1=c1+1;
  break;
  case 2: c2=c2+1;
  break;
  case 3: c3=c3+1;
  break;
  case 4: c4=c4+1;
  break;
  default:cout<<"  "<<endl;
  }
  }
   {
   suma=c1+c2+c3+c4;
   cand1=(c1/suma)*100;
   cand2=(c2/suma)*100;
   cand3=(c3/suma)*100;
   cand4=(c4/suma)*100;
   }
   cout<<"Numero de votos candidato 1: "<<c1<<endl;
   cout<<"Porcentaje del candidato1: "<<cand1<<endl;
   cout<<endl;
   cout<<"Numero de votos candidato 2: "<<c2<<endl;
   cout<<"Porcentaje del candidato2: "<<cand2<<endl;
   cout<<endl;
   cout<<"Numero de votos candidato 3: "<<c3<<endl;
   cout<<"Porcentaje del candidato3: "<<cand3<<endl;
   cout<<endl;
   cout<<"Numero de votos candidato 4: "<<c4<<endl;
   cout<<"Porcentaje del candidato4: "<<cand4<<endl;
   getch();
   }

programa.




-----------------------------------------------------------------------------------------------------

Problema # 6



Es un estadio se tienen 5 tipos diferentes de localidades, las cuales se identifican por una clave de números (1-5). Los precios de cada localidad y los datos referentes a las ventas de boletos para el próximo juego se proporcionan como siguen. Construya un programa que a) lea los precios b) lea los datos de las ventas de boletos c) el importe total de los boletos vendidos en esta venta d) calcula e imprime la cantidad de boletos vendidos de cada tipo e) calcule e imprima la recaudación total del estadio.


Pseudocodigo.

entero s1=0, s2=0, s3=0, s4=0, s5=0, cant, clave
real p1, p2, p3, p4, p5, t1=0, t2=0, t3=0, t4=0, t5=0
real total_rec=0
print "Precio seccion 1: "
read p1
print "Precio seccion 2: "
read p2
print "Precio seccion 3: "
read p3
print "Precio seccion 4: "
read p4;
print "Precio seccion 5: "
cin>>p5;
print "clave de seccion: "
read clave
while(clave!=0)
{
print "Cantidad de boletos: ";
read cant
switch(clave)
 {
 case 1: t1=t1+p1*cant
 s1=s1+cant
 print "Seccion 1, cantidad: "cant" Importe: "(p1*cant)
 break;
 case 2: t2=t2+p2*cant;
 s2=s2+cant;
 print "Seccion 2, cantidad: "cant" Importe: "(p2*cant)
 break;
 case 3: t3=t3+p3*cant
 s3=s3+cant
 print "Seccion 3, cantidad: "cant" Importe: "(p3*cant)
 break;
 case 4: t4=t4+p4*cant
 s4=s4+cant
 print "Seccion 4, cantidad: "cant" Importe: "(p4*cant)
 break;
 case 5: t5=t5+p5*cant
 s5=s5+cant
 print "Seccion 5, cantidad: "cant" Importe: "(p5*cant)
 break;
 }
   print "seccion 1: "
   print "Cantidad de boletos: "s1;
   print "Total de ventas: "t1
   print "seccion 2: "
   print "Cantidad de boletos: "s2
   print "Total de ventas: "t2;
   print "seccion 3: "<<endl;
   print "Cantidad de boletos: "s3
   print "Total de ventas: "t3
   print "seccion 4: "
   print "Cantidad de boletos: "s4
   print "Total de ventas: "t4
   print "seccion 5: ";
   print "Cantidad de boletos: "s5
   print "Total de ventas: "t5
   total_rec=t1+t2+t3+t4+t5;
   print "Recaudacion total del estadio: "total_rec
   print "clave de seccion: "
  read clave
   }
   fin

Codigo en C++


#include<iostream.h>
#include<conio.h>
void main()
{
int s1=0, s2=0, s3=0, s4=0, s5=0, cant, clave;
float p1, p2, p3, p4, p5, t1=0, t2=0, t3=0, t4=0, t5=0;
float total_rec=0;
cout<<"Precio seccion 1: ";
cin>>p1;
cout<<"Precio seccion 2: ";
cin>>p2;
cout<<"Precio seccion 3: ";
cin>>p3;
cout<<"Precio seccion 4: ";
cin>>p4;
cout<<"Precio seccion 5: ";
cin>>p5;
cout<<"clave de seccion: ";
cin>>clave;
cout<<endl;
while(clave!=0)
{
cout<<"Cantidad de boletos: ";
cin>>cant;
 switch(clave)
 {
 case 1: t1=t1+p1*cant;
 s1=s1+cant;
 cout<<"Seccion 1, cantidad: "<<cant<<" Importe: "<<(p1*cant)<<endl;
 break;
 case 2: t2=t2+p2*cant;
 s2=s2+cant;
 cout<<"Seccion 2, cantidad: "<<cant<<" Importe: "<<(p2*cant)<<endl;
 break;
 case 3: t3=t3+p3*cant;
 s3=s3+cant;
 cout<<"Seccion 3, cantidad: "<<cant<<" Importe: "<<(p3*cant)<<endl;
 break;
 case 4: t4=t4+p4*cant;
 s4=s4+cant;
 cout<<"Seccion 4, cantidad: "<<cant<<" Importe: "<<(p4*cant)<<endl;
 break;
 case 5: t5=t5+p5*cant;
 s5=s5+cant;
 cout<<"Seccion 5, cantidad: "<<cant<<" Importe: "<<(p5*cant)<<endl;
 break;
 }
   cout<<"seccion 1: "<<endl;
   cout<<"Cantidad de boletos: "<<s1<<endl;
   cout<<"Total de ventas: "<<t1<<endl;
   cout<<endl;
   cout<<"seccion 2: "<<endl;
   cout<<"Cantidad de boletos: "<<s2<<endl;
   cout<<"Total de ventas: "<<t2<<endl;
   cout<<endl;
   cout<<"seccion 3: "<<endl;
   cout<<"Cantidad de boletos: "<<s3<<endl;
   cout<<"Total de ventas: "<<t3<<endl;
   cout<<endl;
   cout<<"seccion 4: "<<endl;
   cout<<"Cantidad de boletos: "<<s4<<endl;
   cout<<"Total de ventas: "<<t4<<endl;
   cout<<endl;
   cout<<"seccion 5: "<<endl;
   cout<<"Cantidad de boletos: "<<s5<<endl;
   cout<<"Total de ventas: "<<t5<<endl;
   cout<<endl;
   total_rec=t1+t2+t3+t4+t5;
   cout<<"Recaudacion total del estadio: "<<total_rec<<endl;
   cout<<endl;
   cout<<"clave de seccion: ";
  cin>>clave;
  cout<<endl;
   }
   getch();
   }

Programa.



------------------------------------------------------------------------------------------------------------

Problema # 7



Es un programa que lea un numero entero n y calcule el resultado de la siguiente suma:

1 - 1/2 + 1/3 - 1/4 + 1/5 ..... +- 1/n



Pseudocodigo.

intero n, i
real r
print "Introdusca n: "
read n
for(i=1; i<=n; i++)
 {
 r=r+(pow((-1),(i+1))/i);
 }
 print "El resultado es: "r;
 }
fin.

Codigo en C++

#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
int n, i;
float r;
cout<<"Introdusca n: ";
cin>>n;
cout<<endl;
for(i=1; i<=n; i++)
 {
 r=r+(pow((-1),(i+1))/i);
 }
 cout<<"El resultado es: "<<r<<endl;
 getch();
 }

Programa.







-------------------------------------------------------------------------------------------------------

Problema # 8


Elabore un programa que genere 100 numeros en forma aleatoria y obtenga la suma de los numeros pares y el promedio de los numeros impares
Pseudocodigo.

entero numero, sumapar=0, sumaimpar=0, conta=0, i
randomize()
for(i=1; i<=100; i++)
 {
 numero=random(2000)+1
 if(numero%2==0)
  {
  sumapar=sumapar+numero
  }
  else
  {
  sumaimpar=sumaimpar+numero
  conta=conta+1
  }
 }
print "La suma de los numeros pares es: "sumapar
print"Promedio de los numeros impares: "(sumaimpar/conta);
Fin

Codigo en C++.

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int numero, sumapar=0, sumaimpar=0, conta=0, i;
randomize();
for(i=1; i<=100; i++)
 {
 numero=random(2000)+1;
 if(numero%2==0)
  {
  sumapar=sumapar+numero;
  }
  else
  {
  sumaimpar=sumaimpar+numero;
  conta=conta+1;
  }
 }
cout<<"La suma de los numeros pares es: "<<sumapar<<endl<<endl;
cout<<"Promedio de los numeros impares: "<<(sumaimpar/conta)<<endl;
getch();
}

Programa.



----------------------------------------------------------------------------------------------------