Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof....

29
Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres

Transcript of Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof....

Page 1: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Problem Analisis ChartPAC

Adaptada por el Prof. Miguel Vélez Rubio

De presentación del Prof. Nelliud D. Torres

Page 2: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Definición

• El PAC se utiliza para poder organizar las ideas al momento de resolver un problema de programación.

• Nos permite clasificar el problema en cuatro áreas importantes.

• Ayuda al programador a crear más rápidamente el código que se necesita para poder resolver un problema.

Page 3: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

EJEMPLO DE UN PACGIVEN DATA OUTPUT

Variables:

Constantes:

FORMULAS STEPS

Page 4: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

GIVEN DATAGIVEN DATA OUTPUT

Variables:

Constantes:

FORMULAS STEPS

Aqui indicamos las variables y constantes que necesitamos en el programa para proveer los datos de entrada que permitirán resolver el problema.

Page 5: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

FORMULASGIVEN DATA OUTPUT

Variables:

Constantes:

FORMULAS STEPS

Aqui indicamos las fórmulas que se necesitan para resolver el problema.

Page 6: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

OUTPUTGIVEN DATA OUTPUT

Variables:

Constantes:

FORMULAS STEPS

En “Output” indicamos aquellos mensajes y/o variables que van a salir en pantalla o papel.

Page 7: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

STEPSGIVEN DATA OUTPUT

Variables:

Constantes:

FORMULAS STEPS

Aquí se van a poner los pasos que van a resolver el problema. Se debe detallar lo más posible. (Algoritmo)

Page 8: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

EJEMPLO DE UN PROBLEMA

Se desea un programa que solicite al usuario el nombre del empleado, seguro social, horas trabajadas y salario por hora. El descuento de income tax es .058 y del seguro social es .063 (están dados). Una vez se calcule el sueldo bruto, se tienen que hacer los descuentos que apliquen y calcular el sueldo neto. Al final el programa mostrará en pantalla el nombre del empleado, su sueldo bruto , el total de sus deducciones y su sueldo neto.

Page 9: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Recomendación para trabajarlo

Aunque en las próximas transparencias se presentan las partes explicadas según el orden visual, yo (Miguel Vélez Rubio) recomiendo trabajar el PAC en el siguiente orden:

• Identificar primero que nada todo lo de “Output”• Preguntarse qué necesita para poder obtener esos

resultados que le piden para poder identificar los datos de “Input” y ver que datos están dados

• Plantearse todas las fórmulas necesarias para obtener esos resultados y luego depurarlas antes de escribirlas

• Construir el algoritmo asegurándose incluir todo lo de “Input” a principio mediante expresiones como Obtener datos…, todos los cálculos con expresiones como Calcular… y otras necesarias, y todo lo de “Output” con expresiones como Mostrar o Imprimir…

Page 10: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte

Determinar las variables y constantes que se van a utilizar en el problema. Hay que utilizar las reglas de nombres de variables discutidas. El problema claramente establece los datos que el usuario debe proveer. Comenzamos por definir las variables.

Page 11: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte - Variables

Datos que debe proveer el usuario y los posibles nombres de variables para cada uno:

Dato solicitado Nombre de Variable

Nombre Empleado nombreEmpleado

seguro social seguroSocial

horas trabajadas horasTrabajadas

salario por hora salarioPorHora

Page 12: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte - VariablesGIVEN DATA OUTPUT

Variables:nombreEmpleado : String

seguroSocial : String

horasTrabajadas : real

salarioPorHora : real

Constantes:

FORMULAS STEPS

Ponemos las variables en su respectiva área.

Page 13: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte - Constantes

En el problema se puede concluir fácilmente que existen dos constantes que podemos definir en esta primera parte. No siempre se pueden determinar todas las variables y constantes en el primer intento. Recuerde que esta tabla es una guía que le ayuda a resolver el problema. Según el programador va adquiriendo experiencia, dejará de necesitar esta herramienta.

Page 14: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte – Constantes (2)

Las constantes que vamos a utilizar son las siguientes:

descuento de income tax

descuento de seguro socialSegún las reglas para poner nombres de constantes discutidas en clase, deben quedar así:

DESCUENTO_INCOME_TAX = .058

