viernes, 1 de abril de 2011

CALCULADORA

CODIGO C++



#include <iostream.h>
#include <conio.h>
void suma(float n1,float n2)
{float Suma;
Suma=n1+n2;
cout<<"la Suma:\t"<<n1<<"+"<<n2<<"="<<Suma<<endl;
}
void resta(float n1,float n2)
{float Resta;
Resta=n1-n2;
cout<<"la Resta:\t"<<n1<<"-"<<n2<<"="<<Resta<<endl;
}
void multiplicacion(float n1,float n2)
{float Multiplicacion;
Multiplicacion=n1*n2;
cout<<"la multiplicacion:\t"<<n1<<"*"<<n2<<"="<<Multiplicacion<<endl;
}
void division(float n1,float n2)
{float Division;
Division=n1/n2;
cout<<"la Division:\t"<<n1<<"/"<<n2<<"="<<Division<<endl;
}
void seno(float n1)
{
    float seno;
    seno=sin(n1);
    cout<<"El seno de "<<n1<<" es:"<<seno<<endl;
}
void coseno(float n1)
{
    float coseno;
    coseno=cos(n1);
    cout<<"El coseno es:"<<coseno<<endl;
}
void tangente(float n1)
{
    float tangente;
    tangente=tan(n1);
    cout<<"La tangente es:"<<tangente<<endl;
}
void e(float n1,float z)
{
    float exp;
    exp=pow(n1,z);
    cout<<"Elevado a la "<<z<<" es:"<<exp<<endl;
}
void raiz(float n1)
{
    float r;
    r=sqrt(n1);
    cout<<"La raiz es:"<<r<<endl;
}
void main()
{char operacion;
float numero1,numero2,z;
char otro;
cout<<" + suma\n- resta\n* multiplicacion\n/ division\ne potencia\nr raiz\ns seno\nc coseno\nt tangente\n";
do
{
cout<<"Numero 1: ";
cin>>numero1;
cout<<"operacion: ";
cin>>operacion;
switch(operacion)
{case'+':
 cout<<"Numero 2: ";
 cin>>numero2;
 suma(numero1,numero2);
 break;
 case'-':
 cout<<"Numero 2: ";
 cin>>numero2;
 resta(numero1,numero2);
 break;
 case'*':
 cout<<"Numero 2: ";
 cin>>numero2;
 multiplicacion(numero1,numero2);
 break;
 case'/':
 cout<<"Numero 2: ";
 cin>>numero2;
 division(numero1,numero2);
 break;
 case 's':
 seno(numero1);
 break;
 case 'c':
 coseno(numero1);
 break;
 case 't':
 tangente(numero1);
 break;
 case 'e':
 cout<<"A q numero desea elevar:\n";
 cin>>z;
 e(numero1,z);
 break;
 case 'r':
 raiz(numero1);
 break;
 default:cout<<"Error en opcion";
 }
 cout<<"Otra operacion?\n";
 cin>>otro;
}
while(otro=='s');
 getch();
 }



IMAGEN DEL EJECUTABLE

Practica 8

