Computing">
Documento Proyecto Programacion
Documento Proyecto Programacion
Documento Proyecto Programacion
SAVIO
Sucre-Bolivia
2022
Se realizará un programa capaz de realizar de forma automática cualquier proceso de
una operación seleccionada por el usuario, con este programa podrás solicitar la
operación requerida para optimizar cualquier tarea que desees realizar.
El programa que se desarrolló tendrá las funciones más básicas y fundamentales que
tendrá como propósito general desarrollar un modelo de programa de recepción de
datos basados en un menú opcional. Ofreciendo al usuario un uso muy sencillo y
comprensible de esta.
1.3 Objetivos
1.3.1 Objetivo General
Utilizar las distintas estructuras lógicas introducidas en base a la programación c++
para desarrollar un programa practico y eficiente que realice diversas operaciones
mediante un menú de selección.
1.3.2 Objetivos Específicos
Realizar un programa optimo y funcional que se pueda ejecutar.
Mediante lo aprendido en la materia desarrollar un programa que optimice y
brinde una facilidad de selección mediante un menú de opciones.
Determinar las operaciones para el desarrollo del programa a través de un
análisis de requerimientos
Usar las estructuras de control aprendidas en la materia para realizar el
programa
Sucre-Bolivia
2022
mediante el desarrollo del trabajo se realizarán decisiones que ayude a tomar mejores
decisiones al momento de usar la información de programación y poder tener nuevos
juicios e ideas que ayude a tener un programa que sea óptimo.
CAPITULO II
MARCO TEORICO CONCEPTUAL
El lenguaje de programación C++ es un lenguaje que proviene de la extensión del
lenguaje C para que pudiese manipular objetos.
Algunas características más importantes que posee el lenguaje C++ son.
Compatibilidad con bibliotecas, a través de bibliotecas hay muchas funciones que están
disponibles y que ayudan a escribir el código más rápidamente.
Es didáctico porque aprendiendo programación del lenguaje C++ luego es mucho más
fácil aprender lenguajes como Java, PHP, Java Script.
El foco de la programación C++ está orientada a objetos en la manipulación y
configuración de sus distintos parámetros y propiedades.
(Marisol, Edie, Luisa, & Zulma, 2007) (Marisol, Edie, Luisa, & Zulma, 2007)La base de nuestra
programación estará definida en el lenguaje C++ donde se introducen características
nuevas respecto al Pascal o C.
Estudiaremos el soporte del lenguaje del C++ a la programación imperativa, a la forma
de definir y utilizar los tipos de datos, las variables, las operaciones aritméticas, las
estructuras de control y las funciones.
Tipos de datos y operadores
Los tipos elementales definidos en C++ son:
char, short, int, long, que representan enteros de distintos tamaños (los caracteres son
enteros de 8 bits).
float, double y long double, que representan números reales (en coma flotante).
Para declarar variables de un tipo determinado escribimos el nombre del tipo seguido
del de la
variable. Por ejemplo:
int i;
double d;
char c;
Sucre-Bolivia
2022
Sobre los tipos elementales se pueden emplear los siguientes operadores aritméticos:
+ (más, como signo o como operación suma)
- (menos, como signo o como operación resta)
* (multiplicación)
/ (división)
% (resto)
Y los siguientes operadores relacionales:
== (igual)
! = (distinto)
< (menor que)
> (mayor que)
<= (menor o igual que)
>= (mayor o igual que)
Sucre-Bolivia
2022
while instrucción de iteración con condición inicial
for instrucción de iteración especial (similar a las de repetición con
contador)
De salto:
break instrucción de ruptura de secuencia (sale del bloque de un bucle o
instrucción condicional)
continue instrucción de salto a la siguiente iteración (se emplea en bucles
para saltar a la posición donde se comprueban las condiciones)
goto instrucción de salto incondicional (salta a una etiqueta)
return instrucción de retorno de un valor (se emplea en las funciones)
2.1.1 La condicional
If
es una instrucción de decisión que se empieza escribiendo la sentencia (if) diciendo
que si se cumple la condición que se encuentra seguida dentro de paréntesis después
de la sentencia (if), así evaluando un proceso que sucedió anteriormente y si se cumple
realiza el proceso que se encuentra dentro del bloque de la sentencia y si no se cumple
pasa a la siguiente orden sin ejecutar el proceso que se encuentra dentro de la
sentencia. (Paszniuk, 2013)
Else
Esta instrucción tiene una similitud con la anterior ya que esta la sigue a la sentencia
(if) ya que si esta condición no se llega a cumplir caso contrario se va a realizar el
proceso dentro del bloque del (Else) y si no es el caso se llega a ignorar esta.
(Paszniuk, 2013).
2.1.2 Estructura de control repetitiva (for)
La estructura repetitiva For (desde) es aquella en la que el número de iteraciones se
conoce por anticipado, y por ello no se precisa poner ninguna condición de salida para
detener el bucle. En su lugar un contador cuenta el número de iteraciones fijas y se
termina cuando llega al valor final previamente definido.
2.1.3 Estructura de control repetitiva (while)
Primeramente realiza un análisis ordenes ya procesadas anteriormente y luego pasa a
la estructura while y si su condición ya ordenada anteriormente resulta ser verdadera
entra en el bloque del while y realiza los procesos dentro de este y al finalizar vuelve a
analizar la misma condición del while y si resulta ser otra vez cierta nuevamente entra
en el bucle, también puede haber una posibilidad que al analizar la condición por
Sucre-Bolivia
2022
primera vez esta puede llegar a ser falsa y no llegue a entra en el while nunca. (Muñoz,
2022).
2.1.4 Estructura de control repetitiva (do while)
La sentencia (hacer mientras) crea un bucle que ejecuta una sentencia especificada, hasta que
la condición de comprobación se evalúa como falsa. La condición se evalúa después de
ejecutar la sentencia, dando como resultado que la sentencia especificada se ejecute al menos
una vez.
CAPITULO III
PROPUESTA
Desarrollar un menú de selección que realiza las siguientes operaciones
a. Implemente un programa que nos diga si un número ha conseguido o no el
reintegro en el sorteo de la lotería nacional. Un número consigue el reintegro si
su primera o última cifra coincide con la primera o última cifra del número
agraciado en el sorteo.
b. Realizar un programa que muestre los pagos que recibirá un trabajador por cada
hora laboral en base a la hora del día en que trabaja. El usuario deberá escribir
el número de horas trabajadas en cada uno de los horarios y el programa
determinará el total de dinero a recibir por el trabajador y también dirá si ganó
más dinero por horas extras que por horas de oficina trabajadas o viceversa, o si
el trabajador ganó exactamente lo mismo por horas extras que por horas de
oficina.
d. Diseñe un programa que indique si dos números son amigos. Dos números son
amigos si cada uno es igual a la suma de divisores del otro excepto el propio
número. Por ejemplo, 284 y 220 son amigos
e. Que rellene un array con los números primos comprendidos entre 1 y 100 y los
muestre en pantalla en orden ascendente
CAPITULO IV
Sucre-Bolivia
2022
RESULTADOS
4.1 Codificación del algoritmo en lenguaje de programación
#include <iostream>
using namespace std;
void reintegrado(){
int v[5],n;
bool x=false;
cout<<"\t\t\t\t ----------REINTEGRADO DE UN NUMERO EN UN
SORTEO------------"<<endl;
cout<<"\t\t\t\t Ingrese su numero de 5 cifras para verificar si
consiguio"<<endl;
cout<<"\t\t\t\t el reintegro en la loteria nacional : ";
do{
cin>>n;
cout<<"\t\t\t\t -----------------------------------------------------------"<<endl;
if (n<100000 && n>=10000){
cout<<"\t\t\t\t El numero agraciado de la LOTERIA NACIONAL
es [24719]"<<endl;
for (int i=0;n>0;i++){
v[i]=n%10;
n=n/10;
}
if (v[0]==9 || v[0]==2 || v[4]==2 || v[4]==9)
cout<<"\t\t\t\t Su numero ingresado ha consiguio el
reintegro"<<endl;
else
cout<<"\t\t\t\t Su numero ingresado no ha conseguido el
reintegro"<<endl;
Sucre-Bolivia
2022
x=true;
}
else{
cout<<"\t\t\t\t Ingrese solo un numero de 5 cifras :";
x=false;
}
}while (x==false);
cout<<endl;
system("pause");
system ("cls");
}
void pago_trabajador(){
int dh,th,nh,pa,ex,st,sumah,sumae;
cout<<"\t\t\t\t -----PAGO DE UN TRABAJDOR POR HORA
LABORAL-----"<<endl;
do{
cout<<"\t\t\t\t Cuantas horas trabajo en el turno de dia :" ;
cin>>dh;
if (dh>5)
cout<<"\t\t\t\t !El turno del dia no puede pasar las 5
horas¡"<<endl<<endl;
}while (dh>5);
do{
cout<<"\t\t\t\t Cuantas horas trabajo en el turno de la tarde :" ;
cin>>th;
if (th>5)
Sucre-Bolivia
2022
cout<<"\t\t\t\t !El turno de la tarde no puede pasar las 5
horas¡"<<endl<<endl;
}while (th>5);
do{
cout<<"\t\t\t\t Cuantas horas trabajo en el turno de la noche :" ;
cin>>nh;
if (nh>5)
cout<<"\t\t\t\t !El turno de la noche no puede pasar las 5
horas¡"<<endl<<endl;
}while (nh>5);
cout<<"\t\t\t\t Ingrese las horas extra que hizo"<<endl;
cout<<"\t\t\t\t (el pago sera el doble por hora): ";
cin>>ex;
cout<<"\t\t\t\t Ingrese cuanto es el pago por hora en Bs:";
cin>>pa;
cout<<"\t\t\t\t -----------------------------------------------"<<endl;
cout<<endl;
st=((dh+th+nh)*pa)+((ex*pa)*2);
sumah=(dh+th+nh)*pa;
sumae=(ex*pa)*2;
cout<<"\t\t\t\t El pago total que recibira el trabjador es de: Bs"<<st<<endl;
if(sumah>sumae)
cout<<"\t\t\t\t Las ganancias por el trabajo de oficina es mayor al
trabajo por horas extras"<<endl;
else
cout<<"\t\t\t\t Las ganancias por las horas extras es mayor al trabajo
de oficina"<<endl;
cout<<endl;
Sucre-Bolivia
2022
system("pause");
system ("cls");
}
void numero_perfecto()
{
int n,s=0;
cout<<"\t\t\t\t\t ---------NUMERO PERFECTO---------"<<endl;
cout<<"\t\t\t\t\t Digite un numero para verificar : ";
cin>>n;
cout<<"\t\t\t\t\t --------------------------------"<<endl;
for (int i=1;i<n;i++){
if(n%i==0){
s=s+i;
}
}
if(s==n)
cout<<"\t\t\t\t\t El numero '"<<n<<"' es perfecto"<<endl;
else
cout<<"\t\t\t\t\t El numero '"<<n<<"' no es perfecto"<<endl;
cout<<endl;
system("pause");
system ("cls");
}
void numeros_amigos()
{
int s1=0,s2=0,n1,n2;
Sucre-Bolivia
2022
cout<<"\t\t\t\t\t ---------NUMEROS AMIGOS---------"<<endl;
cout<<"\t\t\t\t\t Ingresar el primero numero : ";
cin>>n1;
cout<<"\t\t\t\t\t Ingresar el segundo numero : ";
cin>>n2;
cout<<"\t\t\t\t\t --------------------------------"<<endl;
for (int i=1;i<n1;i++){
if(n1%i==0){
s1=s1+i;
}
}
for (int i=1;i<n2;i++){
if(n2%i==0){
s2=s2+i;
}
}
if (s1==n2 && s2==n1)
cout<<"\t\t\t\t\t Los numeros introducidos son amigos"<<endl;
else
cout<<"\t\t\t\t\t Los numeros introducidos no son amigos"<<endl;
cout<<endl;
system("pause");
system ("cls");
}
void suma_array(){
Sucre-Bolivia
2022
cout<<"\t\t\t\t\t ----------SUMA DE DOS ARRAYS----------"<<endl;
int vector1[5],vector2[5],vector3[10],i;
for(i=0;i<5;i++){
cout<<"\t\t\t\t\t Ingrese un numero en el primer array : ";
cin>>vector1[i];
}
for(i=0;i<5;i++){
cout<<"\t\t\t\t\t Ingrese un numero en el segundo array: "
;cin>>vector2[i];
}
for(i=0;i<5;i++)
{
vector3[i]=vector1[i];
}
for(i=0;i<5;i++)
{
vector3[5+i]=vector2[i];
}
cout<<"\t\t\t\t\t La suma de los dos arrays es :"<<endl;
cout<<"\t\t\t\t\t ";
for(i=0;i<10;i++){
cout<<" "<<vector3[i];
}
cout<<endl<<endl;;
system("pause");
system ("cls");
Sucre-Bolivia
2022
}
int main(int argc, char *argv[]) {
int opcion;
do{
cout<<"\t\t\t\t\t ______________________________________"<<endl;
cout<<"\t\t\t\t\t| MENU DE OPCIONES |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 1.- Reintegrado de un numero |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 2.- Pago que recibira un trabajador |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 3.- Numero perfecto |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 4.- Numeros amigos |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 5.- Suma de dos arras |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\t| 6.- SALIR |"<<endl;
cout<<"\t\t\t\t\t|______________________________________|"<<endl;
cout<<"\t\t\t\t\tPor favor ingrese una ocpion :";cin>>opcion;
system ("cls");
switch (opcion){
case 1:
reintegrado();
break;
Sucre-Bolivia
2022
case 2:
pago_trabajador();
break;
case 3:
numero_perfecto();
break;
case 4:
numeros_amigos();
break;
case 5:
suma_array();
break;
}
}while (opcion!=6);
cout<<"¡¡¡GRACIAS POR SU ATENCION!!!";
return 0;
}
4.2 Codificación del programa C++
Sucre-Bolivia
2022
Sucre-Bolivia
2022
Sucre-Bolivia
2022
4.3 PRUEBAS DE EJECUCIN DEL PROGRAMA
Figura 1. Ejecución del programa (menú principal).
Sucre-Bolivia
2022
- Se puede observar la ejecución del programa con sus diversas opciones que
tiene aparte muestra una opción que permite escoger una de las opciones.
Sucre-Bolivia
2022
-En esta opción nos dice ingresar las horas que se trabajo en el turno de la
mañana, tarde y noche aparte pide las horas extras que se hizo y así realiza las
operaciones y nos imprime las ganancias totales antes de haber pedido ingresar
el pago por hora, también nos imprime una opción si gano mas con las horas
extras o con las horas de oficina.
-En esta opción nos dice ingresar un número y este será verificado para saber si
es o no perfecto e imprimiendo el resultado.
Sucre-Bolivia
2022
- Cuando se ingresó a la opción cuatro el programa pidió 2 números para
realizar los procesos internos en el programa y verificar en este caso si los
2 números introducidos son amigos o no.
CONCLUSIONES Y RECOMENDACIONES
Sucre-Bolivia
2022
Tenemos el conocimiento básico general que implica la programación usando
las diversas estructuras lógicas para realizar un menú que realizo diversas
operaciones.
El programa se logro ejecutar exitosamente para realizar sus diversas
operaciones.
Se optimizo el programa gracias a lo aprendió en la materia aparte que se facilito
el uso del menú.
Se determino y se hizo un análisis que nos permitió realizar las operaciones
matemáticas y entre otras para el funcionamiento de las opciones del menú.
Se uso las estructuras de control para realizar y optimizar el programa usando
las estructuras con diversas decisiones.
El proyecto funciona para un óptimo funcionamiento de un programa de
selección.
La programación es muy importante en la vida ya que en la actualidad la
tecnología esta implementada en vareas áreas de trabajo
Realizar una simulación y así verificar el funcionamiento.
Verificar si el programa corre bien para que no haya problemas
BIBLIOGRAFIA
Sucre-Bolivia
2022
Muñoz, J. D. (20 de octubre de 2022). PLEDIN 3.0. Obtenido de PLEDIN 3.0:
https://plataforma.josedomingo.org/pledin/cursos/programacion_python3/curso/
u17/#:~:text=La%20instrucci%C3%B3n%20while%20ejecuta%20una,mientras
%20una%20condici%C3%B3n%20sea%20verdadera.&text=Al%20ejecutarse
%20esta%20instrucci%C3%B3n%2C%20la,forman%20el%20
Paszniuk, R. (17 de abril de 2013). Programacion py. Obtenido de programacion py:
https://www.programacion.com.py/escritorio/c/estructuras-de-control-en-c
Marisol, C., Edie, D., Luisa, C., & Zulma, A. (2007). EL SOFTWARE MATEMÁTICO
COMO HERRAMIENTA PARA EL DESARROLLO DE HABLILIDADES DEL
PENSAMIENTO Y MEJORAMIENTO DEL APRENDIZAJE. Costa Rica: Instituto
de Investigación en Educación. Obtenido de EL SOFTWARE MATEMÁTICO
COMO HERRAMIENTA PARA EL DSDSS.
Sucre-Bolivia
2022