DESCUENTO_SEGURO_SOCIAL = .063

Page 15: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Primera Parte - Constantes (3)GIVEN DATA OUTPUT

Variables:nombreEmpleado

seguroSocial

horasTrabajadas

salarioPorHora

Constantes:DESCUENTO_INCOME_TAX : real .058

SEGURO_SOCIAL : real .063

FORMULAS STEPS

Ponemos las constantes en su lugar.

Page 16: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Segunda Parte - FÓRMULAS

Determinar las fórmulas que se necesitan para poder resolver el problema. Esto puede ser dificil y existe la posibilidad de que se tenga que revisar. Lo primero que tenemos que cotejar es cuales son los datos que al final le vamos a mostrar al usuario. Para este problema es el nombre, sueldo bruto, total de deducciones y sueldo neto.

Page 17: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Segunda Parte - FÓRMULAS (2)

El nombre del empleado no se utiliza en las fórmulas, de modo que no se considera. El salario bruto nos indica que tenemos que hacer una fórmula. Por conocimiento previo sabemos que el sueldo bruto se calcula multiplicando las horas trabajadas por el salario por hora del empleado. La fórmula debe quedar así:salarioBruto = horasTrabajadas * salarioPorHora

Page 18: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Segunda Parte - FÓRMULAS (3)Lo segundo que se pide es el total de deducciones. Sabemos por la narrativa del problema que es el income tax y el seguro social. Tambien tenemos los porcientos que vamos a utilizar. En este caso, necesitamos calcular las dos deducciones y luego sumarlas para poder obtener el total de deducciones. Haciendo referencia a nuestro conocimiento de las matemáticas, las fórmulas deben quedar así:deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAXdeducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL

Y para calcular el total de deducciones:totalDeducciones = deducIncomeTax + deducSeguroSocial

Page 19: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Segunda Parte - FÓRMULAS (4)Lo último que se pide es el sueldo neto. También por conocimiento previo, sabemos que el sueldo neto es el sueldo bruto menos las deducciones. Usando eso de base, la fórmula debe quedar así:

salarioNeto = salarioBruto - totalDeducciones

Ya completamos las fórmulas que de primera intención, entendemos se necesitan para resolver el problema. Cotejar lo que se desea de “Output” es buena idea para determinar las fórmulas pero no es el único factor determinante.

Page 20: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Segunda Parte - FÓRMULAS(5)GIVEN DATA OUTPUT

Variables:nombreEmpleado

seguroSocial

horasTrabajadas

salarioPorHora

Constantes:DESCUENTO_INCOME_TAX = .058

SEGURO_SOCIAL = .063

FORMULAS STEPS

salarioBruto = horasTrabajadas * salarioPorHora

deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAX

deducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL

totalDeducciones = deducIncomeTax + deducSeguroSocial

salarioNeto = salarioBruto - totalDeducciones

Ponemos las fórmulas explicadas anteriormente.

Page 21: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Tercera Parte - OUTPUT

Ahora necesitamos indicar aqui lo que se le va a mostrar al usuario. Se puede mostrar únicamente el nombre de las variables o constantes, pero lo ideal es que se incluya la instrucción completa ya que facilita crear la instrucción en pseudocódigo o cualquier lenguaje de programación.

Page 22: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Tercera Parte – OUTPUT (2)

Los datos que deseamos mostrar, según la narrativa del problema son:

nombre del empleado, su sueldo bruto , el total de sus deducciones y su sueldo neto.

Como ya tenemos esas variables creadas, procedemos a escribir las intrucciones que las muestren en pantalla. Utilizaremos la instucción DISPLAYLINE para lograr esto.

Page 23: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Tercera Parte – OUTPUT (3)

Los nombres de las variables son:

nombreEmpleadosalarioBrutototalDeduccionessalarioNeto

Al incluir la instrucción de DISPLAYLINE, debe quedar así:

Page 24: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Tercera Parte – OUTPUT (4)

DISPLAYLINE “El nombre del empleado es: ” + nombreEmpleado

DISPLAYLINE “El Salario Bruto es: “ + salarioBruto

DISPLAYLINE “El total de deducciones es: “ + totalDeducciones

DISPLAYLINE “El salario neto es: “ + salarioNeto

