lunes, 21 de febrero de 2011

tareas de la unidad 2

Tarea 1
 Modifique el programa 4.9 para que las raíces imaginarias sean calculadas y desplegadas cuando el discriminante sea negativo. En este caso las dos raíces de la ecuación son:
x1=-b/2a + (sqrt (b^2-4ac))/2a    y   x2=-b/2a - (sqrt (b^2-4ac))/2a 




programa

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()
{
float x1, x2;
double a, b, c, dis, r1, r2;




cout<<"Este programa calcula raices de una\n";
cout<<"ecuacion cuadratica de la forma:\n";
cout<<"         2\n";
cout<<"          ax + bx + c = 0\n\n";
cout<<"introduzca los valores para a, b y c: ";
cin>>a;
cin>>b;
cin>>c;
if (a==0.0 && b==0.0)
{
    cout<<"La ecuacion es degenerada, no tiene raices.\n";
   }
else
    {
   if (a==0.0)
    {
   cout<<"La ecuacion tiene raiz unica x = "<< -c/b <<endl;
   }
   else
   {
       dis=pow(b,2.0)-4*a*c;
      if (dis>0)
      {
          dis=sqrt(dis);
         r1=(-b+dis)/(2*a);
         r2=(-b-dis)/(2*a);
         cout<<"Las raices reales son "<<r1<<" y "<<r2<<endl;
         }
     else
     {
     if(dis<0.0)
    {
     x1=(-b/2*a)+((sqrt(-(b*b-4*a*c))/2*a));
     x2=(-b/2*a)-((sqrt(-(b*b-4*a*c))/2*a));
    cout<<"Las dos raices son imaginarias y son: X1= ";
    cout<<x1<<" y X2= "<<x2<<endl;
            }
         else
         {
             cout<<"Las dos raices son iguales a: "<<-b/(2*a)<<endl;
         }
      }
   }
}
getch ();
}























Tarea 2

La multiplicación rusa se realiza un tanto diferente a la que nosotros estamos acostumbrados. Para multiplicar dos números (multiplicador y multiplicando) se realiza el siguiente proceso:
Se multiplica repetidamente x 2 el multiplicando y al mismo tiempo se divide entre 2 el multiplicador hasta que el multiplicador tome el valor 1. Luego se suman todos los multiplicandos correspondientes a los multiplicadores impares. Dicha suma es el resultado del producto de los dos números, por ejemplo:
Número 1:   37
Número 2:   12
Los números que se sumaron son 12, 48 y 384, por lo tanto el resultado de la multiplicación es 444.

programa
#include <conio.h>
#include <iostream.h>
void main ()
{
 int sum,numero1,numero2;
 sum=0;
 cout<<"Numero 1 (multiplicador): ";
 cin>>numero1;
 cout<<"Numero 2 (multiplicando): ";
 cin>>numero2;
 while (numero2!=0)
 {
 if (numero2%2!=0)
 sum=sum+numero1;
 numero1=numero1*2;
 numero2=numero2/2;
 }
 cout<<"RESULTADO: "<<sum;
getch();
}








Tarea 3
Escriba un programa que lea un entero y un caracter la salida debe ser un rombo dibujado con el carácter dado y de anchura máxima por el entero leido.
El programa debe repetir el proceso hasta que la anchura sea 0. 

Programa
#include <iostream.h>
#include <conio.h.>
#include <iomanip.h>
void main()
{

int t, num, z;
char car;
cout <<"Anchura del rombo ";
cin>>num;
cout<<"seleccione un caracter: ";
cin>>car;
cout<<"             "<<endl;
cout<<"             "<<endl;

for(t=0;t<num;t++)
{
cout<<setw(num-t)<<car;
for(z=num-t;z<num;z++)
{
cout<<setw(2)<<car;
}
cout<<endl;
}
for(t=num-2;t>0;t--)
{
cout<<setw(num-t)<<car;
for(z=num-t;z<num;z=z+1)
{
cout<<setw(2)<<car;
}
cout<<endl;
}
cout<<setw(num-t)<<car;
getch();
}







No hay comentarios:

Publicar un comentario