You are on page 1of 14

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

Representa un proceso, acá se realizan las operacio-


x = 1 nes, asignaciones y otros
suma = 0
Representa una entrada o salida de datos
Leer a
Leer b

Representan condiciones en las que el algoritmo si-


gue uno de dos caminos. que están etiquetados con
∆ < 0? sı́ o no, dependiendo si la condición es verdadera o
falsa.

IWI-131 (UTFSM) 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

sı́ c=c+1
¿c < 5? Leer nota 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

Leer n inicio

x = 1
suma = 0

¿x < n?
no

sı́

no
Escribir (“No es mágico”) ¿suma = n? ¿x divide a n? x = x+1
no

sı́ sı́

fin Escribir (“Es mágico”) suma = suma + x

IWI-131 (UTFSM) Programación 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
inicio
num = 0

Leer N

Mostrar pasos, num ¿N es igual a 0? no


si

no
si
¿N es par? no
fin

N = N/2 N = 3∗N+1

pasos = pasos + 1

si
¿N es igual a 1? num = num + 1

IWI-131 (UTFSM) Programación 13 / 14


¿Preguntas?

IWI-131 (UTFSM) Programación 14 / 14

You might also like