Procedemos a incluir estas instrucciones en el cuadro de Output del PAC.

Page 25: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Tercera Parte – OUTPUT (5)GIVEN DATA OUTPUT

Variables:nombreEmpleado

seguroSocial

horasTrabajadas

salarioPorHora

Constantes:DESCUENTO_INCOME_TAX = .058

SEGURO_SOCIAL = .063

DISPLAYLINE “El nombre del empleado es: ” + nombreEmpleado

DISPLAYLINE “El Salario Bruto es: “ + salarioBruto

DISPLAYLINE “El total de deducciones es: “ + totalDeducciones

DISPLAYLINE “El salario neto es: “ + SalarioNeto

FORMULAS STEPS

salarioBruto = horasTrabajadas * salarioPorHora

deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAX

deducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL

totalDeducciones = deducIncomeTax + deducSeguroSocial

salarioNeto = salarioBruto - totalDeducciones

Ponemos las instrucciones que muestran los datos en pantalla al usuario.

Page 26: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Cuarta Parte - STEPS

Aqui necesitamos enumerar los pasos necesarios para que el problema pueda ser resuelto. Recuerde que cada estudiante puede enumerar una cantidad de pasos diferente o con un orden distinto y lograr el mismo resultado. A continuación se muestra una de las posibles soluciones para esta parte. Como práctica es aconsejable que trate de escribirlos antes de cotejar esta solución para poder comparar.

Page 27: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Cuarta Parte – STEPS (2)

1. Pedir Datos al usuario2. Calcular Sueldo Bruto3. Calcular deducción Seguro Social4. Calcular deducción Income Tax5. Sumar el total de deducciones6. Calcular el sueldo neto al restarle las

deducciones al sueldo bruto7. Mostrar en pantalla los datos8. Stop

Page 28: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

Cuarta Parte – STEPS (3)GIVEN DATA OUTPUT

Variables:nombreEmpleado

seguroSocial

horasTrabajadas

salarioPorHora

Constantes:DESCUENTO_INCOME_TAX = .058

SEGURO_SOCIAL = .063

DISPLAY “El nombre del empleado es:” + nombreEmpleado

DISPLAY “El Salario Bruto es: “ + salarioBruto

DISPLAY “El total de deducciones es: “ + totalDeducciones

DISPLAY “El salario neto es: “ + SalarioNeto

FORMULAS STEPS

salarioBruto = horasTrabajadas * salarioPorHora

deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAX

deducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL

totalDeducciones = deducIncomeTax + deducSeguroSocial

salarioNeto = salarioBruto - totalDeducciones

1. Pedir Datos al usuario

2. Calcular Sueldo Bruto

3. Calcular deducción Seguro Social

4. Calcular deducción Income Tax

5. Sumar el total de deducciones

6. Calcular el sueldo neto al restarle las deducciones al sueldo bruto

7. Mostrar en pantalla los datos

8. Stop

Ponemos los pasos que nos ayudan a resolver el problema.

Page 29: Problem Analisis Chart PAC Adaptada por el Prof. Miguel Vélez Rubio De presentación del Prof. Nelliud D. Torres.

PAC COMPLETADOGIVEN DATA OUTPUT

Variables:nombreEmpleado

seguroSocial

horasTrabajadas

salarioPorHora

Constantes:DESCUENTO_INCOME_TAX = .058

SEGURO_SOCIAL = .063

DISPLAY “El nombre del empleado es:” + nombreEmpleado

DISPLAY “El Salario Bruto es: “ + salarioBruto

DISPLAY “El total de deducciones es: “ + totalDeducciones

DISPLAY “El salario neto es: “ + SalarioNeto

FORMULAS STEPS

salarioBruto = horasTrabajadas * salarioPorHora

deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAX

deducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL

totalDeducciones = deducIncomeTax + deducSeguroSocial

salarioNeto = salarioBruto - totalDeducciones

1. Pedir Datos al usuario

2. Calcular Sueldo Bruto

3. Calcular deducción Seguro Social

4. Calcular deducción Income Tax

5. Sumar el total de deducciones

6. Calcular el sueldo neto al restarle las deducciones al sueldo bruto

7. Mostrar en pantalla los datos

8. Stop