Introducción a la Computación

Programa: Análisis de Sistemas
Profesora: Erys Piñero
Profesor: Vladimir Camacaro

C1. Intr...
Ejercicio
Una ferretería distribuidora de tornillos, recibe de cada uno de sus vendedores la
información referente a sus v...
Solución:
Análisis del problema:
Lista
Clasificación
Ventas ------------------------------------ Clase
Código -----------...
f.u.(1)
f.m.(2)
f.m.(2)
f.m.(3)
f.m.(3)

1) Inicializar (Mayor, AcumMontoF, CantMaderas, CantParedes)
2) Inicializar (Acum...
f.m.(4) 8) Imprimir monto total facturado (AcumMF)
f.m.(4) 9) Calcula e imprime Promedio facturado del vendedor
Promedio ←...
1
2
3

HayDato←”Si”
repetir mientras (HayDato=“si”)

Resp←”Si”

4
5
6
7

4
8
9
10
11

repetir mientras (Resp=“Si”)

leer R...
Venta
alfanumérico Código
alfanumérico TipoTornillos
real Precio
entero Cantidad
AsignarCódigo(alfanumerico ↓ Cod)
Asignar...
Vendedor
real AcumMF
entero ContVenta
Inicial()
real SacarAcumMF()
entero SacarContVenta()
Acumular (Vendedor ↓ Vend)
Cont...
Ferretería
real Mayor
alfanumérico MayorVen
entero CantMaderas
entero CantParedes
real AcumMontoF
Inicializar()
real Sacar...
// Definición de la estructura de la clase Venta
clase Venta
inicio
privado:
alfanumérico Código, TipoTornillos
real Preci...
//Definición de la estructura de la clase Informe
clase Vendedor
inicio
privado:
real AcumMF
entero ContVenta
publico:
Ini...
//Métodos propios de la clase Vendedor
Vendedor Inicial ()
inicio
AcumMF ← 0
ContVenta ← 0
fin

C1. Introducción a la Comp...
real Vendedor SacarAcumMF()
inicio
retornar AcumMF
fin
entero Vendedor SacarContVenta()
inicio
retornar ContVenta
fin
Vend...
real Vendedor CalcPromedio()
inicio
real Promedio
si (contVenta =0)
promedio ← 0
sino promedio ← AcumMF/ContVenta
retornar...
//Definición de la estructura de la clase Distribuidora
clase Ferreteria
inicio
privado:
alfanumérico MayorVen
real Mayor,...
//Método propio de la clase Distribuidora
Ferreteria Inicializar ()
inicio
Mayor ← 0
CantMaderas ← 0
CantParedes ← 0
AcumM...
alfanumerico Ferreteria SacarMayorVen()
inicio
retornar MayorVen
fin
real Ferreteria SacarMayor()
inicio
retornar Mayor
fi...
Ferreteria DetMayor (Venta ↓ Vent, Vendedor ↓ Vend)
inicio
si ( Mayor < Vend. SacarAcumMF)
inicio
Mayor ← Vend. SacarAcumM...
alfanumérico Ferreteria DetMayorTornillo()
inicio
alfanumérico Fact
si CantMaderas> CantParedes)
Fact ← “Los tornillos par...
Próxima SlideShare
Cargando en…5
×

Ejercicio de tipos de tornillos, doble ciclo

744 visualizaciones

Publicado el

Ejercicio de aplicacion de las estructuras repetitivas dobles