Problema 1
Escriba una función denominada revisar (que tenga 3 parámetros) el primer parámetro debe aceptar un numero entero, el segundo parámetro un numero flotante y el tercer parámetro 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.Escriba una función denominada revisar (que tenga 3 parámetros) el primer parámetro debe aceptar un numero entero, el segundo parámetro un numero flotante y el tercer parámetro 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
Inicio
revisar(int a,float b,double c)
{
print "Valor entero A = ",a
print "Valor flotante B = ",b
print "Valor presicion C =",c
}
void main()
{int num1
float num2
double num3
print "Dato entero"
read num1
print "Dato Flotante"
read num2
print "Dato de presicion"
read num3
revisar(num1,num2,num3)
fin

C++




















Problema 2

Escriba una función mult( ) que acepte como parámetro dos números como números flotante, multiplique estos dos números y despliegue el resultado.

SEUDOCODIGO

Inicio
void mult(float n1,float n2)
{real r1
r1=n1*n2
print "la multiplicacion de ",n1,"+",n2,"=",r1
}
void main()
{real a,b
print "Primer numero flotante ="
read a
print "Segundo numero flotante ="
read b
mult(a,b)
fin

C++















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.
SEUDOCODIGO
tabla()
{int i
print "I  CUADRADO  CUBO"
for(i=1;i<=10;i=i+1)
{
print i,"      ",(i*i),"  ",(i*i*i)
}
}
void main()
{tabla()
}
fin

C++

Problema 4

Escriba una función denominada rectángulo ( ), que acepte la longitud de dos lados de un triángulo rectángulo con los argumentos a,b. La función debe determinar y volver c (hipotenusa) del triángulo. (sugerencia: utilice el teorema de pitagóras).

SEUDOCODIGO
inicio
int triangulorectangulo(int a,int b)
{
int c
c=sqrt(pow(a,2)+pow(b,2))
return c
}
void main()
{
int l1,l2
print " Valor del lado 1:"
read l1
print "Valor del lado 2:"
read l2
print "EL valor de la hipotenusa es ",triangulorectangulo(l1,l2)
fin

C++
Problema 5

Diseñe una función tal que dado un parámetro x regrese el siguiente valor:
1/x^5*((e^1.4232/x)-1)

Diseñe una función con dos parámetros x y n, talque regrese lo siguiente:

x+(x^n)-(x^n+2) si x => 0

(-x^n-1/n-1)+(x^n+1/n+1)
Haga un programa para llamar ambas funcianes

SEUDOCODIGO
Fin
funcion1(float x)
{
    float valor
    valor=1.0/(pow(x,5)*((exp(1.432)/x)-1.0))
    return valor
}
funcion2(float x,float n)
{
    float valor
    if(x>=0)
    {
        valor=x+pow(x,n)/n-pow(x,n+2)/n+2
    }
    else
    {
        valor=(-pow(x,(n-1))/n-1+(pow(x,n+1)/n+1))
    }
    return valor
}
void main()
{
    float v1,v2,x,n
    do
    {
        print "Valor de x:"
        read x
    }
    while(x==0)
    v1=funcion1(x)
    print "Valor de x:"
    read x
    print "Valor de la potencia:"
    read  n
    v2=funcion2(x,n)
    print "Valor de  la funcion 1:",v1
    print "Valor de la funcion 2:",v2
Fin

C++




Problema 6

SEUDOCODIGO
Inicio
void generarnumeros(int numeros[20]);
void listadopares(int numeros[20]);
void listadoimpares(int numeros[20]);
void elementos(int numeros[20]);
void prom(int numeros[20]);
void main()
{
 int valores[20];
generarnumeros(valores);
listadoimpares(valores)
listadopares(valores)
elementos(valores)
prom(valores)
}
void generarnumeros(int numeros[20])
{
int i
randomize();
 for(i=0;i<20;i=i+1)
 {
 numeros[i]=random(2000)+1;
}
}
void listadopares(int numeros[20])
{
  int i
  print "Listado de numeros pares:"
  for(i=0;i<20;i=i+1)
 {
 if(numeros[i]%2==0)
 {
print numeros[i],"\t"
}
 }
}
void listadoimpares(int numeros[20])
{
 int i
print "Listado de numeros impares:"
for(i=0;i<20;i=i+1)
{
 if(numeros[i]%2==1)
{
print numeros[i],"\t"
}
}
}
void elementos(int numeros[20])
{
int i
print "Elementos del vector"
 for(i=0;i<20;i=i+1)
  {
 print numeros[i],"\t"
}
}
void prom(int numeros[20])
{
int i,prom=0,rp;
 for(i=0;i<20;i=i+1)
{
 prom=prom+numeros[i];
 }
 rp=prom/20
 print"El promedio de los elementos:",rp
}

C++



































Problema 7

Problema 8

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

SEUDOCODIGO
Inicio
void tiempo(int segundos,int &hr,int &min,int &seg)
{hr=segundos/3600
min=(segundos%3600)/60
seg=(min%60)
}
void main()
{int segundos,hr,min,seg;
print "Tiempo:"
read segundos
tiempo(segundos,hr,min,seg)
print "Tiempo"
print hr,":",min,":",seg
Fin

C++
















Problema 9

Escriba una función llamada cambio () que tenga un parámetro en numero entero y seis parámetros de numero entero denominado cien,cincuenta,veinte,diez,cinco y uno, respectivamente la función debe considerar el valor transmitido del numero entero como cantidad en dolar y convertir el valor al numero mas pequeño en billetes. Utilizando las referencias la función debe alterar directamente los argumentos respectivos en la función que llama.

SEUDOCODIGO

void cambio(int dolar,int &cien,int &cinc,int &vei,int &diez,int &cinco,int &uno)
{cien=dolar/100
cinc=(dolar%100)/50
vei=((dolar%100)%50)/20
diez=(((dolar%100)%50)%20)/10
cinco=((((dolar%100)%50)%20)%10)/5
uno=(((((dolar%100)%50)%20)%10)%5)/1
}
void main()
{int dolar,cien,cinc,vei,diez,cinco,uno
print "Dolares:"
read dolar
cambio(dolar,cien,cinc,vei,diez,cinco,uno);
print "Billetes de 100:",cien
print "Billetes de 50:",cinc
print "Billetes de 20:",vei
print "Billetes de 10:",diez
print "Billetes de 5:",cinco
print "Billetes de 1:",uno
Fin

C++

Problema 10

El volumen (v) y la superficie (s) de un cilindro están dadas por la formulas:
donde:
r=radio del cilindro.
l=es la longitud del cilindro.
Utilizando estas formulas escriba una función denominada cilindro () que acepte el radio (r) y el largo (l) de un cilindro y que devuelva el volumen y la superficie.

SEUDOCODIGO

Inicio
void cilindro(float &v,float &s)
{float l,r;
v=3.1416*pow(r,2)*l;
s=2*3.1416*r*l;
}
void main()
{float v,s,l,r;
print "Radio:"
read r
print "Longuitud:"
read l
cilindro(v,s)
print v
print s
Fin

C++

Problema 11

Escriba una función que calcule el radio (r) y el área (a) de un circulo cuando la circunferencia (c) es conocida. Las formulas relevantes son:
pruebe la función utilizando un programa que tenga una función especifica de control.

SEUDOCODIGO

Inicio
void area(float r)
{
float a
a=(3.1416)*pow(r,2);
print "El valor del area es:",a
}
void radio(float c)
{
float r
r=c/2*(3.114160)
print "El valor del radio es:",r
area(r)
}
void main()
{float c,r,a
print "Valor de c:"
read c
radio(c)
fin

C++


Problema 12

Escriba una plantilla de función llamado máximo que devuelva el valor máximo de tres argumentos que se transmitan a la función cuando esta sea llamada. Suponga que los tres argumentos serán del mismo tipo.

SEUDOCODIGO
Inicio
template<class t>
maximo(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
print "Primer valor entero:"
read n1
print "Segundo valor entero:"
read n2
print "Tercer valor entero:"
read n3
print "El valor maximo es:"<<maximo(n1,n2,n3)
print "Primer valor flotante:"
read num1
print "Segundo valor flotante es:"
read num2
print "Tercer valor flotante es:"
read num3
print "El valor maximo flotante es:"<<maximo(num1,num2,num3)
fin

C++



Problema 13

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

SEUDOCODIGO

Inicio
template <class t>
t introcorriente(t corriente[10])
{
    int i;
    cout<<"Corriente\n"
    for(i=0;i<10;i++)
    {
        cout<<"corriente: "<<i<<endl
cin>>corriente[i]
    }
    return 0
}
template <class t>
t introresistencia(t resistencia[10])
{
    int i
    cout<<"Resistencia\n"
    for(i=0;i<10;i++)
    {
        cout<<"resistencia: "<<i<<endl
cin>>resistencia[i]
    }
    return 0
}
template <class t>
t calculopotencia(t corriente[10],t resistencia[10],t potencia[i])
{
    int i
    double suma=0
    for(i=0;i<10;i++)
    {
        potencia[i]=resistencia[i]*pow(corriente[i],2)
        suma=suma+potencia[i]
    }
    return suma
}
void main()
{int i,res[10],cor[10],pot[10]
introcorriente(cor)
introresistencia(res)
calculopotencia(cor,res,pot)
print"corriente\tresistencia\tpotencia"
for(i=0;i<10;i++)
{
print cor[i],"\t\t",res[i],"\t\t",pot[i]
}
print "Potrncia","\t\t",calculopotencia(cor,res,pot)
Fin

C++