Archivo

Archive for the ‘C++’ Category

Programas Condicionales (Estructuras IF, SWITCH, WHILE, DO WHILE) [Programas resueltos C++]

enero 13, 2011 42 comentarios

Programas Condicionales (Estructuras IF, SWITCH, WHILE, DO WHILE)

La programación de Condición o programación Condicional consiste en afirmar una expresión, si ésta es verdadera se procede a realizar una instrucción, sino se realiza otra instrucción, se le conoce también como instrucción IF. Por ejemplo:

La programación de Caso o instrucción SWITCH es también de condición con un grado más complejo. Se requiere de casos para validar una expresión. Por ejemplo:

Existe una tercera y es la instrucción DO WHILE, consiste en hacer determinadas instrucciones mientras la condición que le asignamos sea valida. Por ejemplo:

Estos 3 casos se pueden mezclar para un mejor desempeño del programa estructurado. A continuación 3 problemas para un mejor entendimiento.

Problema  1 Condicional: Dado como dato el sueldo de un trabajador, considere un aumento del 15% si su sueldo es inferior a 1000 y de un 12% en caso contrario. Imprima el sueldo con el aumento incorporado.

#include <cstdlib>
#include <iostream>

using namespace std;

int main()

{
float Sueldo, Total, Aumento;
system (“color F0“);
cout<<“\n\t***EJERCICIO 1 CONDICIONAL IF***\n\n“;
cout<<“\tDado como dato el sueldo de un trabajador, considere un aumento\n“;
cout<<“\tSi su sueldo es menor a 1000 se hara del 15%\n“;
cout<<“\tSi su sueldo es mayor o igual a 1000 se hara del 12%\n“;
cout<<“\tImprima el sueldo con el aumento incorporado…\n\n“;
cout<<“\tEscriba el sueldo del trabajador\n\t“;
cin>>Sueldo;
if (Sueldo<1000)
{
Aumento=Sueldo*.15;
Total=Sueldo+Aumento;
}
else
{
Aumento=Sueldo*.12;
Total=Sueldo+Aumento;
}
cout<<“\n\tSu aumento es de: “<<Aumento<<” pesos\n“;
cout<<“\tEl sueldo con aumento es de: “<<Total<<” pesos\n\n\t“;
system(“PAUSE“);
return 0;
/*Programa hecho por Raphael Alarkon
http://www.IngenieriaEnSistemasUAT.wordpress.com*/
}


DESCARGAR CODIGO FUENTE .CPP

Use la estructura IF – ELSE, la más sencilla de programación condicional.
Se declararon las variables FLOAT por puntos decimales.
Se uso la condición SI (Sueldo<1000) para realizar el porcentaje.
No era necesario poner el Aumento, pero para un mejor entendimiento lo agregue.

Problema No. 2 de estructura SWITCH: Dado como datos la matricula de un alumno, el semestre en el que está inscrito, y promedio, determine si el mismo es apto para pertenecer alguna de las profesiones que tiene la universidad. Si el alumno es aceptado teniendo en cuenta las especificaciones que se listan abajo se debe imprimir su matrícula, carrera y la palabra “Aceptado”

Ingeniería

Semestre >  6  y Promedio >= 8.8

Medicina

Semestre >=6  y Promedio >  8.5

Licenciatura

Semestre >  5  y Promedio >=8.3

Técnico

Semestre >=3  y Promedio >=7.8

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main()

