Algoritmia - Ayuda problema de Un supermercado con varios clientes

 
Vista:

Ayuda problema de Un supermercado con varios clientes

Publicado por Haru (1 intervención) el 03/10/2018 02:59:00
Tengo un problema con mi pseudocódigo, a partir del segundo cliente se suman las cantidades anteriores a la del siguiente, en vez de quedar con su compra
Este es el problema
1. En un supermercado, hay 3 departamentos (de ropa, comestibles y perfumería), en los cuales se realizan un descuento de 5%, 3.5% y 8% respectivamente, por las compras totales mayores de $100.00. Diseñe un DF que dado el monto de la compra, realice los descuentos pertinentes por departamento, le indique al usuario a cuánto asciende su nuevo monto e indique, cuanto fue lo recaudado al final del día. Teniendo en cuenta para 3 clientes, y preguntar si desea comprar en el mismo departamento y/o de otro departamento.
Este es el pseudocódigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Algoritmo sin_titulo
	acumulador1 <- 0
	acumulador2 <- 0
	acumulador3 <- 0
	Para n<-1 Hasta 3 Hacer
		Escribir 'Bienvenido al supermercado Mi tec'
		Repetir
			acu <- 0
			Escribir '1. DEPARTAMENTO DE ROPA'
			Escribir '2. DEPARTAMENTO DE COMESTIBLES'
			Escribir '3.DEPARTAMENTO DE PERFUMERIA'
			Escribir 'Ingrese el numero de departamento'
			Leer nd
			Segun nd  Hacer
				1:
					acu1 <- 0
					Repetir
						Escribir 'Prenda a comprar '
						Escribir '1.Pantalon '
						Escribir '2.Blusa'
						Escribir '3.Playera'
						Escribir 'El numero de la prenda'
						Leer C
						Segun C  Hacer
							1:
								Escribir '¿Cuantos pantalones lleva?'
								Leer P
								T1 <- 150*P
							2:
								Escribir '¿Cuantas blusas lleva?'
								Leer P
								T2 <- 80*P
							3:
								Escribir '¿Cuantas playeras lleva?'
								Leer P
								T3 <- 75*P
						FinSegun
						Escribir '¿Desea algo mas de este departamento?'
						Leer s
					Hasta Que s='no'
					T <- T1+T2+T3
					acu1 <- acu1+T
					Si (acu1>100) Entonces
						D <- acu1*0.05
						acumulador1 <- acumulador1+acu1
						tp1 <- acu1-D
					SiNo
						tp1 <- acu1
						acumulador1 <- acumulador1+acu1
					FinSi
				2:
					acu2 <- 0
					Repetir
						Escribir 'Que desea comprar'
						Escribir '1.Pizza'
						Escribir '2.Hambuerguesa'
						Escribir '3. Torta'
						Escribir 'El numero de la comida'
						Leer C
						Segun C  Hacer
							1:
								Escribir '¿Cuantas pizzas lleva?'
								Leer P
								T1 <- 180*P
							2:
								Escribir '¿Cuantas hambuerguesas lleva?'
								Leer P
								T2 <- 60*P
							3:
								Escribir '¿Cuantas tortas lleva?'
								Leer P
								T3 <- 30*P
						FinSegun
						Escribir '¿Desea algo mas de este departamento?'
						Leer s
					Hasta Que s='no'
					T <- T1+T2+T3
					acu2 <- acu2+T
					Si (acu2>100) Entonces
						D <- acu2*0.035
						acumulador2 <- acumulador2+acu2
						tp2 <- acu2-D
					SiNo
						tp2 <- acu2
						acumulador2 <- acumulador2+acu2
					FinSi
				3:
					acu3 <- 0
					Repetir
						Escribir 'Que prefume lleva?'
						Escribir '1.Hugo Boss'
						Escribir '2.Channel'
						Escribir '3. Calvin Klein'
						Escribir 'Numero de marca de perfume'
						Leer C
						Segun C  Hacer
							1:
								Escribir '¿Cuantos perfumes Hugo Boss lleva?'
								Leer P
								T1 <- 1690*P
							2:
								Escribir '¿Cuantos perfumes Chanel lleva?'
								Leer P
								T2 <- 2618*P
							3:
								Escribir '¿Cuantos perfumes Calvin Klein lleva?'
								Leer P
								T3 <- 800*P
						FinSegun
						Escribir '¿Desea algo mas de este departamento?'
						Leer s
					Hasta Que s='no'
					T <- T1+T2+T3
					acu3 <- acu3+T
					Si (acu3>100) Entonces
						D <- acu3*0.08
						acumulador3 <- acumulado3+acu3
						tp3 <- acu3-D
					SiNo
						tp3 <- acu3
						acumulador3 <- acumulador3+acu3
					FinSi
				De Otro Modo:
					Escribir 'Departamento no existe'
			FinSegun
			Escribir '¿Desea comprar de otro departamento?'
			Leer s
		Hasta Que s='no'
		tp <- tp1+tp2+tp3
		acu <- acu+tp
		Escribir 'Total a pagar por el cliente es ',tp
	FinPara
	Escribir 'El corte de caja por departamento es '
	Escribir 'Departamento de Ropa $',acumulador1
	Escribir 'Departamento de Comestibles $',acumulador2
	Escribir 'Departamento de Perfumeria $',acumulador3
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha aumentado su posición en 12 puestos en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda problema de Un supermercado con varios clientes

Publicado por Fabricio (1 intervención) el 10/10/2018 08:55:59
Buenas:
Parece que estas usando PSeInt . Hace un tiempo le di un vistazo y me gusto mucho.
Respecto de tu algoritmo, por lo que veo, estas declarando variables y asignando al mismo tiempo. Tanto para los T como para tp1, tp2, tp3.
Veo que, por ejemplo para T1 haces T1 = xxx*p y como asignacion pero en tu algoritmo funciona como acumulador.
Dado el problema que tienes, es muy posible que las variables no se reinician a 0 cuando las declaras y le asignas un valor, sino que su valor se mantiene y funcionan todas como acumuladoras. Solo deberias poner en 0 a tp1, tp2 y tp3 como asi tambien T1, T2, T3 ( y finalmente tp) luego de que termine la compra de cada cliente
...
tp <- tp1+tp2+tp3
tp1 <- 0
tp2 <- 0
tp3 <- 0
T1 <- 0
T2 <- 0
T3 <- 0

Escribir 'Total a pagar por el cliente es ',tp
tp <- 0

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar