Imprimir

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

Coloquio

Algoritmos y Estructuras de Datos

Grupo 5:

 Molina Mauro
 Aruta Elvio
 Ozamis Mariano
 Villarroel Lautaro
 Romero Enzo

1
Consigna
Ejercicio 5: “Dado un producto, indique las cantidades totales vendidas en los tres años por cada
trimestre y el total general”
Delimitación del problema:
P: Se conocen las cantidades vendidas de cada producto?
No, las ingresa el usuario.
P: Se conocen las cantidades vendidas totales?
No, se calculan luego de que el usuario ingrese las cantidades por producto.

Análisis del problema:


Entrada
Listado[3,4,10]: Es un arreglo de tipo entero donde se guardaran todas las cantidades de los
productos vendidas por trimestre y por años.
Producto: Es una variable de tipo entero que indicara el producto el cual se quiere consultar sus
cantidades vendidas.
Proceso
Se llena el listado, luego se ingresa el producto el cual se quiere consultar las cantidades vendidas o si
se quiere consultar el total de cantidades vendidas de todos los productos.
Salida
Listado [3,4,10]: El listado actualizado con todas las cantidades vendidas.
VTotal: Mostrara las cantidades totales vendidas de todos los productos.
Vparcial: Muestra la cantidad vendida del producto por trimestre.

Diseño del algoritmo:

2
En Pseudocodigo:

PROGRAMA CALCULAR VENTAS


//SUBPROGRAMAS
PROCEDIMIENTO llenarListado(por ref. Listado[3,4,10]: ENTERO)
VAR I, J, K:ENTERO
INICIO
VARIAR I DESDE 1 HASTA 3
VARIAR J DESDE 1 HASTA 4
VARIAR K DESDE 1 HASTA 10
REPETIR
ESCRIBIR(“Ingrese la cantidad vendida del producto”, K, “”, “en el trimestre”, J,””,
“en el año”, I+2014)
LEER(Listado[I,J,K])
HASTA QUE (Listado[I,J,K] >= 0)
FIN VARIAR
FIN VARIAR
FIN VARIAR
FIN PROCEDIMIENTO
PROCEDIMIENTO ventasParcial( por ref.productos, por ref.cosas[3,4,10]: ENTERO)
VAR I, J :ENTERO
INICIO
VARIAR I DESDE 1 HASTA 3
VARIAR J DESDE 1 HASTA 4
ESCRIBIR(“Se vendió”, cosas[I, J, productos], “cantidades de ese producto en el año”,””,
I+2014,””, “en el”, J, “trimestre”)
FIN VARIAR
FIN VARIAR
3
FIN PROCEDIMIENTO

FUNCION ventasTotal(cosas[3,4,10]: ENTERO) : ENTERO


