miércoles, 26 de marzo de 2014

Practica No. 4


1. Hacer un programa que permita leer un carácter e imprimir si es vocal, si es consonante o un dígito numérico.
Hacer pseudocodigo.

Pseudocodigo:

Inicio
variable: char
write "Ingrese el carácter"
read variable
if(variable == '0' or variable == '1' or variable == '2' or variable == '3' or variable =='4' or variable =='5' or variable == '6' or variable == '7' or variable == '8' or variable =='9')
then
{
write "El caracter es un numero
}
else
{
if (variable == 'a' or variable == 'e' or variable == 'i' or variable == 'o' or variable =='u')
then
{
write "El caracter es una vocal"
}
else
then
{
write "El caracter es una consonante"
}
}

fin

Programa:

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

/*
Practica No. 4
Problema No. 1
18/03/2014
*/


int main()
{
    char variable, cont;

    do
    {
        system("cls");
        cout<<"\nIngrese el caracter\n"<<endl;
        cin>>variable;

        if(variable == '0' || variable == '1' || variable == '2' || variable == '3' || variable =='4' || variable =='5' || variable == '6' || variable == '7' || variable == '8' || variable =='9')
        {
            cout<<"\nEl caracter es un numero";
        }
        else
        {
            if (variable == 'a' || variable == 'e' || variable == 'i' || variable == 'o' || variable =='u')
            {
                cout<<"\nEl caracter es una vocal";
            }
            else
            {
                cout<<"\nEl caracter es una consonante";
            }
        }

    cout<<"\n\nDesea continuar? (s/n): ";
    cin>>cont;
    }
while(cont=='s' || cont=='S');
getch();
return 0;

}






2. Elabore un programa y su diagrama de flujo para calcular e imprimir el precio de un terreno del cual se tienen los siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene mas o igual de 300 metros cuadrados y menor o igual a 400 metros cuadrados se hace un descuento del 8%, si el terreno tiene mas de 400 metros y menor o igual de 500 metros se hace un descuento del 10%, si tiene mas de 500 metros el descuento es de 12%.

Diagrama de flujo:

Codigo:

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

/*
Practica No. 4
Problema No. 2
12/03/2014
*/



int main()
{
float largo, ancho, precio, total, descuento, terreno, final;
char cont;

do
{

system("cls");

cout<<"\n\nIntroduzca el largo del terreno: ";
cin>>largo;

cout<<"\n\nIntroduzca el ancho del terreno: ";
cin>>ancho;

terreno=largo*ancho;

cout<<"\n\nIntroduzca el precio por metro cuadrado: ";
cin>>precio;

total=terreno*precio;

if(terreno<300)
{
final=total;
cout<<"\n\nEl area total del terreno es: "<<terreno<<" metros cuadrados";
cout<<"\n\nEl precio del terreno es: "<<final<<" pesos";
}
else
{
if(terreno>=300 && terreno<=400)
{
descuento=total*(0.08);
final=total-descuento;
cout<<"\n\nEl area total del terreno es: "<<terreno<<" metros cuadrados";
cout<<"\n\nEl precio del terreno es: "<<total<<" pesos";
cout<<"\n\nEl precio menos el 8% de descuento es: "<<final<<" pesos";
}
else
{
if(terreno>400 && terreno<=500)
{
descuento=total*(0.1);
final=total-descuento;
cout<<"\n\nEl area total del terreno es: "<<terreno<<" metros cuadrados";
cout<<"\n\nEl precio del terreno es: "<<total<<" pesos";
cout<<"\n\nEl precio menos el 10% de descuento es: "<<final<<" pesos";
}
else
{
if(terreno>500)
{
descuento=total*(0.12);
final=total-descuento;
cout<<"\n\nEl area total del terreno es: "<<terreno<<" metros cuadrados";
cout<<"\n\nEl precio del terreno es: "<<total<<" pesos";
cout<<"\n\nEl precio menos el 12% de descuento es: "<<final<<" pesos";
}
}
}
}

cout<<"\n\nDesea continuar? s/n: ";
cin>>cont;

}

while(cont=='s' || cont=='S');
getch();
return 0;

}











