Story Transcript
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 ALGORITMOS Y DIAGRAMAS DE FLUJOS DE DATOS Elementos del diagrama de flujo de datos
A.1. ¿Qué es un Algoritmo? Describe
el método para realizar una tarea. una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado deseado. Ejemplos de algoritmos no informáticos: Receta de cocina Una partitura musical Los planos con las instrucciones para construir una casa. Es
A.2. Propiedades de un Algoritmo Finitud:
Número finito de pasos Definibilidad:
Cada paso definido de un modo preciso de Entradas: Datos iniciales del algoritmo Conjunto de Salidas: Respuesta que obtenemos del algoritmo Efectividad: Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlas de modo exacto y en tiempo finito. Conjunto
Organigrama genérico Reglas: 1. Todos los símbolos han de estar conectados 2. A un símbolo de proceso pueden llegarle varias líneas 3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos. 4. A un símbolo de inicio nunca le llegan líneas. 5. De un símbolo de fin no parte ninguna línea.
¿Qué es D.F.D? El diagrama para diseñar un algoritmo es conocido como Diagrama de Flujo, representa la secuencia lógica de nuestro análisis. Formas de presentación de los algoritmos: 1 – Verbal-escrita 2 – D. EPS 3 – D. DFD 4 - Pseudocodigo
Didáctica de la informática | Universidad de Córdoba
1
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Tenemos los siguientes enunciados/problemas: 1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resultado. 2. Desarrollar un algoritmo que permita hallar el área de un cuadrado. 3. Juan tiene x billetes de $200 pesos, y billetes de $100 y z billetes de $50. Elabora un programa para determinar cuánto dinero tiene Juan. Cuantos billetes de $50, $100 y $200 tiene.
Solución: Ejercicio 1: Primero analicemos el ejercicio:
¿Qué nos están pidiendo? La suma, el resultado de sumar dos números. ¿Cuáles dato debemos tener para solucionar el problema (entradas)? Dos números que deberíamos tener para sumar.
a. Descripción verbal-escrita: 1. Primero debemos pedir/tener/leer los dos números a sumar. 2. Debemos sumar esos dos números que tenemos. 3. Mostrar el resultado. b. Descripción Entrada-Proceso-Salida:
c. Diagrama de flujo de datos
Didáctica de la informática | Universidad de Córdoba
2
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Ejercicio 2: Primero analicemos el ejercicio:
¿Qué nos están pidiendo? El área de un cuadrado. ¿Cuáles dato debemos tener para solucionar el problema (entradas)? La base y la altura del cuadrado.
a. Descripción verbal-escrita: 1. Primero debemos pedir/tener/leer la base y la altura. 2. Debemos aplicar la fórmula para hallar el área. 3. Mostrar el área encontrada. b. Descripción entrada-proceso-salida:
c. Diagrama de flujo de datos Solución: EJERCICIO 4 ¿Qué nos piden? El total de dinero que tiene Juan. El total que tiene en billetes de $50, $100 y $200.
Problema: Juan tiene x billetes de $200 pesos, y billetes de $100 y z billetes de $50. Elabora un programa para determinar cuánto dinero tiene Juan.
a. Descripción verbal-escrita 1. Pedimos la cantidad de billetes x, y, z que tiene Juan. 2. Multiplicamos la cantidad de billetes x * 200¸y así obtenemos el total de dinero que tiene en billetes de 200. 3. Multiplicamos la cantidad de billetes y * 100¸y así obtenemos el total de dinero que tiene en billetes de 100. 4. Multiplicamos la cantidad de billetes z * 50¸y así obtenemos el total de dinero que tiene en billetes de 200. 5. Sumamos todo el dinero en billetes de 50, 100, 200. 6. Mostramos la cantidad de billetes de 50, de 100, de 200 y el total de todo el dinero que tiene.
Didáctica de la informática | Universidad de Córdoba
3
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Actividad 1.1: Complete el diagrama EPS.
Observación: (command, orden, mandato). En informática, un comando es una orden que se le da a un programa de computadora que actúa como intérprete del mismo, para así realizar una tarea específica. En programación, un comando es una instrucción (o sentencia) dentro del código fuente. Leer es una instrucción/sentencia que se usa para capturar, guardar en una variable un número, letra, conjunto de letras o valores ingresados por el usuario. Escribir es una instrucción/sentencia que permite mostrar un mensaje, entre ellos el valor de una variable. Actividad 1.2: Realice el diagrama de FD en PseInt.
Didáctica de la informática | Universidad de Córdoba
4
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Condicional Si - Entonces Implemente los siguientes diagramas de flujo de datos en PseInt.
Didáctica de la informática | Universidad de Córdoba
5
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013
Implemente un diagrama de flujo de datos para comparar tres números y hallar el número menor y el número mayor de los tres. Condicional SEGUN Proceso Semana Escribir 'Escriba un numero' Leer dia Segun dia Hacer 1: Escribir 'El dia de la semana es: Lunes' 2: Escribir 'El dia de la semana es: Martes' 3: Escribir 'El dia de la semana es: Miercoles' 4: Escribir 'El dia de la semana es: Jueves' 5: Escribir 'El dia de la semana es: Viernes' 6: Escribir 'El dia de la semana es: Sabado' 7: Escribir 'El dia de la semana es: Domingo' De Otro Modo: Escribir 'Error' FinSegun FinProceso
Recordemos: 1. ¿Qué diferencias existe entre el uso de condicionales SI y SEGÚN? 2. Implemente este mismo ejercicio usando solo condicionales SI. 3. Implemente este mismo ejercicio usando condicionales SI – ENTONCES.
Didáctica de la informática | Universidad de Córdoba
6
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Ciclo MIENTRAS: Implemente el siguiente diagrama de flujo en PseInt
Escriba el pseudocódigo del anterior diagrama de flujo de datos:
Actividad 2.1 1. ¿Qué actividad describe este algoritmo? 2. Identifique las variables de entrada y de salida. 3. ¿Se puede estructurar este algoritmo usando otro ciclo? Impleméntelo. Didáctica de la informática | Universidad de Córdoba
7
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Ciclo REPETIR: Proceso pantallaR Escribir "Bienvenido al programa"; salir=''; Repetir Escribir "Digite el nombre del alumno: "; Leer nombre; Escribir "Digite nota 1: " Leer n1; Escribir "Digite nota 2: " Leer n2 promedio=(n1+n2)/2; Si promedio>=3.0 Entonces Escribir " ", nombre, " gano la materia, nota: ", promedio; Sino Escribir " ", nombre, " perdio la materia, nota: ", promedio; FinSi Escribir "" Escribir "¿Ingresar otro alumno (Y/N)?" Leer salir; Escribir "" Hasta Que salir='n' | salir='N' FinProceso Actividad 3.1: Escribe el pseudocódigo en PsEint. Ejecuta el ejercicio y pega el diagrama de flujo de datos en el cuadro. ¿Es posible hacer este mismo ejercicio usando el ciclo MIENTRAS? Si es posible, hágalo. ¿Qué diferencias encuentra en el uso de los dos ciclos (MIENTRAS y REPETIR)?
Didáctica de la informática | Universidad de Córdoba
8
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Ciclo PARA: Implemente el diagrama de flujo de flujo de datos y escriba el pseudocogico:
Actividad 4.1: 1. ¿Qué caracteristicas tiene el ciclo PARA? ¿Qué diferencias respecto al uso de otros ciclos? 2. Implemente es mismo ejercicio usando los ciclos MIENTRAS y REPETIR. 3. Implemente el siguiente diagrama de flujo de datos.
Didáctica de la informática | Universidad de Córdoba
9
[GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013 Uso de procesos: Escriba el siguiente pseudocodigo en PseInt: SubProceso suma