You are on page 1of 12

INTRODUCCION

En este trabajo se encontraran temas puntuales como lo son ciclos, arreglos unidimensionales
y bidimensionales, condiciones y el elemento en ingles en la parte que interactúa con el
usuario.
Adicionalmente, se ha profundizado el tema para generar un ciclo infinito, con lo que se
conoce como “Método Burbuja”.
Todo con el fin de dar solución a un problema planteado en clase, y ser presentado como
proyecto final.
OBJETIVOS

OBJETIVO GENERAL

Plantear, examinar y resolver diferentes situaciones donde el empleo de algoritmos


es completamente necesario.

OBJETIVOS ESPECÍFICOS

 Identificar y manipular los diferentes tipos de datos


 Emplear estratégicamente estructuras repetitivas
 Diseñar y realizar el análisis de algoritmos para dar solución a un problema
ENUNCIADO

Simulador almacén de camisas: Un almacén de venta de diferentes tipos de camisas, realiza


sus ventas de acuerdo con las siguientes condiciones:
Para ventas en efectivo, se les descuenta un 8%
Para ventas en cheque, se les descuenta un 4%
Para ventas con tarjeta, se les descuenta un 2%
Cuando un cliente realiza una compra se generan los siguientes datos: Forma de pago,
cantidad de camisas compradas, precio por camisa. (Guardar la información en arreglos).
Elaborar un programa que permita, procesar las ventas realizadas en un día e imprima el
siguiente reporte:
Número total de ventas del día
Número de ventas realizadas con pago en efectivo y valor de la venta
Número de ventas realizadas con pago en cheque y valor de la venta
Número de ventas realizadas con pago en tarjeta y valor de la venta
Subtotal del valor de las ventas en día
Valor total de los descuentos realizados
Total ventas netas
El programa debe mostrar toda la interfaz en inglés (Mensajes, Opciones, Resultados, Etc.)
TABLA DE VARIABLES

Nombre Descripción Tipo


Arreglo Bidimensional para
guardar la forma de pago, la
A[3,3] cantidad de ventas por cada Numérico
forma de pago y el valor
total de cada forma de pago
Acumulador del número de
E Numérico
ventas en Efectivo
Acumulador del número de
C Numérico
ventas en Cheque
Acumulador del número de
T Numérico
ventas con Tarjeta
Condición para repetir
Ex indefinidas veces un Numérico
(MIENTRAS)
Condición para repetir una
Q estructura repetitiva Numérico
(PARA)
Condición para repetir
F indefinidas veces un Numérico
(MIENTRAS)
Acumulador de la cantidad
SC Numérico
de camisas solicitadas
Acumulador del valor total
SU Numérico
de las camisas
Número de camisas
CC Numérico
solicitadas
Valor por unidad de las
CU Numérico
camisas solicitadas
Condición para repetir
M1 indefinidas veces un Numérico
(MIENTRAS)
Variable que permite repetir
o no la solicitud del
producto y su respectivo
MC Numérico
costo, como una camisa con
un precio distinto a la
primera unidad solicitada
Tipo de pago: Efectivo,
Tpago Numérico
Cheque, Tarjeta
Condición para repetir
M2 indefinidas veces un Numérico
(MIENTRAS)
Variable que almacena el
Des valor del descuento del Numérico
subtotal
Total Valor neto a pagar Numérico
Subtotal, total valor sin
Sub Numérico
descuento
SubDes Valor total del descuento Numérico
Condición para repetir
M3 indefinidas veces un Numérico
(MIENTRAS)
Opción para generar o no
O3 Numérico
una factura
Condición para repetir
M4 indefinidas veces un Numérico
(MIENTRAS)
Opción para clausurar un
día y salir del programa o
O4 Numérico
para ingresar una nueva
venta.
Variable que pertenece a
una estructura repetitiva
I Numérico
(PARA), para trasladarse en
las filas de una matriz 3x3
Variable que pertenece a
una estructura repetitiva
J (PARA), para trasladarse en Numérico
las columnas de una matriz
3x3
PSEUDOCODIGO