3. Un cliente ordena cierta cantidad de componentes electrónicos: led, resistencias y capacitores, si se compran mas de 100 partes de capacitores tienen un descuento de 6%, si se compran mas de 100 resistencias tienen un descuento de 5%. Los datos que se tienen por cada tipo de articulo son: La cantidad pedida y el precio unitario.
Ademas, si se paga de contado todo tiene un descuento de 5%. Elaborar un programa y pseudocodigo que calcule e imprima el costo total de la orden, como para el pago de contado como para el caso de pago de crédito.

Pseudocodigo:


inicio

numcap, precap, numled, preled, numres, preres, totaled, totalcap, totalres, precio, sub, desc: doble
tipopago: char


write "Introduzca el numero de capacitores: "
read numcap
write "Precio unitario del capacitor: "
read precap
write "Introduzca el numero de leds: "
read numled
write "Precio unitario del led: "
read preled
write "Introduzca el numero de resistencias: "
read numres
write "Precio unitario de la resistencia: "
read preres

if(numcap>100)
then
{
totalcap=(numcap*precap)-(numcap*precap*0.06)
}
else
{
totalcap=numcap*precap
}

totaled=numled*preled

if(numres>100)
then
{
totalres=(numres*preres)-(numres*preres*0.05)
}
else
{
totalres=numres*preres
}

write "Forma de pago:"
write "Cual sera su forma de pago?: "
write "Si desea pagar de contado: Introduzca la letra C"
write "Si desea pagar a credito: Introduzca la letra O"
read tipopago

if(tipopago=='C' or tipopago=='c')
then
{
write "Cantidad"
write "Producto"
write "Precio"
write "----------------------------------------------"
write numcap,"Capacitores",totalcap," pesos"
write numled,"Leds",totaled," pesos"
write numres,"Resistencias",totalres," pesos"
write "----------------------------------------------"
sub=totalcap+totaled+totalres
write "Subtotal: ",sub," pesos"
desc=(totalcap+totaled+totalres)*.05
write "Descuento del 5%"," - ",desc," pesos"
write "----------------------------------------------"
precio=(totalcap+totaled+totalres)-((totalcap+totaled+totalres)*.05);
write "Total a pagar  = ",precio," pesos"
}
else
{
if(tipopago=='o' or tipopago=='O')
then
{
write "----------------------------------------------"
write "Cantidad"
write "Producto"
write "Precio"
write "----------------------------------------------"
write numcap,"Capacitores",totalcap," pesos"
write numled,"Leds",totaled," pesos"
write numres,"Resistencias",totalres," pesos"
write "----------------------------------------------"
precio=totalcap+totaled+totalres;
write "Total a pagar = ",precio," pesos"
write "Recuerda que pagando de contado puedes tener un descuento de hasta el 5%"
}
else
{
write "Por favor seleccione una forma de pago valida"
}
}
}
}
fin

Programa:

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



