Tareas Segunda Unidad

Tarea No. 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:
X= (-b/2a)+((sqrt[-(b^2 – 4ac)]/2a) i
X=(-b/2a)-((sqrt[-(b^2 – 4ac)]/2a) i
Donde I es el símbolo del número imaginario para la raíz cuadrada de -1.



Solucion del Problema Original

 a, b, c, disc, raiz1, raiz2  reales
print "Este programa calcula las raices de una"
print "ecuacion cuadratica de la forma "
print "2"
print "ax+bx+c=0"
print "Porfavor introdusca valores para a, b, y c: "
leer a, b, c;
if(a==0.0&&b==0.0)
 print"La ecuacion es deganerada y no tiene raices"
else if(a==0.0)
print "La ecuacion tiene la raiz unica X = ", -c/b
else
{
 disc=pow(b,2.0) -4*a*c
 if(disc>0.0)
 {
 disc=sqrt(disc);
 raiz1=(-b+disc)/(2*a);
 raiz2=(-b-disc)/(2*a);
 print "Las dos raices reales son", raiz1 " y ", raiz2
 }
 else if(disc<0.0)
 print "Ambas raices son imaginarias"
 else
 print "Ambas raices son iguales a ", -b/(2*a)
fin.

Solucion Programa Modificado

double a, b, c, disc, raiz1, raiz2, x1, xa, xb, xc;
print "Este programa calcula las raices de una"
print "  ecuacion cuadratica de la forma "
print "           2";
print "     ax+bx+c=0"
print "Porfavor introdusca valores para a, b, y c: "
leer a , b ,  c;
if(a==0.0&&b==0.0)
 print "La ecuacion es deganerada y no tiene raices"
else if(a==0.0)
print " La ecuacion tiene la raiz unica X = ", -c/b
else
{
 disc=pow(b,2.0) -4*a*c; //Calcula el discriminante
 if(disc>0.0)
 {
 disc=sqrt(disc);
 raiz1=(-b+disc)/(2*a);
 raiz2=(-b-disc)/(2*a);
 print ""Las dos raices reales son ", raiz1, " y ", raiz2
 }
 else if(disc<0.0)
 {
 print "Ambas raices son imaginarias"
 x1=pow(b,2.0) -4*a*c;
 }
 if(x1<=0)
 {
 xc=(-1)*(x1);
 xa=((-b)-(sqrt(xc)))/(2.0*a);
 xb=((-b)+(sqrt(xc)))/(2.0*a);
 print "Y su resultado es "xa"i", " y ", xb"i"
 }
 else
 {
 print "Ambas raices son iguales a "-b/(2*a)
fin.


Codigo de Programacion en C++ (Programa Original)
 


#include <iostream.h>
#include <conio.h>
#include <math.h>
//Este programa encuentra las raices de una ecuacion cuadratica
int main()
{
double a, b, c, disc, raiz1, raiz2;
cout<<"Este programa calcula las raices de una\n";
cout<<"     ecuacion cuadratica de la forma \n";
cout<<"           2\n";
cout<<"     ax+bx+c=0\n\n";
cout<<"Porfavor introdusca valores para a, b, y c: ";
cin>> a >> b >> c;
if(a==0.0&&b==0.0)
 cout<<"La ecuacion es deganerada y no tiene raices.\n";
else if(a==0.0)
cout<<" La ecuacion tiene la raiz unica X = "<<-c/b<<endl;
else
{
 disc=pow(b,2.0) -4*a*c; //Calcula el discriminante
 if(disc>0.0)
 {
 disc=sqrt(disc);
 raiz1=(-b+disc)/(2*a);
 raiz2=(-b-disc)/(2*a);
 cout<< "Las dos raices reales son"<<raiz1<<" y "<<raiz2<<endl;
 }
 else if(disc<0.0)
 cout<<"Ambas raices son imaginarias.\n";
 else
 cout<<"Ambas raices son iguales a "<<-b/(2*a)<<endl;
 }
 getch();
 }

Programa Ejecutado en C++ (Original)

Codigo de Programacion en C++ (Programa Modificado)

#include <iostream.h>
#include <conio.h>
#include <math.h>
//Este programa encuentr las raices de una ecuacion cuadratica
int main()
{
float a, b, c, disc, raiz1, raiz2, x1, xa, xb, xc;
cout<<"Este programa calcula las raices de una\n";
cout<<"     ecuacion cuadratica de la forma \n";
cout<<"           2\n";
cout<<"     ax+bx+c=0\n\n";
cout<<"Porfavor introdusca valores para a, b, y c: ";
cin>> a >> b >> c;
if(a==0.0&&b==0.0)
 cout<<"La ecuacion es deganerada y no tiene raices.\n";
else if(a==0.0)
cout<<" La ecuacion tiene la raiz unica X = "<<-c/b<<endl;
else
{
 disc=pow(b,2.0) -4*a*c; //Calcula el discriminante
 if(disc>0.0)
 {
 disc=sqrt(disc);
 raiz1=(-b+disc)/(2*a);
 raiz2=(-b-disc)/(2*a);
 cout<< "Las dos raices reales son "<<raiz1<<" y "<<raiz2<<endl;
 }
 else if(disc<0.0)
 {
 cout<<"Ambas raices son imaginarias.\n";
 x1=pow(b,2.0) -4*a*c;
 }
 if(x1<=0)
 {
 xc=(-1)*(x1);
 xa=((-b)-(sqrt(xc)))/(2.0*a);
 xb=((-b)+(sqrt(xc)))/(2.0*a);
 cout<<"Y su resultado es "<<xa<<"i"<<" y "<<xb<<"i";
 }
  else if(disc==0)
 {
 cout<<"Ambas raices son iguales a "<<-b/(2*a)<<endl;
 }
 }
 getch();
 }

Programa Ejecutado en C++ (Programa Modificado)



Tarea No. 2

La multiplicacion rusa se realiza un tanto diferente a lo que nosotros estamos acostumbrados, para multiplicados numero multiplicador por multiplicando se realiza el siguiente proceso: se multiplica repetidamente por 2 el multiplicando y al mismo tiempo se divide entre 2 el multiplicador hasta que el multiplicador tome el valor de 1, luego se suman todos los multiplicandos correspondientes a todos los numeros multiplicadores impares. Dicha suma es el resultado del producto de los dos numeros.

Codigo de Programacion y Programa Ejecutado


 



Tarea No. 3

Escriba un programa que lea un numero entero y un carácter. La salida debe ser un rombo dibujado con el carácter dado y de anchura máxima dada por el entero leido. El programa debe repetir el proceso, hasta que la anchura sea 0. Ej. 8*


Codigo de Programacion

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main ()
{
int a,cont,contador;
char caracter;
cout<<"ancho del rombo=?"<<endl;
cin>>a;
cout<<"caracter=?"<<endl;
cin>>caracter;
for (cont=a;cont>=1;cont--)
{
cout.setf(ios::fixed);
cout<<setw(cont);
contador=cont;
    while (contador<=a)
   {
   cout<<" "<<caracter;
   contador=contador+1;
   }
cout<<endl;
}
for (cont=1;cont<=a;cont++)
{
cout.setf(ios::fixed);
cout<<setw(cont+1);
contador=cont;
    while (contador<a)
   {
   cout<<" "<<caracter;
   contador=contador+1;
   }
cout<<endl;
}
getch ();
}

Programa Ejecutado