100% encontró este documento útil (1 voto)
609 vistas19 páginas

Examen Final Fundamentos de Programacion PDF

Este documento presenta un examen final sobre fundamentos de programación. Incluye dos casos de estudio sobre el control de inventario de una empresa y la automatización del proceso de matrícula de una institución académica. Se pide elaborar el código fuente en C++ para ambos casos, incluyendo módulos, funciones y reportes solicitados. También se pide incluir imágenes del código y su ejecución.

Cargado por

Enmanuel Cuadros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
609 vistas19 páginas

Examen Final Fundamentos de Programacion PDF

Este documento presenta un examen final sobre fundamentos de programación. Incluye dos casos de estudio sobre el control de inventario de una empresa y la automatización del proceso de matrícula de una institución académica. Se pide elaborar el código fuente en C++ para ambos casos, incluyendo módulos, funciones y reportes solicitados. También se pide incluir imágenes del código y su ejecución.

Cargado por

Enmanuel Cuadros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Fundamentos de

Programación

Apellidos y
nombre:
BENITES MELGAREJO BETTY MILAGROS

Código:

72973554

Tema:
Tem
a:
FINAL - FUNDAMENTOS DE PROGRAMACION

Profesor:
CESAR AUGUSTO OSHIRO GUSHUKUMA
Criterio Detalle

Tema o asunto Modularización de programas: Funciones propias del Lenguaje de


Programación – Recursividad.

Enunciado Lea detenidamente las indicaciones, elabora la siguiente actividad:

1. Elaborar el programa para: Usar Módulo de MENÚ, Módulo que Procesa, Módulo
Salir, Módulo Mostrar, Librería ConvierteDatos.h, Validar con DO – WHILE y Contador-
Acumulador en:

1.1 Se tiene una empresa que desea controlar el almacén que contempla más de
2 productos; el cual cuenta con un stock inicial (Ejem: 1000, 5000, 10000), del cual
se puede:

- Ingresar el nombre del producto (Ejemplo: Caja_Colores, Papel_Bond_Millar,


Caja_de_lapices)

- Actualizar el stock de los productos con una nueva cantidad, en cualquier


momento que el usuario lo requiera.

- Ingresar un pedido de uno o dos productos para un cliente, si no se cuenta con la


cantidad solicitada, se puede dejar de atender o se puede atender solo una
parte (la indicada por el cliente) o se puede atender todo siempre y cuando se
actualice el stock.

- Reportar:

a. La cantidad de veces que se actualizó el stock de cada producto.


b. La cantidad de clientes atendidos (solo si se completó todo el pedido).
c. La cantidad de pedidos que se completaron una parte.
d. La cantidad de pedidos incompletos (dejaron de atenderse).
e. El stock de unidades que queda de cada producto.

f. El promedio de unidades vendidas usando funciones recursivas.

1.2 Se tiene una institución académica que desea automatizar su proceso de


matrícula que contemple a más de 2 estudiantes; se requiere desarrollar un
programa que pueda hacer lo siguiente:

- Ingresar datos del estudiante (Ejemplo: Nombres, Apellido Paterno, Apellido


Materno, edad, etc)

- Ingresar datos del curso (Ejemplo: Nombre, descripción, ciclo, carrera,


disponibilidad etc).

- Ingresar datos del docente (Ejemplo: Nombres, Apellido Paterno, Apellido


Materno, edad, Profesión, etc).

- Ingresar una matrícula para un estudiante, si el curso seleccionado por el


estudiante no esta disponible volver a mostrar el listado de cursos.

- Reportar la constancia de matricula:

a. Indicar datos del estudiante.


b. Indicar horarios, cursos asignados y docentes asignados.
Instrucciones • Elabora el informe con lo solicitado (1): Imagen del código en C++ y de la
ejecución con el ingreso y reporte de datos, para los casos propuestos. (2)
para presentar Elabora el código fuente en C++ para los casos propuestos.
el archivo en el • Guarda el archivo del informe y del código fuente de cada caso propuesto, en
una carpeta, lo comprimes ApellidoNombre y envíalo a través del ícono Enviar
aula virtual
Producto Académico No. 03, que encontrarás en tu aula virtual.
• Revisa la rúbrica de evaluación en la que podrás conocer los aspectos que se
evaluarán en el producto que estás entregando.
Referencias • Temas 01 y 02 de la unidad 04 del manual del curso, adjunto en el aula
para realizar la virtual del curso.
• Joyanes Aguilar, Luis. Fundamentos de Programación. 4ta. ed. España:
actividad. McGraw-Hill; 2008. P 229-231
Disponible en: Biblioteca CENDOC (libros digitales).

