🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

CSIR 1120 Diseño de Programas de Computadoras Lección #3 Entendiendo el proceso de programación Seis fases de programación: 1. Identificar el problema 2. Entender el problema 3. Identificar las alternativas para resolver el problema 4. Escoger la MEJOR forma de re...

CSIR 1120 Diseño de Programas de Computadoras Lección #3 Entendiendo el proceso de programación Seis fases de programación: 1. Identificar el problema 2. Entender el problema 3. Identificar las alternativas para resolver el problema 4. Escoger la MEJOR forma de resolver el problema 5. Enumerar las instrucciones que le permiten resolver el problema 6. Evaluar la solución ¿Que hacer esta noche? 1. Problema: – ¿Cómo desea pasar la noche? 2. Entender el problema: – Se debe considerar lo que la persona saber hacer. 3. Alternativas: – Ver televisión – Jugar videojuegos – Ir al cine – Ir a una fiesta ¿Que hacer esta noche? 4. Escoger la mejor solución: – Eliminar las alternativas que no son factibles – Enumerar ventajas y desventajas de las restantes – Comparar ventajas y desventajas 5. Enumerar las instrucciones: – Preparar una lista de pasos que van a resultar en una noche divertida. 6. Evaluar la solución: – ¿Se están divirtiendo? Tipos de problemas Solución algorítmica – Aquellos problemas que se pueden resolver usando una serie de acciones. Ejemplo: Balancear la chequera – Algoritmo: solución a un problema el cual requiere una solución algorítmica. El grupo de instrucciones usadas para resolver el problema. Tipos de problemas Solución heurística – Aquellos problemas que no se pueden resolver usando una sola secuencia de instrucciones. Ejemplo: La compra de acciones ¿Cómo difieren estos dos tipos de problemas? – Paso #6: Solución heurística es más difícil de comprobar. Tipos de problemas La mayoría de los problemas requieren una combinación de ambas soluciones. Solución de problemas con computadoras Solución – Instrucciones usadas en el paso #5 para producir el mejor resultado. Resultado: – La salida de una solución asistida por una computadora. Programa – Las instrucciones que componen la solución después de ser codificadas en un lenguaje en especifico. Dificultades con la solución de problemas No definir el problema correctamente. No generar suficientes alternativas. Eliminar las alternativas apresuradamente. No utilizar una secuencia lógica en la solución. Evaluar la solución incorrectamente. Ejercicio de práctica Utilice los 6 pasos del proceso de programación para encontrar la solución al siguiente problema: – ¿Cuál es el mayor entre tres números? (Tienen 10 minutos para resolverlo) Ejercicio de Práctica Paso #1: Problema – Encontrar el mayor Paso #2: Entender el problema – Solo tenemos que encontrar el mayor, no colocarlos en orden de menor a mayor. Paso #3: Alternativas – Determinar el orden y cantidad de las comparaciones. Veamos una posible solución ¿Es X > Y? ¿Es 65 > 23? – Si: ¿Es X > Z? – Si: ¿Es 65 > 45? X es el mayor Si: 65 es el mayor – No: ¿Es Y >Z? Si: Y es el mayor No: ¿Es X > Z? – Si: X es el mayor – No: Z es el mayor X = 65, Y= 23, Z=45 Veamos una posible solución ¿Es X > Y? ¿Es 23 > 45? – Si: ¿Es X > Z? – No: ¿Es 65 > 45? X es el mayor Si: 65 es el mayor – No: ¿Es Y >Z? Si: Y es el mayor No: ¿Es X > Z? – Si: X es el mayor – No: Z es el mayor X = 23, Y= 65, Z=45 Veamos una posible solución ¿Es X > Y? ¿Es 23 > 45? – Si: ¿Es X > Z? – No: ¿Es 45 > 65? X es el mayor No: ¿Es 23 > 65? – No: ¿Es Y >Z? – No: 65 es el mayor Si: Y es el mayor No: ¿Es X > Z? – Si: X es el mayor – No: Z es el mayor X = 23, Y= 45, Z=65 Ejercicio de Práctica Paso #4: Mejor solución – Depende de las alternativas sugeridas. Paso #5: – Listar las instrucciones que permiten implementar la solución seleccionada. Paso #6: Verificación – Verificar la solución Solución de problemas con computadoras Tipos de problemas que se pueden resolver: – Computacional Calculo matemático – Lógico Decisiones – Repetitivo Repetición de cálculos matemáticos o decisiones Solución de problemas con computadoras Constante Expresión Variable Instrucción Función Programa Ecuación Operadores Solución de problemas con computadoras Constante – Valor que nunca cambia Variable – Un valor en la memoria el cual puede cambiar durante el procesamiento. Siempre es importante darle nombres significativos a las variables y constantes. Solución de problemas con computadoras Convención para nombrar variables y constantes: – El nombre debe representar lo que es. – No use espacios en el nombre. – Comience el nombre con una letra. – No utilice operadores matemáticos (/,-,+,*). – Utilice el mismo nombre durante todo el programa. – Utilice la misma capitalización (pay vs. PAY) – Constantes en mayúsculas. Ejercicio: Ítem Nombre Problema Corrección Horas trabajadas Hours Worked Espacios HoursWorked Nombre del cliente CN No es significativo ClientName Tasa de pago Pay-Rate Operador matemático PayRate Cantidad por cliente Quantity/client Operador matemático QuantityPerCustomer Impuesto de 6% 6%_tax Comienza con un numero SalesTax Dirección del cliente Client_address_for_client Muy largo ClientAddress Tipos de Data Data – Datos no organizados Variables y/o constantes deben tener un tipo de data. Tipos más comunes: – Numérica Enteros (Ej. 3580, -46) Reales (Ej. -3792.91, 0.00246) Tipos de Data – Caracteres Letras (Ej. “A”, ”a”) Números (Ej. “1”, “6”) Caracteres especiales (Ej. “+”, “%”) – Cadena Combinación de más de un carácter (Ej. “Inter”) – Lógica Cierto/Falso (Ej. 1,0) Tipos de Data Reglas para los tipos de data: – El tipo de data debe ser designado al programar. – No pueden ser mezclados. – Cada tipo tiene un conjunto propio Ej. Numérico: 0,1,2,3….9,+,- – Todo número que vaya a ser usado para algún calculo debe ser tipo numérico. Solución de problemas con computadoras Operador – Indica a la computadora como se procesa la data en una ecuación o expresión. Tipos de operadores: – Matemáticos (+, -, *, /, \, MOD, ^) – Relacional (>, =,

Use Quizgecko on...
Browser
Browser