Sunteți pe pagina 1din 7

Introducción a la Programación

con Matlab
Diagramas de flujo

Un diagrama de flujo es un esquema gráfico que se utiliza para describir


un algoritmo sin necesidad de escribir el código de programación. Su
utilidad fundamental es mostrar que el algoritmo que tenemos previsto
programar funciona. Una vez que el diagrama de flujo es coherente,
podemos pasar a codificarlo en Matlab o en cualquier otro lenguaje.

Básicamente se utilizan los siguientes símbolos:


Ejemplo 1: Queremos construir un algoritmo para resolver ecuaciones
de segundo grado. Como sabemos, dado una ecuación del tipo a x2 + b x +
c = 0, las dos raíces vienen expresadas por la fórmula:

Para que haya raíces reales la cantidad b2 - 4ac, llamada "discriminante",


debe ser positiva. Podemos diseñar un programa que tenga el siguiente
diagrama de flujo:

Se trataría de introducir los tres parámetros a, b , c - que en Matlab se


puede hacer mediante el comando "input"- , a continuación asignamos a
una variable "discr" la cantidad b^2 - 4*a*c _ en Matlab con el operador
de asignación "=" _ ; ahora se pone la condición discr > 0, en caso de ser
cierta se pasa a calcular las soluciones y a desplegarlas en pantalla -con
"disp" para el Matlab - , y en caso de ser falsa desplegar un mensaje de
fracaso; y finalizar el programa.
El código en Matlab sería:

Ejemplo 2: Queremos diseñar un algoritmo para extraer la mayor


componente de un vector de 10 componentes.

Analicemos la estrategia a seguir, consideremos el vector v siguiente:

Podemos tomar una variable (llamémosla "Mayor") que vaya


almacenando la componente mayor. Si comenzamos a analizar por la
izquierda, inicialmente la componente mayor será la primera (i=1).

A continuación comprobaremos con un bucle, desde la posición "i" (o sea


desde la primera) hasta la 10, si este Mayor es menor que alguno de los
siguientes. Esto nos sugiere un bucle iterativo (j = i:10), en cuyo interior se
realice una comparación del tipo (Mayor < v(j)).

En caso de que esta condición sea falsa (como sucede para la


componente j=4) entonces hacemos Mayor = v(j), o sea, en este caso
Mayor = v(4), y también i=j, así almacenamos en "Mayor" el valor mayor
en este momento (el 6), y almacenamos en "i" la posición en que éste se
encuentra (la cuarta).
El diagrama de flujo de este algoritmo sería:

El programa Matlab, podría ser algo así:


Como ejemplo final consideremos el diagrama de flujo para el "algoritmo
de bisección" (ver tema 1 de teoría).
El algoritmo de bisección puede cargarlo aquí: biseccion.m .

S-ar putea să vă placă și