• Programarya: Curso de C++. Recuperado de


https://www.programarya.com/Cursos/C++/Estructuras-de-
Datos/Arreglos-o-Vectores

EXAMEN FINAL
1. Elaborar el programa para: Usar Módulo de MENÚ, Módulo que Procesa, Módulo Salir, Módulo Mostrar,
Librería LecturaDatos.h, Validar con DO – WHILE y Contador-Acumulador en:

1.1 Se tiene una empresa que desea controlar el almacén que contempla más de 2 productos; el cual
cuenta con un stock inicial (Ejem: 1000, 5000, 10000), del cual se puede:

- Ingresar el nombre del producto (Ejemplo: Caja_Colores, Papel_Bond_Millar, Caja_de_lapices)

- Actualizar el stock de los productos con una nueva cantidad, en cualquier momento que el usuario lo
requiera.

- Ingresar un pedido de uno o dos productos para un cliente, si no se cuenta con la cantidad solicitada,
se puede dejar de atender o se puede atender solo una parte (la indicada por el cliente) o se puede
atender todo siempre y cuando se actualice el stock.

- Reportar:

a. La cantidad de veces que se actualizó el stock de cada producto.


b. La cantidad de clientes atendidos (solo si se completó todo el pedido).
c. La cantidad de pedidos que se completaron una parte.
d. La cantidad de pedidos incompletos (dejaron de atenderse).
e. El stock de unidades que queda de cada producto.
f. El promedio de unidades vendidas usando funciones recursivas.
CODIGO FUENTE GENERAL
LIBRERÍA LecturaDatos.h
IMAGEN DEL CODIGO EN C++ Y DE LA EJECICIO CON EL INGRESO Y REPORTE DE DATOS. PARA
LOS CASOS PROPUESTOS.
a. La cantidad de veces que se actualizó el stock de cada producto.

b. La cantidad de clientes atendidos (solo si se completó todo el pedido).

c. La cantidad de pedidos que se completaron una parte.


d. La cantidad de pedidos incompletos (dejaron de atenderse).

e. El stock de unidades que queda de cada producto.

f. El promedio de unidades vendidas usando funciones recursiva.


1.2. ELABORA EL CODIGO FUENTE EN C++ PARA LOS CASOS PROPUESTOS

a. La cantidad de veces que se actualizó el stock de cada producto.

b. La cantidad de clientes atendidos (solo si se completó todo el pedido).

c. La cantidad de pedidos que se completaron una parte.

d. La cantidad de pedidos incompletos (dejaron de atenderse).

e. El stock de unidades que queda de cada producto.

f. El promedio de unidades vendidas usando funciones recursivas.


CODIGO C++
#include <iostream>
#include <windows.h>
#include <string>

using namespace std;

string producto [20];


string pedido1 [20];
string pedido2 [20];
string bus_producto0 [20];
string bus_producto1 [20];
string bus_producto2 [20];
int nuevo_stock1 =0;
int nuevo_stock2 =0;
int cant_pedido1 =0;
int cant_pedido2 =0;
int cant=2;
int cliente=0;
int cliente2=0;
int cont1=0;
int cont2=0;
int tipo_pedido=0;
int no_atendidos=0;
int total1=0;
int total2=0;
void inicio();
void menu ();
void salir ();
void registrar ();
void cantidad_de_veces_actualizando_el_stock ();
void cantidad_de_clientes_atendidos ();
void cantidad_de_pedidos_que_se_completaron_una_parte ();
void cantidad_de_pedidos_incompletos ();
void stock_de_producto ();
void Total_de_unidades_vendidos ();
void actualizar_sotck ();
void hacer_pedido ();
void atender_por_partes ();
void Mostrar_productos ();