Publicado en: Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
744
En SlideShare
0
De insertados
0
Número de insertados
90
Acciones
Compartido
0
Descargas
18
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Ejercicio de tipos de tornillos, doble ciclo

  1. 1. Introducción a la Computación Programa: Análisis de Sistemas Profesora: Erys Piñero Profesor: Vladimir Camacaro C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 1
  2. 2. Ejercicio Una ferretería distribuidora de tornillos, recibe de cada uno de sus vendedores la información referente a sus ventas. Los tornillos se venden por paquetes de una docena. Los datos disponibles son:  Código del vendedor  Precio del tornillo (por paquetes de una docena)  Tipo de tornillos (para maderas, para paredes)  Cantidad de tornillos ( se venden paquetes de una docena) Cada vendedor tiene tantas entradas como ventas realizadas Se requiere de un informe que contenga: Por vendedor:  Monto total  Promedio de lo facturado Por ferretería:  Código del vendedor con mayor facturación  Total monto facturado  Que tipo de tornillo ( para maderas o para paredes) se vendió en mayor cantidad C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 2
  3. 3. Solución: Análisis del problema: Lista Clasificación Ventas ------------------------------------ Clase Código -------------------------------------- Atributo/Vendedor TipoTornillos (para maderas, para paredes) -- Atributo/Vendedor Precio---------------------------------------- Atributo/Vendedor Cantidad ------------------------------------ Atributo/Vendedor Vendedor--------------------------------------------------- Clase Calcular monto total facturado------------------------ Método/Informe Calcular promedio de lo facturado------------------- Método/Informe Ferretería -------------------------------------------------- Clase Calcular vendedor con mayor facturación --------- Método/Ferretería Calcular tipo de tornillo que se vendió en mayor cant  Método/Ferretería Calcular total monto facturado----------------------- Método/Ferretería C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 3
  4. 4. f.u.(1) f.m.(2) f.m.(2) f.m.(3) f.m.(3) 1) Inicializar (Mayor, AcumMontoF, CantMaderas, CantParedes) 2) Inicializar (AcumMF, ContVenta) 3) Leer(CodigoVend) 4) Leer (TipoTornillos, Precio, Cantidad) 5) Acumular Monto Facturado: AcumMF AcumMF + Precio*Cantidad f.m.(3) 6) Contar venta: ContVenta  ContVenta + 1 f.m.(3) 7) Acumular según tipo de tornillo si(TipoTornillos=”Para maderas”) CantMaderas← CantMaderas + Cantidad sino si(TipoTornillos=”Para paredes”) CantParedes← CantParedes + Cantidad C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 4
  5. 5. f.m.(4) 8) Imprimir monto total facturado (AcumMF) f.m.(4) 9) Calcula e imprime Promedio facturado del vendedor Promedio ← AcumMF/ContVenta f.m.(4) 10) Determinar vendedor con mayor facturación si (Mayor<AcumMF) inicio Mayor ← AcumMF MayorVen ← Código fin f.m(4) 11) Acumular monto facturado por Ferretería AcumMontoF ← AcumMontoF + AcumMF f.u. (5) 12) Imprimir Codigo del vendedor con mayor facturación (MayorVen) f.u. (5) 13) Imprimir tipo de venta con mayor facturación si (CantMaderas > CantParedes) Mensaje ← “Las tornillos para maderas se vendieron en mayor cantidad” si (CantMaderas < CantParedes) Mensaje ← “Los tornillos para paredes se vendieron en mayor cantidad” sino cantidad” Mensaje ← “Los tornillos para maderas y paredes se vendieron en igual f.u. (5) 14) Imprimir el total facturado de la empresa (AcumMontoF) C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 5
  6. 6. 1 2 3 HayDato←”Si” repetir mientras (HayDato=“si”) Resp←”Si” 4 5 6 7 4 8 9 10 11 repetir mientras (Resp=“Si”) leer Resp leer HayDato 12 13 14 C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 6
  7. 7. Venta alfanumérico Código alfanumérico TipoTornillos real Precio entero Cantidad AsignarCódigo(alfanumerico ↓ Cod) AsignarTipoTornillos(alfanumerico ↓ TB) AsignarPrecio(real ↓ Pc) AsignarCantidad(entero ↓ Cant) alfanumerico SacarCodigo() alfanumerico SacarTipoTornillos() real SacarPrecio() entero SacarCantidad() C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 7
  8. 8. Vendedor real AcumMF entero ContVenta Inicial() real SacarAcumMF() entero SacarContVenta() Acumular (Vendedor ↓ Vend) Contar() real CalcPromedio() C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 8
  9. 9. Ferretería real Mayor alfanumérico MayorVen entero CantMaderas entero CantParedes real AcumMontoF Inicializar() real SacarMayor() alfanumérico SacarMayorVend() entero SacarCantMaderas() entero SacarCantParedes() real SacarAcumMontoF() DetMayor TipoTornillos() AcumularMontoF(Inf) DetMayor(Vend,Inf) AcumularTB(Vend) C1. Introduccion a la Computacion Profs. Vladimir Camacaro y Erys Piñero. 9
  10. 10. // Definición de la estructura de la clase Venta clase Venta inicio privado: alfanumérico Código, TipoTornillos real Precio entero Cantidad publico: AsignarCódigo(alfanumérico ↓ Cod) AsignarTipoTornillos(alfanumérico ↓ TB) AsignarPrecio (real ↓ Pc) AsignarCantidad (entero ↓ Cant) alfanumérico SacarCodigo() alfanumérico SacarTipoTornillos() real SacarPrecio() entero SacarCantidad() fin// Venta C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 10
  11. 11. //Definición de la estructura de la clase Informe clase Vendedor inicio privado: real AcumMF entero ContVenta publico: Inicial () real SacarAcumMF() entero SacarContVenta() Acumular(Vendedor ↓ Vend) Contar () real CalcPromedio () fin // Vendedor C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 11
  12. 12. //Métodos propios de la clase Vendedor Vendedor Inicial () inicio AcumMF ← 0 ContVenta ← 0 fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 12
  13. 13. real Vendedor SacarAcumMF() inicio retornar AcumMF fin entero Vendedor SacarContVenta() inicio retornar ContVenta fin Vendedor Acumular(Vendedor ↓ Vend) inicio AcumMF ← AcumMF +Vend. SacarPrecio()* Vend. SacarCantidad() fin Vendedor Contar() Inicio ContVenta ← ContVenta + 1 fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 13
  14. 14. real Vendedor CalcPromedio() inicio real Promedio si (contVenta =0) promedio ← 0 sino promedio ← AcumMF/ContVenta retornar promedio fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 14
  15. 15. //Definición de la estructura de la clase Distribuidora clase Ferreteria inicio privado: alfanumérico MayorVen real Mayor, AcumMontoF entero CantMaderas, CantParedes publico: Inicializar () alfanumérico SacarMayorVen() real SacarMayor() entero CantMaderas() entero CantParedes() real SacarAcumMontoF() DetMayor (Venta ↓ Vent,Vendedor ↓ Vend) AcumularTB(Venta ↓ Vent) DetMayorTornillos() AcumularMontoF(Vendedor ↓ Vend) fin//clase Ferreteria C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 15
  16. 16. //Método propio de la clase Distribuidora Ferreteria Inicializar () inicio Mayor ← 0 CantMaderas ← 0 CantParedes ← 0 AcumMontoF ← 0 fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 16
  17. 17. alfanumerico Ferreteria SacarMayorVen() inicio retornar MayorVen fin real Ferreteria SacarMayor() inicio retornar Mayor fin real Ferreteria SacarCantMaderas () inicio retornar CantMaderas fin real Ferreteria SacarCantParedes inicio retornar CantParedes fin real Ferreteria SacarAcumMontoF() inicio retornar AcumMontoF fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 17
  18. 18. Ferreteria DetMayor (Venta ↓ Vent, Vendedor ↓ Vend) inicio si ( Mayor < Vend. SacarAcumMF) inicio Mayor ← Vend. SacarAcumMF() MayorVen ← Vent. SacarCodigo () fin fin Ferreteria AcumularTB (Venta ↓ Vent) inicio si (Vent. SacarTipoMaderas = “Para maderas”) CantMaderas ← CantMaderas + Vent. SacarCantidad() sino si (Vent. SacarTipoParedes = “Para paredes”) CantParedes ← CantParedes + Vent. SacarCantidad() fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 18
  19. 19. alfanumérico Ferreteria DetMayorTornillo() inicio alfanumérico Fact si CantMaderas> CantParedes) Fact ← “Los tornillos para maderas se vendieron en mayor cantidad” sino si CantMaderas< CantParedes) Fact ← “Los tornillos para paredes se vendieron en mayor cantidad” sino Fact ← “Los tornillos para maderas y paredes se vendieron en igual cantidad” retornar Fact fin Ferreteria AcumularMontoF(Vendedor ↓ Vend) inicio AcumMontoF ← AcumMontoF + Vend.SacarAcumMF() fin C1. Introducción a la Computación Profs. Vladimir Camacaro y Erys Piñero. 19

×