int main()
{
double numcap, precap, numled, preled, numres, preres, totaled, totalcap, totalres, precio, sub, desc;
char tipopago;
char repeat='s';
while(repeat=='s'||repeat=='S')
{
system("cls");
cout<<"\n\nIntroduzca el numero de capacitores: ";
cin>>numcap;
cout<<"\n\nPrecio unitario del capacitor: ";
cin>>precap;
cout<<"\n\nIntroduzca el numero de leds: ";
cin>>numled;
cout<<"\n\nPrecio unitario del led: ";
cin>>preled;
cout<<"\n\nIntroduzca el numero de resistencias: ";
cin>>numres;
cout<<"\n\nPrecio unitario de la resistencia: ";
cin>>preres;


if(numcap>100)
{
totalcap=(numcap*precap)-(numcap*precap*0.06);
}
else
{
totalcap=numcap*precap;
}

totaled=numled*preled;



if(numres>100)
{
totalres=(numres*preres)-(numres*preres*0.05);
}
else
{
totalres=numres*preres;
}

cout<<"\n\nForma de pago:"<<endl;
cout<<"\n\nCual sera su forma de pago?: "<<endl;
cout<<"\n\nSi desea pagar de contado: Introduzca la letra C"<<endl;
cout<<"\n\nSi desea pagar a credito: Introduzca la letra O"<<endl;
cin>>tipopago;

if(tipopago=='C'||tipopago=='c')
{

cout<<"Cantidad";cout<<"\tProducto";cout<<"\tPrecio"<<endl;
cout<<"----------------------------------------------"<<endl;
cout<<numcap;cout<<"\t\tCapacitores\t";cout<<totalcap<<" pesos"<<endl;
cout<<numled;cout<<"\t\tLeds\t\t";cout<<totaled<<" pesos"<<endl;
cout<<numres;cout<<"\t\tResistencias\t";cout<<totalres<<" pesos"<<endl;
cout<<"----------------------------------------------"<<endl;
sub=totalcap+totaled+totalres;
cout<<"\t\t\tSubtotal: ";cout<<sub<<" pesos"<<endl;
desc=(totalcap+totaled+totalres)*.05;
cout<<"\t\tDescuento del 5%";cout<<" - "<<desc<<" pesos"<<endl;
cout<<"----------------------------------------------"<<endl;
precio=(totalcap+totaled+totalres)-((totalcap+totaled+totalres)*.05);
cout<<"\t\tTotal a pagar  = ";cout<<precio<<" pesos"<<endl;
}
else
{
 if(tipopago=='o'||tipopago=='O')
 {
 cout<<"----------------------------------------------"<<endl;
 cout<<"Cantidad";cout<<"\tProducto";cout<<"\tPrecio"<<endl;
 cout<<"----------------------------------------------"<<endl;
 cout<<numcap;cout<<"\t\tCapacitores\t";cout<<totalcap<<" pesos"<<endl;
 cout<<numled;cout<<"\t\tLeds\t\t";cout<<totaled<<" pesos"<<endl;
 cout<<numres;cout<<"\t\tResistencias\t";cout<<totalres<<" pesos"<<endl;
 cout<<"----------------------------------------------"<<endl;
 precio=totalcap+totaled+totalres;
 cout<<"\t\tTotal a pagar = "<<precio<<" pesos"<<endl;
 cout<<"\nRecuerda que pagando de contado puedes tener un descuento de hasta el 5%"<<endl;
}
 else
 {
  cout<<"\nPor favor seleccione una forma de pago valida"<<endl;
 }}
 cout<<"\nSi desea facturar otro pedido introduzca la letra S: ";
 cin>>repeat;
 }


getch();
return 0;

}




4. En un almacen de ventas de trajes, si uno compra dos el segundo es a mitad de precio, si compra 3 el tercero es gratis. Imprima el subtotal a pagar, el descuento y el total a pagar. Haga diagrama de flujo.

Diagrama de flujo:


Codigo:


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



int main()
{
//Declaracion

int cuenta,cuenta2,cantidad;
float precio1,precio2,precio3,subtotal,descuento,descuento2,total;
char sigue;

do
{
//Inicializacion

cout<<"Cuantos trajes desea? "<<endl;
cin>>cantidad;
cuenta = 1;
cuenta2 = 1;
subtotal = 0;
descuento = 0;
descuento2 = 0;

//LOOP
while(cuenta <= cantidad)
{

if(cuenta2 == 1)
{
    cout<<"\nIntroduzca el precio del traje "<<cuenta<<" : ";
cin>>precio1;
//Subtotal
subtotal = subtotal + precio1;
//Descuento
descuento = descuento;
    //Total
total = subtotal - descuento;
}

if(cuenta2 == 2)
{
cout<<"\nIntroduzca el precio del traje "<<cuenta<<" : ";
cin>>precio2;
//Subtotal
subtotal = subtotal + precio2;
//Descuento
if(precio1 <= precio2)
{
descuento = descuento + precio1/2 ;
    }
if(precio2 < precio1)
{
descuento = descuento + precio2/2;
    }
    //Total
    total = subtotal - descuento;
}

if(cuenta2 == 3)
{
cout<<"\nIntroduzca el precio del traje "<<cuenta<<" : ";
cin>>precio3;
//Subtotal
subtotal = subtotal + precio3;
//Descuento
if(precio1 <= precio2 && precio1 <= precio3)
{
descuento = descuento2 + precio1;
    }
if(precio2 < precio1 && precio2 <= precio3)
{
descuento = descuento2 + precio2;
    } 
    if(precio3 < precio1 && precio3 < precio2)
{
descuento = descuento2 + precio3;
    }
    //Total
    total = subtotal - descuento;
}

cuenta++;
cuenta2++;   

if(cuenta2 == 4)
{
 cuenta2 = 1;
 descuento2 = descuento;
}

}
cout<<"\n\t\t\t\t\tSubtotal "<<subtotal<<endl;
cout<<"\t\t\t\t\tDescuento "<<descuento<<endl;
cout<<"\t\t\t\t\tTotal "<<total<<endl;

cout<<"\n\nSi desea continuar presione 1"<<endl;
cin>>sigue;


}
while(sigue == '1');

getch();
return 0;
}












