programacion matlab 1
TRANSCRIPT
Modulo 1
- 1 – Ingeniería Química –Universidad del Atlántico
MODULO SOBRE PROGRAMACION MATLAB MATLAB ELEMENTAL.
OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de:
� Definir el término programación Matlab.
� Nombrar las partes de una proposición en Matlab.
� Definir como se obtiene el valor de una expresión aritmética en Matlab.
� Especificar que representa una variable cuando se usa en una expresión arimética.
� Especificar los operadores aritméticos.
� Especificar los operadores lógicos.
� Especificar los operadores de comparación.
� Explicar cómo se utliza la proposición input con su argumento.
� Explicar cómo se utiliza la proposición disp con argumento.
� Explicar cómo se utiliza la proposición %.
� Explicar cómo se utiliza la proposición fprintf para imprimir los cálculos.
¿ QUÉ ES MATLAB ?
Matlab es un software producido por Mathworks, Inc. , empresa establecida por los
analistas numéricos Cleve Moler y John Little. Como su nombre lo indica, MATLAB fue
desarrollado en principio como un laboratorio de matrices ( MATrix LABoratory ). Es un
sistema interactivo y lenguaje de programación para cómputo científico y técnico en
general.
La programación consiste en la correcta codificación de las proposiciones Matlab y su
ensamble en la secuencia apropiada para alcanzar los resultados deseados.
Un programa en Matlab consiste en una serie detallada de instrucciones o proposiciones
organizadas en secuencia logica para alcanzar resultados predecibles.
1 1
Modulo 1
- 2 – Ingeniería Química –Universidad del Atlántico
Código, es otro nombre para el conjunto de instrucciones de un programa. Se debe tener
mucho cuidado con las reglas de sintaxis (el arreglo de carácteres preescritos en una
proposición Matlab) para escribir un programa que resuelva un problema especifico de
ingeniería química.
PROPOSICIÓN. Una proposición en Matlab puede ser una instrución explícita para que la
computadora ejecute una tarea sencilla; por ejemplo, leer un valor introducido desde el
teclado y asignarlo al nombre de una variable o realizar operaciones ariméticas y asignar el
resultado a la variable, repetir una serie de tareas o imprimir los resultados de un cáculo.
Existen dos categorias generales de proposiciones en Matlab: Ejecutables y no ejecutables.
PROPOSICIONES EJECUTABLES. Las proposiones ejecutables instruyen a la
computadora para realizar (ejecutar) alguna acción especifica; por ejemplo, imprimir un
resultado.
PROPOSICIONES NO EJECUTABLES. Las prosiciones no ejecutables no realizan una
tarea particular, pero proporcionan la información esencial para llevar a cabo de manera
apropiada algunas proposiciones ejecutables. La tabla 1, muestra las proposiciones
ejecutables y no ejecutables.
Tabla 1 PROPOSICIONES EN MATLAB.
EJECUTABLES NO EJECUTABLES
TIPO PROPOSICION TIPO PROPOSICION
Entrada/Salida input Declaración global
fprintf
Transferencia if
ifelse
Iteración for Especificación %10.3f
Control return
break Definición data
end function
table
Asignación pi
Modulo 1
- 3 – Ingeniería Química –Universidad del Atlántico
0PERACIONES ARITMETICAS EN MATLAB
Matlab proporciona cinco operaciones aritméticas básicas:
Adición, sustracción, multiplicación, división y exponenciación. En la Tabla 2 se muestran
los operadores aritméticos de MATLAB.
Tabla 2 OPERADORES ARITMETICOS
Operador Significado
+ Adición
- Sustracción
* Multiplicación
/ División
^ Exponenciación
OPERADORES ARITMETICOS DE CARACTERES ESPECIALES
.* Multiplicación de arreglos. A.* B es el producto elemento a
elemento de los arreglos A y B.
.^ Potenciación de arrglos. A.^ B es la matriz con elementos A(i,j)
a la potencia B(i,j).
\ División matricial a izquierda.
. / División de arreglos a la derecha. A . / B es la matriz con los
elementos A(i,j)/ B(i,j).
: Dos puntos. Se usan para crear vectores,subindices de matrices
é iteraciones. En los corchetes para generar columnas de valores
( ) Paréntesis (izquierdo-derecho). Se usan para indicar prioridades
en las expresiones aritméticas.
[ ] Corchetes (izquierdo-derecho). Se usan para formar vectores y
matrices.
{ } Llave (izquierda-derecha). Se usan para indicar prioridades en
las expresiones aritméticas.
. Punto decimal.
. . . Continuación. Se usa para después de una expresión para supri
mir su impresión.
; Punto y coma. Se usan dentro de los corchetes para indicar el
fin de una fila. Para evitar que se impriman valores.
' Apóstrofo. A’ es la transpuesta algebraica lineal de A. [ , ] Concatenación horizontal. Se usan dentro de los corchetes para
separar variables.
[ ; ] Concatenaación vertical. Se usan para indicar el fin de una fila.
, Coma. Se usa para separar los subindices de las matrices y
argumentos de las funciones.
Modulo 1
- 4 – Ingeniería Química –Universidad del Atlántico
EXPRESIONES LOGICAS Y OPERADORES RELACIONALES
Una expresión lógica hace una pregunta acerca de dos o más variables o expresiones
aritméticas. ¿Es A menor que B?. ¿Es C mayor que D?. ¿Son iguales E y F ?.
Los seis operadores relacionales básicos de la Tabla 3, se utilizan para efectuar estas
interrogaciones relacionales.
Como se observa en la Tabla 4, estos operadores relacionales se usan para construir
expresiones lógicas.
Tabla 3 0PERADORES RELACIONALES
Operador Significado
< Menor que
<= Menor o igual que.
> Mayor que.
>= Mayor que o igual que.
== Igual a.
~= No igual a
Tabla 4 EXPRESIONES LOGICAS
Expresión lógica Significado
A < B ¿Es A menor que B?
C == ( D/E ) ¿Es C igual al cociente de D entre E?
X > (R + S ) ¿Es X mayor que la suma de R más S ?
EXPRESIONES RELACIONALES Y OPERADORES LOGICOS
Una expresión de comparación hace una pregunta acerca de dos o más variables
relacionandolas entre sí con operadores lógicos. Los operadores lógicos proporcionan un
medio de combinar o negar expresiones relacionales. La Tabla 5 muestra los tres
operadores lógicos que se usan para construir expresiones relacionales.
Tabla 5 OPERADORES LOGICOS. Operador Significado
& AND ( Y lógica )
| OR ( O lógica )
~ NOT (Negación lógica)
La Tabla 6 muestran como se utilizan estos operadores lógicos para construir expresiones
relacionales.
Modulo 1
- 5 – Ingeniería Química –Universidad del Atlántico
Tabla 6 EXPRESIONES RELACIONALES
Expresiones relacionales Significado
A < B & C > D ¿Es A menor que B y es C mayor que D?.
E >= F | G <= ( H-X ) ¿Es E mayor o igual que F o es G menor o igual
que la resta de H menos X?
X == R ∼ R > D ¿Es X igual a R No es R mayor que D?
EXPRESIONES EN MATLAB Una expresión en Matlab describe las relaciones matemáticas de un conjunto de constantes
o variables. En algunos casos, una expresión puede estar formada por una sola constante,
variable o función ; por ejemplo:
X, X*Y, X^2 y (X + 1 )*(Y – 1)
La Tabla 7, resume las reglas de operaciones y expresiones aritméticas.
Operaciones Operación Notación Simbolo Matlab Expresión en Matlab
Adición A + B + A + B
Sustracción A – B – A – B
Multiplicación A x B * A * B
División A/ B / A / B
Exponenciación 2A ^ A^2
Expresiones
Notación Matemática Expresión en Matlab
pi*R
)2̂2̂(
3)^(
4/2̂*
2̂*
BAsqrt
BA
Dpi
Rpi
+
+
)2^2^(
3)^(
4/2^*
2^*
BAsqrt
BA
Dpi
Rpi
+
+
JERARQUIA DE OPERACIONES ARTMÉTICAS
La computadora evalúa las expresions aritméticas Matlab en orden estrictamente secuencial
o jerárquico:
1. Eliminación de paréntesis: Se eliminan de adentro hacia fuera, revisando de
izquierda a derecha.
2. Evaluación de funciones : Analizando de izquierda a derecha.
22
3
2
2
)(
4/
BA
BA
D
R
R
+
+
π
π
π
Modulo 1
- 6 – Ingeniería Química –Universidad del Atlántico
3. Exponenciación : Revisión de izquierda a derecha, ejecutando la exponenciación de
derecha a izquierda.
4. Multiplicación o división : Analisis y multiplicación o división de izquierda a
derecha.
5. Adición o sustracción : Las operaciones de suma y resta se analizan y se ejecutan de
izquierda a derecha.
La jerarquia de operaciones aritméticas y el uso adecuado de paréntesis para agrupar
deben entenderse bién y practicarse con cuidado al codificar expesiones aritméticas.
Cuando se usan paréntesis, es importante que aparezcan en pares; debe haber el mismo
número de paréntesis izquierdos que derechos. Los paréntesis sin pareja constituyen un
error de sintaxis.
Ejemplo 1.1 Codificación de una expresión aritmética en Matlab. Considérese la expresión matemática:
Y=dc
ba
−
+
Siendo a =4 ; b = 3 ; c = 2 ; d = 1
Solución:
a ) Mal codificado : Y = a + b / c – d
b ) Bien codificado : Y = ( a + b )/( c – d )
Se evalúan las dos expresiones a) y b) de la siguiente forma:
a ) Y = 4 + 3/2 – 1 b ) Y = (4 + 3 )/ (2 – 1 )
1.5 7
1
5.5 7 4.5 El resultado que se obtiene en la expresión a) es incorrecto y el que se obtiene en b) es el
correcto.
Muchas respuestas erróneas son resultados de codificaciones incorrectas de expresiones
aritméticas.
Ejemplo 1.2 Codificación en Matlab Codifique en Matlab la siguiente expresión matemática y realice las operaciones aritméticas
en el orden jerarquico
Y = edc
ab−+
cos
3
Sea a = 2 ; b = 3 ; c = 0 ; d=4 ; e = 5
2
3
Modulo 1
- 7 – Ingeniería Química –Universidad del Atlántico
Solución:
Expresión en Matlab: Y = edc
ba −+)cos(
3^*
La expresión en Matlab se evalúa:
Y = 2*3^3/cos(0) + 4 - 5
1
27
54
54
58
53
>> Y =
53 ( Resultado final )
Ejemplo 1.3 Operaciones aritméticas en orden jerárquico.
Codifique en Matlab la siguiente expresión matemática y realice las operaciones aritméticas
en orden jerárquico:
Y =( ) )/(sin2 bdc
ba
π+
+ Siendo a = 4; b = 6 ; c = 2 ; d = 3
Solución:
La expresión codificada en Matlab : Y = (a + b ) / ( ( c + d )*sin(pi/b)^2 )
La expresión en Matlab se calcula:
Y = ( 4 + 6 ) / (( 2 + 3 )* sin( pi / 6 ) ^2 )
10 5 0.523598
0.5
0.25
>> Y = 1.25
8.0 ( Resultado ) 8.0
1 1
Modulo 1
- 8 – Ingeniería Química –Universidad del Atlántico
Ejemplo 1.4 Exponenciación en Matlab Codifique las siguientes expresiones en Matlab y realice las operaciones aritméticas en
orden jerárquico.
a) y = ;5)() 3223 == xSixzbx
Solución:
Las expresiones codificadas en Matlab :
a) y = x^(2^3)
b) z = x^2^3 o z = (x^2)^3
Las expresiones en Matlab se evalúan :
a) y = 5^(2^3) b) z = (5^2)^3
8 25
390625.0 15625.0
y = z =
390625.0 (Resultado) 15625.0 (Resultado)
PROPOSICION DE ASIGNACION Es una proposición ejecutable que signa los valores numéricos de una expresión aritmética
a un nombre de variable en una dirección de memoria específica. La forma genérica de la
proposición de asignación es:
Nombre = Expresión Aritmética
Nombre Expresión aritmética que debe evaluarse
de la
variable
Simbolo
de asignación
INCREMENTO DEL VALOR DE UNA VARIABLE En Matlab, el simbolo = no se usa para denotar igualdad matemática porque de manera
estricta es un simbolo de asignación. Esto significa que el valor de la expresión a la derecha
del simbolo = se asigna al nombre de la variable de la izquierda del simbolo. Por lo cual, la
proposición N = N + 1 es una proposición de asignación válida.
NOMBRES DE VARIABLES. Una cantidad cuyo valor numérico se desconoce temporalmente o que puede cambiar
durante la ejecución de un programa se llama variable. No es necesario declarar los
nombres de las variables ni sus tipos. Esto se debe a que los nombres de las variables en
Matlab no son diferentes para las variables enteras,reales y complejas. Cualquier nombre
puede utilizarse siempre que sea compatible con Matlab.
Matlab no acepta los siguientes tipos de nombres:
a) Nombre de ciertos valores ; por ejemplo, pi
b) Nombre de funciones; por ejemplo, cos(x),sin(x),.. etc
Modulo 1
- 9 – Ingeniería Química –Universidad del Atlántico
c) Nombre de comandos; por ejemplo, for, if, read, ..etc
En la Tabla 8, se dan ejemplos de nombres de variables compatibles é incompatibles.
Un método para determinar la compatibilidad del nombre de la variable es probarlo en la
linea de comandos de Matlab. La Tabla 9 resume las reglas que deben seguirse en la
definición de nombres de variables.
Tabla 8 Nombres de variables
Nombres compatibles Nombres incompatibles
Verdad G(1)
Propiedad f(x)
A 2D
AB 2AB
A1 Cos
AA log(x)
C23 21
X X(t)
Y Y(t)
Tabla 9 Reglas para nombres de variables.
1. El primer carácter debe ser una letra.
2. Las letras subsecuentes pueden ser cualquier combinación de letras y digitos( no
pueden usarse otros caracteres)
3. Los nombres de variables no deben exceder de seis caracteres(para la mayoria de
los computadores)
4. Los nombres de variables enteras deben comenzar con las letras I a N.
5. Los nombres de variables reales deben iniciar con cualquier otra letra(A a H o U a
Z).
6. Puede insertarse un guión en blanco para proporcionar legibilidad y deben contarse
como uno de los caracteres permitidos; por ejemplo, Area_1.
7. No debe utilizarse el mismo nombre para más de una variable en un programa.
8. Antes de que un nombre de variable pueda usarse en calculos debe asignarsele un
valor numérico con una proposición de asignación, una proposición input(‘x’) .
9. Los términos del vocabulario de Matlab, por ejemplo input, end, if no deben
utilizarse como nombres de variables.
NOMBRES MNEMÓNICOS. Es confuso utilizar nombres de variables de una o dos letras escogidas de manera aleatoria
para representar diferentes cantidades en un solo programa. Una composición cuidadosa de
nombres mnemónicos de variables, ayuda en la lectura y comprensión de un programa
largo y complejo. Un nombre mnemónico es un grupo de seis ( o menos) caracteres que
forman un nombre de variable válido y sugerente de la cantidad que representa.
Los nombres mnemónicos Radio,Diam, Circun y Area son más indicativos del radio,
diámetro, circunferencia y área que R o rad.(lo cual puede sugerir radianes) D, C, A.
Los nombres ambiguos o faciles de escribirse mal deben evitarse. Tambien los nombres en
su deletreo se confunden con facilidad, por ejemplo:
N = K; NNN = K + K + K ;
NN = K + K;
Modulo 1
- 10 – Ingeniería Química –Universidad del Atlántico
Los siguientes nombres son mejores designaciones para estas variables:
N = K ;
NSUM = K + K;
NTOT = K + K + K;
NOMBRES DE VARIABLES NO ASIGNADOS El intento de usar un nombre de variable al que no se le ha asignado un valor numérico es
una falla potencial de programación que es fácil de localizar, ya que aparecerá un mensaje
de error.
MANEJO DE DATOS Muchos programas usan grandes cantidades de datos ya sea proporcionadas o generados
por el programa, para lo cual Matlab utiliza los siguientes métodos:
1. Datos proporcionados desde el teclado.
2. Lectura de o escritura en un archivo de datos.
3. Empleo de Save o Load.
DATOS PROPORCIONADOS DESDE EL TECLADO: Proposición INPUT Cuando los datos se suministran desde el teclado, la ejecución del programa se detiene y
espera los valores de esos datos. El compilador no proporciona ninguna petición; de aquí
que se aconseja incluir un mensaje en el programa que aparezca en la pantalla para
informar al programador que se necesitan los datos. La forma genérica de la proposición
input es la siguiente. Nombre = input ( ′′′′ Entrada = ′′′′ )
Nombre de Nombre de la Argumento
La variable proposición
Simbolo de asignación
Esta proposición se utiliza en el ejemplo siguiente con un programa sencillo.
Ejemplo 1.5 Utilización de la proposición input.
Radio = input( ′ Introduzca el radio de la esfera = ′ )
Vol = (4/3)*pi*Radio^3 ;
fprintf ( ′\n Radio= %5.3 Volumen = %7.3f \n′,Radio,Vol )
El programa imprime:
Radio = 5.000 Volumen = 523.599
ANALISIS: El mensaje “Introduzca el radio de la esfera = “ aparece en la pantalla antes de
que se ejecute la expresión matemática. Esto le indica al programador que se requieren los
datos que debe introducirlos desde el teclado. En éste caso asignele al Radio un valor de 5.
Al alimentar el dato, la ejecución continúa hasta que imprime el valor correspondiente al
volumen de la esfera y regresa el control a la linea de comando de Matlab.
Modulo 1
- 11 – Ingeniería Química –Universidad del Atlántico
ANOTACIONES PARA RESULTADOS NUMÉRICOS: Proposición disp Con frecuencia los resultados numéricos sin identificación son difíciles de interpretar. La
referencia a la proposición fprintf para relacionar los resultados con el nombre de la
variable adecuada puede ser confusa; si el listado del programa no está disponible, esto es
imposible. Los encabezados de columnas, unidades u otras anotaciones de identificación
junto a los valores numéricos eliminan éste problema. Esto puede hacerse con un carácter
alfanumérico que se forma encerrando cualquier cadena de caracteres entre apóstrofos. La
forma general de una proposición disp es :
disp(′ Nombre de las etiquetas en las columnas con valores numéricos′ )
La proposición disp también se usa para crear doble espacio( salto de una linea sobre cada
renglón de salida.
El siguiente programa ilustra el uso de la proposición disp
Ejemplo 1.6 Uso de la proposición disp Cálculo del área del circulo para un diámetro de 4.0 cm. Area =π(Diam/2)^2
clear,clc
disp(′ CALCULO DEL AREA DEL CIRCULO′)
disp(′ ′)
disp(′Diametro del circulo =4.0′)
Diam = 4.0 ;
AREA= pi*(Diam/2)^2 ;
fprintf(′\n AREA DEL CIRCULO=%7.4\n′), AREA)
DOCUMENTACION DEL PROGRAMA: Proposición comentario, % Cuando revisamos un programa anterior o estudiamos uno elaborado por alguna persona
otra persona, puede no ser de inmediato entender lo que una proposición o una serie de
ellas intenta ejecutar o porque se utilizó alguna técnica particular. Este problema se
resuelve incluyendo en el programa comentarios explicativos u otras anotaciones de
identificación, que no son parte de las instrucciones del programa y que pueden salir con el
listado del programa. Estas proposiciones se llaman comentarios. Un comentario es un
texto que describe parte del código.
Un comentario se identifica por el signo % en la linea de comandos o en el editor de lineas.
Un comentario puede continuar en más de una linea hasta que sea necesario,solo que debe
colocarse el signo de comentario al inicio del comentario. Un programa debe contener la
información indispensable para explicar el objetivo y procedimiento del programa a
cualquier persona que pueda interesarse en lo hace el programa. Mediante los comentarios,
puede darse la siguiente información:
Nombre : Nombre del archivo en el que se almacena el programa.
Programador: Autor o autores
Fecha: Fecha de la escritura del programa.
Modulo 1
- 12 – Ingeniería Química –Universidad del Atlántico
Versión: Versión del software de Matlab.
Objetivo: Descripción del programa.
Entrada: Descripciónd de entradas.
Salida : Descripción de salidas.
Parámetros : Nombres de parámetros,significados y funciones.
Estrategias : Descripción de la forma en que éste programa ataca el problema.
Subprogramas: Relación y descripción de los subprogramas que emplea.
Limitaciones y Restricciones: Descripción de toda limitación o restricciones inherentes al
programa.
Errores: Descripción de la forma en que pueden manejarse los posibles errores.
Variables: Lista de los nombres de las variables y lo que representan.
Los siguientes programas ejemplos ilustran el uso de la proposición comentario, %.
Ejemplo 1.7 Uso de la proposión comentario, % % Este programa calcula el area del circulo
disp(′CALCULO DEL AREA DEL CIRCULO′)
Diam = 4.0 ;
% AREA DEL CIRCULO
AREA = pi*(Diam/2)^2 ;
% RESULTADO FINAL
disp(′ ′)
fprintf(′\n AREA = %7.3f \n′, AREA)
En el siguiente ejemplo se presentan cuatro de las instrucciones más fundamentales en
MATLAB.
Ejemplo 1.8 DIVISION DE DOS NUMEROS ENTEROS clear,clc
% Division de dos numeros
Nun =input(′Introduzca el numerador Nun =′)
Den =input(′Introduzca el denominador Den=′)
Cociente = Nun/Den ;
disp(′RESULTADOS DE LA DIVISION′)
fprintf(′\n Nun=%7.3f Den=%7.3f Cociente=%7.3f\n′),Nun,Den,Cociente)
Ejemplo 1.9 Conversión de grados Fahrenheit a Centigrados % Conversión de grados Fahrenheit a grados centigrados.
disp(′Conversion de grados Fahrenheit a grados Centigrados′)
F=input(′Introduzca la temperatura en Fahrenheit, F=′)
C = (F− 32 )*(5/9) ;
fprintf(′\n F =%7.3f C =%7.3f \n′),F,C)
Modulo 1
- 13 – Ingeniería Química –Universidad del Atlántico
El siguiente programa Ejemplo 10 ilustra todo la infomación indispensable para explicar el
objetivo y procedimiento del programa a cualquier persona que pueda interesarse en lo que
hace el programa.
Ejemplo 1.10 Cálculo del volumen de diversos sólidos
%Nombre: Calculo del volumen
% Autor : Francisco Muñoz
% Fecha : Enero 5 del 2006
%Proposito: Calcular el volumen de diversos solidos.
%Entradas : Dos valores reales desde el teclado. Los valores representan las dimensiones
% de posibles solidos.
% Salidas: Las dimensiones y los volumenes posibles.
%Restricciones:Introducir los datos en forma apropiada.
% Estrategia: leer las dimensiones, luego calcular e imprimir resultados.
%Variables que se utilizan:
% Altura : Primer valor en los datos.
% Radio : Segundo valor en los datos.
% pi : Constante que reconoce Matlab.
% Cubo : Volumen que se calcula
% Esfera : idem
% Cilindro: idem
% Cono : idem.
% Introduzca los valores de la altura y del radio
disp(′ ′)
% La altura del solido es de 1.2345
% El radio del solido es de 6.789
H = input(′Introduzca la altura del solido =′)
R = input(′Introduzca el radio del solido =′)
disp(′ ′) % Volumen del cubo
Cubo = H^3;
% Volumen de la esfera
Esfera = (4/3)*pi*R^3;
% Volumen del cilindro Cilindro = pi*H*R^2;
% Volumen del cono Cono = (pi/3)*H*R^2;
% Imprime los volumenes de cada uno de los solidos.
disp(′Volumen calculado de cada uno de los solidos ′)
fprintf(\n\n H=%7.3f R=%7.3f cm^3\n′,H,R)
fprintf(′\n Cubo =%7.3f cm^3\n′,Cubo)
fprintf(′\n Esfera =%7.3f cm^3\n′,Esfera)
fprintf(′\n Cilindro=%7.3f cm^3\n′,Cilindro)
fprintf(′\n Cono =%7.3f cm^3\n′,Cono)
Modulo 1
- 14 – Ingeniería Química –Universidad del Atlántico
El programa imprime:
Volumen calculado de cada uno de los solidos
H = 1.2345 cm R = 6.789 cm
Esfera = 1310.71 cm^3
Cilindro = 178.753 cm^3
Cono = 59.5842 cm^3
SIMBOLOS QUE SE USAN EN LOS DIAGRAMAS DE FLUJOS Un diagrama de flujo es un diagrama esquemático (o representación gráfica de un
algoritmo) con simbolos estandarizados que se colocan en la secuencia apropiada para
indicar las fases lógicas para la solución de un problema,sea éste para resolverse en una
computadora o no. Los diagramas de flujos empleam una serie de bloques y flechas,cada
uno de los cuales representa una operación en especial o un paso del algoritmo. Las flechas
representan la secuencia en que se llevan a cabo las operaciones.
Un algoritmo es la secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica,como la resolución de un problema . Para realizar éste objetivo debe contar con
los siguientes atributos:
1. Cada paso debe ser determinado, es decir, no puede ser obra de la casualidad. Los
resultados finales no pueden depender de quien sigue el algoritmo. En este sentido
un algoritmo es como una reseta de cocina.
2. El proceso debe terminar siempre despues de un número finitos de pasos. Un
algoritmo no puede tener un final abierto.
3. El algoritmo debe ser lo suficientemente generalizado como para ocuparse de
cualquier contingencia.
Los simbolos que con frecuencia se utilizan en los diagramas de flujos de programas se
muestran en la fig 1.Estos simbolos cumplen con las normas establecidas por la
International Organization for Standarization ( ISO ), “Procesamiento de Información-
Simbolos de Diagramas de Flujos”(International Estándar 1028); por la American National
Standards Institute (ANSI ), American National Standards, Simbolos de Diagramas de
Flujos y su Uso (ANSI X35-1970) y por la International Busines Machines Corporation
(IBM).
En éste módulo usaremos el conjunto de simbolos mostrado en la fig 1 .
Modulo 1
- 15 – Ingeniería Química –Universidad del Atlántico
Fig 1 SIMBOLOS USADOS EN LOS DIAGRAMAS DE FLUJO.
SIMBOLO NOMBRE SIGNIFICADO
INICIO/TERMINAL Representa el inicio y fin del programa.
LINEAS DE FLUJO
PROCESO
DECISION
VISUALIZACION
DOCUMENTO
ENTRADA
PREPARACION
CONECTOR
Representa la lógica del flujo. Las
curvas colocadas sobre las flechas
horizontales indican que estas pasan
sobre las verticales sin cortarse con
ellas.
Representa los cálculos o
manipulación de datos. Señala la
asignación de un valor a una
variable o su cambio en valor.
Expresa una ramificación del flujo
lógico en la que puede seguirse
cualquiera de un número de
trayectorias alternas
Indica que la información es para
observarse en el monitor
Señala que la información es para
imprimirla en papel.
Manifiesta que los datos se alimentan
desde el teclado durante la ejecución de
un programa
Señala el inicio de un proceso
repetitivo.
Señala la transferencia desde
un punto a otro en la misma
página
Modulo 1
- 16 – Ingeniería Química –Universidad del Atlántico
CONECTOR
FUERA DE
PAGINA
Los siguientes programas ejemplos ilustra el uso de los diagramas de flujos como ayuda en
la escritura de códigos de programas.
Ejemplo 1.11 Uso de los algoritmos en la codificación de programas. Este programa ejemplo, muestra los simbolos más usados en los diagramas de flujo:
TERMINAL, ENTRADA, PROCESO, VISUALIZACION Y DECISION.
% Este programa calcula el perimétro y el area del
% circulo de 1 cm de diametro
disp(‘ Valor del diametro ‘)
Diam = 1.0;
% Formula del perimétro y area del circulo
Circun = pi*Diam;
Area = pi*(Diam/2)^2; fprintf(\n Diam=%7.3f Circun=%7.3f Area=%7.3e\n’,Diam,Circun,Area)
Apertura
de archivo
Diam=1.0
Circun =piDiam
Area = pi(Diam/2)^2
FIN
INICIO
Diam
Circun
Area
Indica la transferencia de una
página a otra.
Modulo 1
- 17 – Ingeniería Química –Universidad del Atlántico
Ejemplo 1.12 Uso de los algoritmos en la codificación de un programa.
TIPOS DE ERRORES
En un programa de Matlab pueden ocurrir tres tipos de errores: errores de sintaxis, errores
en tiempo de ejecución y errores lógicos.
Un error de sintaxis (o error de compilación) es un error de programación que viola las
reglas de Matlab (como una propiedad mal escrita o una palabra clave mal escrita). Matlab
detecta muchos tipos de errores sintácticos en los programas, mientras escribimos las
sentencias de programas;por ejemplo paréntesis mal balanceados y no permite que un
programa se ejecute hasta que se corrigan todos los errores de sintáxis. Son los má faciles
de localizar y corregir ya que se identifican mediante los mensajes de error que indican el
número de linea donde ocurre y sugieren la causa del error.
INICIO
A,B
A=B
A
B=1/A
INICIO
No
Sí
A
Datos
suministrados
desde el teclado
uno por uno
5.0
-2.0
0.5
10.0
1.0
Solución:
Los cálculos terminan cuando, A=B=1.0
Modulo 1
- 18 – Ingeniería Química –Universidad del Atlántico
Un error en tiempo de ejecución es un error que provoca la detención no esperada de un programa durante su ejecución. Los errores de ejecución pueden ocurrir cuando un suceso
exterior o una sintáxis no descubierta obligan a un programa a detener su ejecución. Un
nombre de archivo mal escrito en una function o una unidad de disco abierta, son condiciones que pueden producir errores en tiempo de ejecución; por ejemplo , intentar
dividir por cero, calcular el logaritmo de un número negativo, utilizar un arreglo que exceda
su espacio reservado.
Un error lógico es un error humano-error de programación que obliga al código de
programa a producir resultados erróneos. La mayor parte del esfuerzo de depuración se
basa en la detección de errores lógicos introducidos por el programador. Asegúrese de
utilizar los recursos de ayuda interactiva de Matlab cuando detecte mensajes de error
producido por errores de sintáxis o errores en tiempo de ejecución. Si un programa que
escribe no funciona de manera apropiada, necesitará depurar el programa para eliminar
todos los errores.
Un depurador es un sistema de monitoreo interactivo que puede activar o desactivar
dentro de Matlab y que lo ayuda a localizar instrucciones que contienen errores. Por
ejemplo, si ejecuta un programa que ha escrito y éste hace un cálculo incorrecto, el
depurador lo ayudará a encontrar rápidamente la instrucción del programa que contiene el
error.