{
char Carrera;
int Matricula, Semestre;
float Promedio;
system (“color F0“);
cout<<“\n\t***EJERCICIO 2 ESTRUCTURA SWITCH***\n“<<endl;
cout<<“\tDados los datos de la matricula de un alumno,\n“;
cout<<“\tsu semestre y su promedio, determine si el mismo es apto \n“;
cout<<“\tpara pertenecer a alguna de las profesiones que tiene la universidad.\n“;
cout<<“\tSi el alumno es aceptado teniendo en cuenta las especificaciones\n“;
cout<<“\tque se listan abajo, se debe imprimir su matricula, tipo de \n“;
cout<<“\tprofesion y su aprobacion\n\n“;
cout<<“\tPara entrar a Ingenieria   – Semestre > 6 y Promedio >= 8.8\n“;
cout<<“\tPara entrar a Medicina     – Semestre >=6 y Promedio >  8.5\n“;
cout<<“\tPara entrar a Licenciatura – Semestre > 5 y Promedio >= 8.3\n“;
cout<<“\tPara entrar a Tecnico      – Semestre >=3 y Promedio >= 7.8\n\n“;
cout<<(“\tEscriba el numero de Matricula\n\t“);
cin>>Matricula;
cout<<(“\n\tEscriba el promedio\n\t“);
cin>>Promedio;
cout<<(“\n\tEscriba el Semestre\n\t“);
cin>>Semestre;
cout<<“\n\tProfesion a elegir (Escribir en MAYUSCULA la letra)\n\t“;
cout<<“[I = Ingenieria , M = Medicina , L = Licenciatura , T = Tecnico]\n\t“;
cin>>Carrera;
switch (Carrera)
{
case‘I’:
if (Semestre>6)
{
if (Promedio>=8.8)
{
cout<<“\n\n\t***APROBADO***\n“;
cout<<“\n\tMatricula No. “<<Matricula;
cout<<“\n\tTipo de Carrera: “<<Carrera<<“\n\n\t“;
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
break;

case‘M’:
if (Semestre>=6)
{
if (Promedio>8.5)
{
cout<<“\n\t***APROBADO***\n“;
cout<<“\n\tMatricula No. “<<Matricula;
cout<<“\n\tTipo de Carrera: “<<Carrera<<“\n\n\t“;
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
break;

case‘L’:
if (Semestre>5)
{
if (Promedio>=8.3)
{
cout<<“\n\t***APROBADO***\n“;
cout<<“\n\tMatricula No. “<<Matricula;
cout<<“\n\tTipo de Carrera:  “<<Carrera<<“\n\n\t“;
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
break;

case‘T’:
if (Semestre>=3)
{
if (Promedio>=7.8)


{
cout<<“\n\t***APROBADO***\n“;
cout<<“\n\tMatricula No. “<<Matricula;
cout<<“\n\tTipo de Carrera: “<<Carrera<<“\n\n\t“;
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<“\n\tNo Aprobado\n\n\t“;
}
break;
}
system(“PAUSE“);
return 0;
/*Programa hecho por Raphael Alarkon
http://www.IngenieriaEnSistemasUAT.wordpress.com*/
}


DESCARGAR CODIGO FUENTE.CPP

Use la estructura SWITCH, mas complicada que la anterior.
Declare CHAR en la variable “Carrera” pero también pude declararla STRING.
Cuando se decide la Carrera, opte por teclear solo 1 letra en mayúscula, si lo desean pueden quitarlo y optar por escribir toda la palabra, sería igual ;)
El RETURN 0 no es necesario, puedes poner EXIT_SUCCES y sale igual .
En Promedio declare FLOAT la variable por puntos decimales, no todos sacamos 10 ;D
Leer más…

Categorías:C++, Programacion

Programas Secuenciales en C++ [Programas resueltos]

diciembre 13, 2010 15 comentarios

Ahora veremos como programar en C++ con pasos sencillos. Dejare de lado la teoría, solo iré explicando los pasos que uso para realizar el programa. Aclaro que como yo lo hago no es la única manera, existen demasiadas técnicas y cada usuario tiene su forma de programar.

Inicio explicando un programa sencillo. Dejo atrás el “Hola Mundo” para entrar a problemas razonados, los programas sencillos se les conoce como “Programas secuenciales” pues su estructura es sencilla, sin opciones. Usare el compilador Dev C++ que es el visto en clase.

Problema No. 1: Construya la solución que permita calcular e imprimir el cuadrado y el cubo de un número entero positivo.

Inicio, abro Dev C++ Ver 4.9.9.2 – Archivo – Nuevo – Archivo Fuente. Empiezo escribiendo las librerías que usare. Escribimos librerías, y llaves (Si quieres ahorrar los pasos, dirígete a Archivo – Nuevo – Basic – Console Aplicattion – En C++ – Aceptar – Te pide que le des nombre al proyecto y dirección para guardarlo – Aceptar).

#include <cstdlib>
#include <iostream>

using namespace std;
int main()
{
system(“PAUSE”);
return EXIT_SUCCESS;
}

Antes de escribir, es necesario especificar para qué uso cada instrucción, signo y comando, los que utilizare son y sirven para:
#include <> – Son las librerías esenciales y de inicio.
main – Instrucción que indica entrada y salida de datos.
{  – Signo que da apertura del programa o instrucción.
}  – Signo que da cierre del programa o instrucción.
int  – Declaración de variables de tipo ENTERO.
system  – Comando que permite interactuar con el compilador.
cout<<  – Instrucción que da SALIDA de datos en la pantalla
cin>>  – Instrucción de ENTRADA de datos.
“  “  – Dan SALIDA de datos escritos por el usuario.
;  – Signo que da terminada una instrucción de línea.
*  – Signo de multiplicación.
\n  – Comando que da salto de línea al ejecutar.
\t  – Comando que tabula en una línea.
endl  – Comando que da fin a una línea, similar a ;.
/* */  – Signos que permiten hacer un comentario sin afectar el programa
return – Instrucción que da fin al programa.

En el programa queda así.

  1. #include <cstdlib>
    #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int Cuadrado, Cubo, Numero;
  6. system (“color F0“);
  7. cout<<“\t\t\t***PROBLEMA No. 1 SECUENCIAL***\n\n”;
  8. cout<<“\t\t Construya la solucion que permita calcular e\n”;
  9. cout<<“\t\timprimir el cuadrado y cubo de un numero entero\n\n”;
  10. cout<<“\t\t\tDanos el valor del numero entero\n\t\t\t\t\t”;
  11. cin>>Numero;
  12. Cuadrado=Numero*Numero;
  13. cout<<“\n\t\t\t   El cuadrado del numero es “<<Cuadrado<<endl;
  14. Cubo=Numero*Numero*Numero;
  15. cout<<“\t\t\t    El cubo del numero es “<<Cubo<<endl;
  16. cout<<“\n\n\n”;
  17. system(“PAUSE”);
  18. return 0;
  19. /*Hecho por Raphael Alarkon
  20. http://www.IngenieriaEnSistemasUAT.wordpress.com*/
  21. }

Aplastamos F9 para compilar y ejecutar. Claramente se ve que el lenguaje en si no es complicado, las instrucciones son muy claras en este problema secuencial. DESCARGAR CODIGO EN .CPP


Con la instrucción system(“color F0”) se escogió fondo blanco con letras negras.
En la instrucción system(“PAUSE”) se le ordeno pausar a la pantalla para observar el resultado, sin esta instrucción el programa se ejecuta pero al mostrar resultados se cierra el programa.
Con el comando return 0 se le pide ejecutarlo 1 vez terminado el compilador.

Problema No. 2: Hacer un programa que calcule el salario total de un trabajador en base a sus horas trabajadas y la tarifa por hora.
Las percepciones son:
1. Salario bruto.
2. Un 15% del salario por apoyo de despensa.
Las deducciones son:
1. El 1% por concepto de cuota sindical sobre el salario bruto.
2. El 5% por concepto del ISR sobre el salario bruto.

El código queda así:

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float Horas, Tarifa, SalarioBruto, ApoyoDespensa, Deducciones, SueldoTotal;
system (“color F0”);
cout<<“\t\t\t***PROBLEMA 2 SECUENCIAL***\n\n”;
cout<<“\tHacer un programa que calcule el salario total de un trabajador\n”;
cout<<“\t    en base a sus horas trabajadas y la tarifa por hora.\n\n”;
cout<<“\t    Las percepciones son:\n”;
cout<<“\t    1. Salario bruto.\n”;
cout<<“\t    2. Un 15% del salario por apoyo de despensa.\n\n”;
cout<<“\t    Las deducciones son:\n”;
cout<<“\t    1. El 1% por concepto de cuota sindical sobre el salario bruto.\n”;
cout<<“\t    2. El 5% por concepto del ISR sobre el salario bruto.\n\n”;
cout<<“\t    Escriba las horas trabajadas del asalariado:\n\t    “;
cin>>Horas;
cout<<“\n\t    Escriba el pago por hora de trabajo:\n\t    “;
cin>>Tarifa;
SalarioBruto=Horas*Tarifa;
ApoyoDespensa=SalarioBruto*0.15;
Deducciones=(SalarioBruto*0.01)+(SalarioBruto*0.05);
//El 0.01 corresponde a deduccion de Cuota Sindical
//El 0.05 corresponde a deduccion de ISR
SueldoTotal=(SalarioBruto+ApoyoDespensa)-Deducciones;
cout<<“\n\t    Su Salario bruto es de; “<<SalarioBruto<<” pesos.”;
cout<<“\n\t    Su apoyo de despensa del 15% es de; “<<ApoyoDespensa<<” pesos.”;
cout<<“\n\t    Sus deducciones sobre el salario bruto es de; “<<Deducciones<<” pesos”;
cout<<“\n\n\t    El salario Neto del trabajador es; “<<SueldoTotal<<” pesos.\n\n\n”;
system(“PAUSE”);
return 0;
/*Programa hecho por Raphael Alarkon
http://www.IngenieriaEnSistemasUAT.wordpress.com*/
}

DESCARGAR CODIGO EN .CPP


Use los mismos comandos e instrucciones que el anterior.
Declare números REALES, es decir, FLOAT (Con punto decimal)
Leer más…

Categorías:C++, Programacion