VAR acumulador, I, J, K:ENTERO
INICIO
acumulador = 0
VARIAR I DESDE 1 HASTA 3
VARIAR J DESDE 1 HASTA 4
VARIAR K DESDE 1 HASTA 10
acumulador = acumulador + cosas[I, J, K]
FIN VARIAR
FIN VARIAR
FIN VARIAR
ventasTotal = acumulador
RETORNO
//PROGRAMA PRINCIPAL
VAR listados[3, 4, 10], vTotal, producto : ENTERO
INICIO
llenarListado(listados[])
REPETIR
ESCRIBIR(“Ingrese producto para consultar cantidad de ventas parciales y totales”)
LEER(producto)
HASTA QUE (producto > 0 [Y] producto <= 10)
ventasParcial(producto, listados[])
vTotal = ventasTotal(listados[])
ESCRIBIR("La cantidad total vendida del producto en los ultimos tres años fue de”, vTotal)
FINPROGRAMA

4
En C++ (Con carga manual):

#include <iostream>

#include <stdlib.h>

#include<stdio.h>

using namespace std;

void llenarListado(int listado[3][4][10]){

for(int i=0; i<3; i++){

for(int o=0; o<4; o++){

for(int u=0; u<10; u++){

cout << "Ingrese la cantidad vendida del producto " << u+1 << " en el trimestre " << o+1 << " en el anio " << i+1
<<": ";

cin >> listado[i][o][u];

if((u+1)>9){

system("cls");

system("PAUSE");

int ventasParcial(int producto, int cosas[3][4][10]){

int contadorVendido=0;

for(int i=0; i<3; i++){

for(int o=0; o<4; o++){

cout << "Se vendio " << cosas[i][o][producto] << " cantidades del producto " << producto <<" en el Año: " <<
2014+i << ", Trimestre: " << o+1 << endl;

contadorVendido += cosas[i][o][producto];

}
5
return contadorVendido;

int ventasTotal(int cosas[3][4][10]){

int acumulador = 0;

for(int i=0; i<3; i++){

for(int o=0; o<4; o++){

for(int u=0; u<10; u++){

acumulador += cosas[i][o][u];

return acumulador;

int main(){

int listado[3][4][10], opcion, producto;

llenarListado(listado);

cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un producto ingresado" << endl <<
"2- Consultar cantidades vendidas totales (cantidades de todos los productos)" << endl <<"3- SALIR" << endl;

cin >> opcion;

bool salida = false;

while(!salida){

switch(opcion){

case 1:

do{

cout << "Ingrese un producto para consultar las ventas parciales (por trimestre) y ventas totales de ese
producto (Cantidad vendida en los 3 años por cada trimestre): ";

cin >> producto;

}while(producto>10 || producto <=0);

producto -= 1;
6
cout << "Se vendio " << ventasParcial(producto, listado) << " cantidades del producto: " << producto+1 <<endl;

system("PAUSE");

system("cls");

cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un producto ingresado" <<
endl << "2- Consultar cantidades vendidas totales (cantidades de todos los productos)" << endl <<"3- SALIR" << endl;

cout << "Ingrese una nueva opcion: ";

cin >>opcion;

break;

case 2:

cout << "Las cantidades vendidas totales son: " << ventasTotal(listado) << endl;

system("PAUSE");

system("cls");

cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un producto ingresado" <<
endl << "2- Consultar cantidades vendidas totales (cantidades de todos los productos)" << endl <<"3- SALIR" << endl;

cout << "Ingrese una nueva opcion: ";

cin >>opcion;

break;

case 3:

salida = true;

break;

default:

cout << "Opcion no valida, ingrese otra opcion..." << endl;

cin >> opcion;

break;

}
7
}

En C++ (con rand()%101)

#include <iostream>
#include <stdlib.h>
#include<stdio.h>
using namespace std;
void llenarListado(int listado[3][4][10]){
for(int i=0; i<3; i++){
for(int o=0; o<4; o++){
for(int u=0; u<10; u++){
listado[i][o][u] = rand()%101;
}
}
}
}
int ventasParcial(int producto, int cosas[3][4][10]){
int contadorVendido=0;
for(int i=0; i<3; i++){
for(int o=0; o<4; o++){
cout << "Se vendio " << cosas[i][o][producto] << " cantidades del producto " << producto <<"
en el Año: " << 2014+i << ", Trimestre: " << o+1 << endl;
contadorVendido += cosas[i][o][producto];
}
}
return contadorVendido;

8
}

int ventasTotal(int cosas[3][4][10]){


int acumulador = 0;
for(int i=0; i<3; i++){
for(int o=0; o<4; o++){
for(int u=0; u<10; u++){
acumulador += cosas[i][o][u];

}
}
}
return acumulador;
}
int main(){
int listado[3][4][10], opcion, producto;
llenarListado(listado);
cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un producto
ingresado" << endl << "2- Consultar cantidades vendidas totales (cantidades de todos los productos)"
<< endl <<"3- SALIR" << endl;
cin >> opcion;
bool salida = false;
while(!salida){
switch(opcion){
case 1:
do{
llenarListado(listado);

9
cout << "Ingrese un producto para consultar las ventas parciales (por trimestre) y ventas
totales de ese producto (Cantidad vendida en los 3 años por cada trimestre): ";
cin >> producto;
}while(producto>10 || producto <=0);
producto -= 1;
cout << "Se vendio " << ventasParcial(producto, listado) << " cantidades del producto: " <<
producto+1 <<endl;
system("PAUSE");
system("cls");
cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un
producto ingresado" << endl << "2- Consultar cantidades vendidas totales (cantidades de todos los
productos)" << endl <<"3- SALIR" << endl;
cout << "Ingrese una nueva opcion: ";
cin >>opcion;
break;
case 2:
llenarListado(listado);
cout << "Las cantidades vendidas totales son: " << ventasTotal(listado) << endl;
system("PAUSE");
system("cls");
cout << "Ingrese una opcion:" << endl <<"1- Consultar cantidades totales vendidas de un
producto ingresado" << endl << "2- Consultar cantidades vendidas totales (cantidades de todos los
productos)" << endl <<"3- SALIR" << endl;
cout << "Ingrese una nueva opcion: ";
cin >>opcion;
break;
case 3:
salida = true;
break;
10
default:
cout << "Opcion no valida, ingrese otra opcion..." << endl;
cin >> opcion;
break;
}
}
}

11

También podría gustarte