Algoritmos - Diagramas de flujo

Anuncio
Algoritmos - Diagramas de flujo
Programación
http://progra.usm.cl
UTFSM
IWI-131 (UTFSM)
Programación
1 / 14
Repaso
Problema
Entrada −→ Salida
Algoritmo
Secuencia de pasos para resolver un problema
Programa
Secuencia de instrucciones descritas en un lenguaje que puede
ser entendido por el computador
IWI-131 (UTFSM)
Programación
2 / 14
Pasos a seguir para realizar un programa
Figura: Proceso para resolver ejercicios
IWI-131 (UTFSM)
Programación
3 / 14
Diagrama de Flujos
Diagrama de Flujo
Un diagrama de flujo es una representación gráfica de un
algoritmo. Los pasos son representados por varios tipos de
bloques y el flujo de ejecución es indicado por flechas que
conectan los bloques.
IWI-131 (UTFSM)
Programación
4 / 14
Notación de los diagramas de flujo
Sı́mbolo
Descripción
Representa el inicio/fin de un algoritmo
inicio
x = 1
suma = 0
Representa un proceso, acá se realizan las operaciones, asignaciones y otros
Representa una entrada o salida de datos
Leer a
Leer b
∆ < 0?
IWI-131 (UTFSM)
Representan condiciones en las que el algoritmo sigue uno de dos caminos. que están etiquetados con
sı́ o no, dependiendo si la condición es verdadera o
falsa.
Programación
5 / 14
Estructuras que componen un problema
Estructuras secuenciales
Estructuras condicionales
Estructuras repetitivas (ciclos)
Figura: Tipos de estructuras
IWI-131 (UTFSM)
Programación
6 / 14
Ejemplo de estructura Secuencial
inicio
Leer r
area = 3,14 ∗ r ∗ ∗2
peri = 2 ∗ 3,14 ∗ r
Escribir “Es area es”, area, “y su perimetro es“,peri
fin
IWI-131 (UTFSM)
Programación
7 / 14
Ejemplo de estructura Condicional
inicio
Leer N
¿N es divisible por 2?
no
sı́
Escribir “El número”,N,“es impar“
Escribir “El número”,N,“es par“
fin
IWI-131 (UTFSM)
Programación
8 / 14
Ejemplo de estructura Repetitiva
inicio
Escribir “Ingrese sus notas”
c=0
suma = 0
¿c < 5?
sı́
Leer nota
c=c+1
suma = suma + nota
no
promedio = suma / c
Escribir “Su promedio de nota es”, promedio
fin
IWI-131 (UTFSM)
Programación
9 / 14
Ejercicio 1
Ejercicio: Usando la notación de diagrama de flujo diseñe un
algoritmo para determinar si un número natural n es mágico o
no.
Número Mágico
Un número se dice mágico cuando la suma de sus divisores es
igual al número. En la suma no se debe considerar al mismo
número como un divisor.
Ejemplo:
28 = 1+2+4+7+14 es un número mágico
32 != 1+2+4+8+16 no es un número mágico
IWI-131 (UTFSM)
Programación
10 / 14
Solución en diagrama de flujo
inicio
Leer n
x = 1
suma = 0
no
¿x < n?
sı́
Escribir (“No es mágico”)
no
¿suma = n?
sı́
fin
Escribir (“Es mágico”)
IWI-131 (UTFSM)
Programación
¿x divide a n?
no
x = x+1
sı́
suma = suma + x
11 / 14
Ejercicio 2
Ejercicio:Realice un diagrama de flujo que realice lo siguiente:
Solicite el ingreso de un número hasta que se ingrese el
valor cero.
Luego al número ingresado se le deben realizar las
siguientes operaciones hasta convertirse en el valor 1. Si el
número es par se debe dividir por 2, sino se debe
multiplicar por 3 y sumarle 1.
Una vez ingresado el valor cero, se debe mostrar la
cantidad de números ingresados y la cantidad de pasos
realizados para convertirlos en 1.
IWI-131 (UTFSM)
Programación
12 / 14
Solución en diagrama de flujo
pasos = 0
num = 0
inicio
Leer N
Mostrar pasos, num
si
¿N es igual a 0?
no
no
si
¿N es par?
no
fin
N = N/2
N = 3∗N+1
pasos = pasos + 1
¿N es igual a 1?
IWI-131 (UTFSM)
Programación
si
num = num + 1
13 / 14
¿Preguntas?
IWI-131 (UTFSM)
Programación
14 / 14
Descargar