void inicio () {
int option=0;
do{
cout<<"\t\***SISTEMA DE UN ALMACEN***"<<endl;
cout<<"1. Opciones."<<endl;
cout<<"2. Salir."<<endl;
cout<<"\nQue deseas Hacer?";
cin>>option;
switch(option){
case 1: system("cls");menu();break;
case 2: salir();break;
default: cout<<"No es Una Opcion Valida"<<endl;
inicio();
}
}while(!option==3);
}
void menu (){
int option=0;
do{
cout<<"Opciones para reporte de los estudiantes"<<endl;
cout<<"1. Registrar productos."<<endl;
cout<<"2. Cantidad de veces actualizando el stock."<<endl;
cout<<"3. Cantidad de clientes atendidos."<<endl;
cout<<"4. Cantidad de pedidos que se completaron una parte.."<<endl;
cout<<"5. Cantidad de pedidos incompletos (dejaron de atenderse)."<<endl;
cout<<"6. El sotck de unidades que queda en cada producto."<<endl;
cout<<"7. Total de unidades vendidos."<<endl;
cout<<"8. Actualizar Stock."<<endl;
cout<<"9. Hacer un pedido."<<endl;
cout<<"10. Mostrar productos."<<endl;
cout<<"11. Salir"<<endl;
cout<<"Que desea realizar!"<<endl<<endl;
cin>>option;
switch(option){
case 1: registrar();break;
case 2: cantidad_de_veces_actualizando_el_stock();break;
case 3: cantidad_de_clientes_atendidos();break;
case 4: cantidad_de_pedidos_que_se_completaron_una_parte();break;
case 5: cantidad_de_pedidos_incompletos();break;
case 6: stock_de_producto();break;
case 7: Total_de_unidades_vendidos();break;
case 8: actualizar_stock();break;
case 9: Hacer_pedido();break;
case 10: Mostrar_productos();break;
case 11: Salir();break;
default: cout<<"No Es Una Opcion Valida."<<endl;
menu();
}
}while(!option==11);
}
void salir (){
char finalizar[20]={'F','I','N','A','L','I','Z','A','N','D','O',' ','P','R','O','G','R','A','M','A'};

system("cls");
cout<<endl;
for(int i=0; i<20; i++) {
cout<<finalizar[i];
sleep(100);
}
sleep(300);

system("cls");
cout<<"Programa Finalizado";

void Mostrar_productos(){
system("cls");
cout<<"Prodcutos"<<endl;

cout<<"Prodcuto1:"<<nom_producto1<<":"<<stock1<<endl;
cout<<"Prodcuto2:"<<nom_producto2<<":"<<stock2<<endl;
inicio();

}
void actualizar_stock(){
system("cls");
cout<<"Actualizar stock de:"<<endl;
cin>>bus_producto0;

for(int i=1;i<=1;i++){
if(bus_producto0==nom_producto1){
cout<<"Nuevo stock de:"<<nom_producto1<<endl;
cout<<"Stock nuevo:";
cin>>nuevo_stock1;
stock1=nuevo_stock1;
cout<<"Stock Actualizado"<<endl;
cont1++;
}
if(bus_producto0==nom_producto2){
cout<<"Nuevo stock de:"<<nom_producto2<<endl;
cout<<"Stock nuevo:";
cin>>nuevo_stock2;
stock2=nuevo_stock2;
cout<<"STOCK ACTUALIZADO! "<<endl;
cont2++;
}
}
inicio();
}
void cantidad_de_veces_actualizando_el_stock(){
system("cls")
cout<<nom_producto1<<" actualizado: "<<cont1<<" veces"<<endl;
cout<<nom_producto2<<" actualizado: "<<cont1<<" veces"<<endl;
inicio();

}
void pedido_de_un_producto(){
system("cls");
cout<<"Pedido de un producto"<<endl;
cout<<"De que producto:";
cin>>bus_producto0;

if(nom_producto1==bus_producto0){
cout<<"Ingresar cantidad de pedido: ";
cin>>cant_pedido1;
if(cant_pedido1<=stock1){
total1+=cant_pedido1;
stock1-=cant_pedido1;
cout<<"Pedido Completado"<<endl;

}
cliente++;
}
if(nom_producto2==bus_producto0){
cout<<"Ingresar cantidad de pedido:";
cin>>cant_pedido2;
if(cant_pedido2<=stock2){
total2+=cant_pedido2;
stock2-=cant_pedido2;
cout<<"Pedido Completado"<<endl;

}
cliente++;
}

else{
cout<<"Insuficiente stock:"<<endl;
no_atendidos++;
}
inicio();
}
void pedido_de_dos_productos (){
system("cls")
cout<<"Pedido de dos productos!"<<endl;
cout<<"De que productos: ";
cin>>bus_producto1;
cin>>bus_producto2;

if(nom_producto1==bus_producto1 && nom_producto2==bus_producto2){


cout<<"Ingresar cantidad de pedidos: "<<endl;
cin>>cant_pedido1;
cin>>cant_pedido2;

if (cant_pedido1<=stock1 && cant_pedido2<=stock2){


total1+=cant_pedido1;
total2+=cant_pedido2;
stock1-=cant_pedido1;
stock2-=cant_pedido2;
cout<<"Pedido Completado"<<endl;
cliente2 ++;

else{
cout<<"Insuficiente stock"<<endl;

}
inicio();

}
void hacer_pedido(){
system("cls");

cout<<"Hacer pedido de uno(1), dos (2) productos o atender por partes (3)"<<endl;
cin>>tipo_pedido;
if(tipo_pedido==1){
pedido_de_un_producto();
}
if(tipo_pedido==2){
pedido_de_dos_productos();
}
if(tipo_pedido==3){
atender_por_partes();
}

}
void atender_por_partes (){
system ("cls")
cout<<"Pedido por partes"<<endl;
cout<<"De que productos:"<<endl;
cin>>bus_producto1;
cin>>bus_producto2;
if(nom_producto1==bus_producto1 && nom_producto2==bus_producto2){
cout<<"Ingresar cantidad de pedidos: "<<endl;
cin>>cant_pedido1;
cin>>cant_pedido2;

if (cant_pedido2<=stock1 && cant_pedido2<=stock2){


if(cant_pedido1<=stock1){
stock1-=cant_pedido1;
total1+=cant_pedido1;
cout<<"Completado: "<<nom_producto1<<endl;
}
if(cant_pedido2<=stock2){
stock2-=cant_pedido2;
total2+=cant_pedido2;
cout<<"Completado: "<<nom_producto2<<endl;
}

cout<<"Pedido completado"<<endl;
cliente2++;
}

else{
cout<<"Insuficiente sotck"<<endl;
no_atendidos++;
}
}

inicio();

}
void cantidad_de_pedidos_incompletos(){
system("cls")
cout<<"No atendidos: "<<no_atendidos<<endl;
inicio();
}
void cantidad_de_pedidos_que_se_completaron_una_parte(){
system("cls")
cout<<"Atendidos por partes: "<<cliente2<<endl;
inicio();

}
void cantidad_de_clientes_atendidos(){
system("cls")
cout<<"Cliente atendidos: "<<cliente<<endl;
inicio();

}
void stock_de_producto(){
system("cls")
cout<<"El stock de: "<<nom_producto1<<"es:"<<stock1<<endl;
cout<<"El stock de: "<<nom_producto2<<"es:"<<stock2<<endl;
inicio();

}
void Total_de_unidades_vendidos(){
system("cls")
cout<<"El total de: "<<nom_producto1<<"es:"<<total1<<endl;
cout<<"El total de: "<<nom_producto2<<"es:"<<total2<<endl;
inicio();
}

int main () {

inicio ();

}
2. Rúbrica de evaluación:

A continuación, se presenta la escala de valoración, en base a la cual se


evaluará el trabajo individual, donde la escala máxima por categoría equivale
a 5 puntos y la mínima, 0.

Criterios Logrado En proceso No logrado

(5 puntos) (3 puntos) (0 puntos)

Uso de la librería de Usa la librería de Usa la librería para No usa la librería o


ConvierteDatos.h en ConvierteDatos.h en ingresar la mitad de los no enlaza la librería
los módulos a usar todos los ingresos. datos solicitados. en la ejecución.
de los dos
programas.

Módulo o módulos Uso del módulo o Uso del módulo o No usa los módulos,
necesarios para la módulos necesarios módulos necesarios solo programa en el
solución. (Ejemplos: para la solución, para la solución, pero módulo principal
Módulos de invocados por el no son invocados por main.
proceso, de menú, main. el main.
de mostrar datos.)

Validación de datos Valida todos los Valida casi todos los No valida datos,
usando do-while y datos usando en datos, o solo usa do- solo ingresa.
usando if(), para conjunto do-while y while y no if(), o solo
ingresar letras o usa if(). usa if() y no usa do-
números. while.

Repite el algoritmo o Repite el algoritmo No repite el


módulo que dando la opción si algoritmo, solo
procesa, dando la desea continuar o Repite el algoritmo ejecuta una vez.
opción si desea no, usando menú de dando la opción si desea
continuar o no, opciones. continuar, con el proceso
usando menú de por día o por cliente,
opciones. pero sin mensajes.

Reporte de Datos Reporta todos los Reporta todos los Reporta solo uno
usando el módulo de datos solicitados datos del proceso, sin o ningún dato
reporte. del proceso, considerar la del proceso.
considerando la repetición
repetición.

Total

Nota:

También podría gustarte