5. Elaborar un programa y pseudocodigo para leer el valor de un angulo en radianes o grados y que imprima el seno, coseno, tangente, contangente y secante. Debe solicitar el valor del angulo y enseguida una g que significa grados o r si esta en radianes en caso contrario indicar error en caracter. (recuerde para convertir grados a radianes =ValorAngulo*3.1416/180.0)

Pseudocodigo:

inicio

valor,radi:doble
tipo:char

write "Introduzca el valor de su angulo: "
read valor
write "Introduzca el tipo de angulo(r= radianes, g= grados): "
read tipo

if(tipo=='r')
then
{
write "El seno de su angulo es: "<<sin(valor)
write "El coseno de su angulo es: "<<cos(valor)
write "La tangene de su angulo es: "<<tan(valor)
write "La cotangente de su angulo es: "<<(1/tan(valor))
write "La secante de su angulo es: "<<(1/cos(valor))
}
else
{
if(tipo=='g')
then
{
radi=((valor*3.1416)/180.0);
write "El seno de su angulo es: "<<sin(radi)
write "El coseno de su angulo es: "<<cos(radi)
write "La tangene de su angulo es: "<<tan(radi)
write "La cotangente de su angulo es: "<<(1/tan(radi))
write "La secante de su angulo es: "<<(1/cos(radi))
}
else
{
if(tipo!='g' and tipo!='r')
then
{
write "Error de caracter, por favor corrijalo"
}
}
}

fin

Codigo:

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

/*
Practica No. 4
Problema No. 5
25/03/2014
*/



int main()
{
    char tipo, cont;
    double valor,radi;

    do
    {
        system("cls");

        cout<<"\n\nIntroduzca el valor de su angulo: ";
        cin>>valor;
        cout<<"\n\nIntroduzca el tipo de angulo(r= radianes, g= grados): ";
        cin>>tipo;

        if(tipo=='r')
        {
            cout<<"\n\nEl seno de su angulo es: "<<sin(valor)<<endl;
            cout<<"\n\nEl coseno de su angulo es: "<<cos(valor)<<endl;
            cout<<"\n\nLa tangene de su angulo es: "<<tan(valor)<<endl;
            cout<<"\n\nLa cotangente de su angulo es: "<<(1/tan(valor))<<endl;
            cout<<"\n\nLa secante de su angulo es: "<<(1/cos(valor))<<endl;
        }
        else
        {
            if(tipo=='g')
            {
                radi=((valor*3.1416)/180.0);
                cout<<"\n\nEl seno de su angulo es: "<<sin(radi)<<endl;
                cout<<"\n\nEl coseno de su angulo es: "<<cos(radi)<<endl;
                cout<<"\n\nLa tangene de su angulo es: "<<tan(radi)<<endl;
                cout<<"\n\nLa cotangente de su angulo es: "<<(1/tan(radi))<<endl;
                cout<<"\n\nLa secante de su angulo es: "<<(1/cos(radi))<<endl;
            }
            else
            {
                if(tipo!='g'&&tipo!='r')
                {
                    cout<<"\n\nError de caracter, por favor corrijalo"<<endl;
                }
            }
        }

        cout<<"\n\nDesea continuar? (s/n): ";
        cin>>cont;
    }

    while(cont=='s'||cont=='S');
    getch();
    return 0;
}






6. Haga un programa y diagrama de flujo para leer tres números enteros y verificar si están ordenados.

Diagrama de flujo:



Codigo:

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

/*
Practica No. 4
Problema No. 6
25/03/2014
*/