Algoritmo Proyecto_final
Dimension A[3,3]
A[1,1]<-1
A[2,1]<-2
A[3,1]<-3
E<-0//Cantidad de ventas en efectivo//
C<-0//Cantidad de ventas en cheque//
T<-0//Cantidad de ventas en tarjeta//
Ex<-0
Mientras Ex=0 Hacer
Ex<-1
Para Q<-1 Hasta 1 Con Paso 1 Hacer
F<-0//Menù 1//
SC<-0
SU<-0
Mientras F=0 Hacer
F<-1
Escribir 'How many shirts do you want to buy?'
Leer CC
SC<-SC+CC
Escribir 'Cost per unit'
Leer CU
SU<-SU+(CC*CU)
M1<-0//Menu 1, sub 1//
Mientras M1=0 Hacer
M1=1
Escribir 'Do you want to register another shirt of
different price?'
Escribir '1. Yes'
Escribir '2. No'
Leer MC
Si MC=1 Entonces
F<-0
SiNo
Si MC<=0 o MC>2 Entonces
Escribir ' '
Escribir 'ALERT: Enter a valid option'
Escribir ' '
M1=0
Fin Si
Fin Si
Fin Mientras
Fin Mientras
Escribir 'Select the payment method'
Escribir '1. Cash'
Escribir '2. Check'
Escribir '3. Card'
Leer TPago
M2<-0 //Menu 2//
Mientras M2=0 Hacer
M2=1
Si TPago = 1 Entonces
Des<-SU*0.08
Total<-SU-Des
E<-E+1
Sub<-Sub+SU
SubDes<-SubDes+Des
SiNo
Si TPago = 2 Entonces
Des<-SU*0.04
Total<-SU-Des
C<-C+1
Sub<-Sub+SU
SubDes<-SubDes+Des
SiNo
Si TPago = 3 Entonces
Des<-SU*0.02
Total<-SU-Des
T<-T+1
Sub<-Sub+SU
SubDes<-SubDes+Des
SiNo
Si TPago<=0 o TPago>3 Entonces
Escribir 'ALERT: Enter a valid
option'
M2=0
Fin Si
Fin Si
Fin Si
Fin Si
Fin Mientras
Si TPago = 1 Entonces
A[1,2]<-E
SiNo
Si TPago = 2 Entonces
A[2,2]<-C
SiNo
Si TPago = 3 Entonces
A[3,2]<-T
Fin Si
Fin Si
Fin Si
Si TPago = 1 Entonces
A[1,3]<-A[1,3]+Total
SiNo
Si TPago = 2 Entonces
A[2,3]<-A[2,3]+Total
SiNo
Si TPago = 3 Entonces
A[3,3]<-A[3,3]+Total
Fin Si
Fin Si
Fin Si
M3<-0
Mientras M3=0 Hacer
M3<-1
Escribir 'Do you want to generate the invoice for the current
sale?'
Escribir '1. Yes'
Escribir '2. No'
Leer O3//Menu 3//
Escribir ' '
Si O3=1 Entonces
Escribir 'Bill'
Escribir 'Number of shirts purchased: ',SC
Escribir 'Subtotal: $',SU
Escribir 'Discount: $',Des
Escribir 'Total to pay: $',Total
Escribir ' '
SiNo
Si O3<=0 o O3>2 Entonces
Escribir 'ALERT: Enter a valid option'
M3<-0
Fin Si
Fin Si
Fin Mientras
M4<-0
Mientras M4=0 Hacer
M4=1
Escribir 'Select an option'
Escribir '1. Make another sale'
Escribir '2. Perform report of the day and Exit'
Leer O4
Si O4=1 Entonces
Ex<-0
SiNo
Si O4=2 Entonces
Escribir ' '
Escribir '1. Cash'
Escribir '2. Check'
Escribir '3. Card'
Escribir ' '
Escribir 'Type of payment Quantity
sale value'
Para I<-1 Hasta 3 Con Paso 1 Hacer
Para J<-1 Hasta 3 Con Paso 1 Hacer
Escribir Sin Saltar ' ',A[I,J],'
'
Fin Para
Escribir ' '
Fin Para
SiNo
Si O4<=0 o O4>2 Entonces
Escribir 'ALERT: Enter a valid option'
M4<-0
Fin Si
Fin Si
Fin Si
Fin Mientras
Fin Para
Fin Mientras
Escribir ' '
Escribir 'The subtotal of the sales made is: $',Sub,', The total discounts are:
$',SubDes,', The net total of sales is: $',Sub-SubDes
FinAlgoritmo
DIAGRAMA DE FLUJO
CONCLUSIONES

Tras realizar el programa solicitado, se puede notar que hay una infinidad de procesos que se
pueden llevar a un diagrama de flujo, a un pseudocodigo o incluso a códigos más avanzados.
Con el fin de facilitar algunos procesos, ya sean numéricos o simplemente administrativos.

Al dejar ciertos procesos de forma desatendida o automática, nos podemos enfocar en otros
aspectos tal vez más importantes a la hora de realizar un trabajo.

Finalmente cabe resaltar que al disminuir la cantidad de procesos realizador por el mismo
hombre, también hay una disminución en el tiempo utilizado y probablemente en sus
márgenes de error e inversiones inmediatas o futuras.
BIBLIOGRAFIA

https://tutorias.co/ciclo-mientras-pseint-ordenamiento-burbuja/
https://es.slideshare.net/pavillalta/estructura-repetitiva-mientras-while-con-pseint

You might also like