int main()
{

    int num1,num2,num3;
    char repetir;
    do
    {

        system("cls");

        cout<<"Introduzca tres numeros: ";
        cin>>num1>>num2>>num3;

        if(num1>num2 && num2>num3)
        {

            cout<<"\n\nLos numeros ordenados son: " <<num1<< "," <<num2<< "," <<num3<<endl;
            getch();
        }
        else
        {
            if(num3>num2 && num2>num1)
            {
                cout<<"\n\nLos numeros ordenados son: "<<num3<< "," <<num2<< "," <<num1<<endl;
                getch();
            }
            else
            {
                if(num1>num3 && num3>num2)
                {
                    cout<<"\n\nLos numeros ordenados son: "<<num1<< "," <<num3<< "," <<num2<<endl;
                    getch();
                }
                else
                {
                    if(num2>num3 && num3>num1)
                    {
                        cout<<"\n\nLos numeros ordenados son: "<<num2<< "," <<num3<< "," <<num1<<endl;
                        getch();
                    }
                    else
                    {
                        if(num2>num1 && num1>num3)
                        {
                            cout<<"\n\nLos numeros ordenados son: "<<num2<< "," <<num1<< "," <<num3<<endl;
                            getch();
                        }
                        else
                        {
                            if(num3>num1 && num1>num2)
                            {
                                cout<<"\n\nLos numeros ordenados son: "<<num3<< "," <<num1<< "," <<num2<<endl;
                                getch();
                            }
                        }
                    }
                }
            }

        cout<<"\n\nDesea continuar? (s/n): "<<endl;
        cin>>repetir;
        }
    }
    while(repetir == 's' || repetir == 'S');
    getch();
    return 0;
}





7. Haga un programa y pseudocodigo para leer el nombre de un alumno, 4 calificaciones y calcular el promedio. Desplegar el nombre del alumno, el promedio y si acredito el curso. (si el promedio es mayor o igual a 70 de lo contrario no acredita)

Pseudocodigo:

inicio

alumno: char
C1, C2, C3, C4, prom: real


write "Introduzca el nombre del alumno: "
read alumno

write "Introduzca la primer de calificacion: "
read C1

write "Introduzca la segunda calificacion: "
read C2

write "Introduzca la tercer de calificacion: "
read C3

write "Introduzca la cuarta calificacion: ";
read C4

prom=(C1+C2+C3+C4)/4.0

write "El promedio de: ",Alumno," es: ",prom

if(prom>=70)
then
{
write "El alumno acredito el curso"
}
else
{
write "El alumno no acredito el curso"

fin

Codigo:

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

/*
Practica No. 4
Problema No. 2
20/03/2014
*/


int main()
{
    char Alumno[30];
    char cont;
    float C1, C2, C3, C4, prom;

    do
    {
        system("cls");

cin.ignore();//Funciona para limpiar el buffer de Alumno[30]
        cout<<"\n\nIntroduzca el nombre del alumno: ";
        cin.getline(Alumno,30,'\n');

        cout<<"\n\nIntroduzca la primer de calificacion: ";
        cin>>C1;

        cout<<"\n\nIntroduzca la segunda calificacion: ";
        cin>>C2;

        cout<<"\n\nIntroduzca la tercer de calificacion: ";
        cin>>C3;

        cout<<"\n\nIntroduzca la cuarta calificacion: ";
        cin>>C4;

        prom=(C1+C2+C3+C4)/4.0;

        cout<<"\n\nEl promedio de: "<<Alumno<<" es: "<<prom;

        if(prom>=70)
        {
            cout<<"\n\nEl alumno acredito el curso";
        }
        else
        {
            cout<<"\n\nEl alumno no acredito el curso";
        }

        cout<<"\n\n\nDesea continuar?(s/n): ";
        cin>>cont;

    }

    while(cont=='s'||cont=='S');
    getch();
    return 0;
}





8. Elaborar un programa y su diagrama de flujo para calcular e imprimir los valores de X y Y, teniendo como entrada el valor de X y calculando el de Y de acuerdo con las siguientes.

Si X<0 entonces Y= 4x^2+3x+6

Si X>0 Y= x^2+4x-2

Diagrama de flujo:



Codigo:

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

/*
Practica No. 4
Problema No 8
18/03/2014
*/



int main()
{
    float x,y1,y2;
    char cont;

    do
    {
        system("cls");

        cout<<"Introduzca el valor de x"<<endl;
        cin>>x;

        y1 = 4*pow(x,2)+3*x+6;
        y2 = pow(x,2)+4*x-2;

        if(x < 0)
        {
            cout<<"\nPara el valor de x = "<<x<<endl;
            cout<<"\t\t y es = "<<y1;
        }
        else
        {
            if(x >= 0)
            {
                cout<<"\nPara el valor de x = "<<x<<endl;
                cout<<"\t\t y = "<<y2;
            }

            cout<<"\n\nDesea continuar? (s/n): ";
            cin>>cont;
        }
    }
    while(cont=='s' || cont=='S');
    getch();
    return 0;
}