Lab No2 - Programacion Con Matlab - 2012 - II
Transcript of Lab No2 - Programacion Con Matlab - 2012 - II
UNIVERSIDAD CATOLICA DE SANTA MARIAFACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES
PROGRAMA PROFESIONALINGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA
Página:1/7
Jefes de Prácticas:Ing. Juan Carlos CuadrosIng. Henry Zegarra Gago
Ing. Sergio Mestas RamosLaboratorio de Mecánica Computacional II
Tema: PROGRAMACIÓN CON MATLAB Código: 4E04022Semestre: IV
Apellidos y Nombres (1):____________________________________________________Apellidos y Nombres (2):____________________________________________________
Grupo: FECHA:
Lab. Nº 02 del 20 al 24/Ago/12
I. OBJETIVOS
1) Realizar algoritmos de programación usando estructuras secuenciales, de decisión y/o repetición para la
correcta solución de problemas matemáticos, físicos y/o de ingeniería.
2) Implementar los algoritmos de solución en forma de líneas de instrucción y código MATLAB, verificando los
mismos realizando pruebas de datos y el depurado de código respectivo.
3) Emplear el entorno de programación de MATLAB para crear programas.
II. MARCO TEORICO
Introducción:
Este laboratorio hace un repaso de conceptos de metodología de la programación y conceptos de programación
general, es decir, aspectos que son comunes a todos los lenguajes de programación. MATLAB es una aplicación
en la que se puede programar muy fácilmente, haciendo uso de scripts o funciones como veremos en posteriores
laboratorios. De todas maneras como lenguaje de programación se verá que MATLAB no posee tantas
posibilidades que si las tienen otros lenguajes de programación como el C/C++. Revisaremos también las
estructuras básicas de control en la confección de algoritmos de programación, cómo los diagramas de flujo son
instrumentos para plasmar nuestro algoritmo en cualquier lenguaje de programación tanto en MATLAB u otro
lenguaje de programación de alto nivel (e inclusive en los de bajo nivel), así como las instrucciones que hacen
posible su codificación. Comenzaremos viendo la asignación de entrada, lectura y escritura interactiva de datos,
también las bifurcaciones en toma de decisiones, los bucles, que son elementos básicos de cualquier programa de
una cierta complejidad, de la misma manera,
Metodología de la Programación.
Repasaremos algunos conceptos generales de Fundamentos de Programación:
• Proceso de Programación:
• Concepto de programa: Un programa de computadora, consiste en un conjunto de instrucciones (ordenes
dadas a la máquina) que producirán la ejecución de una determinada tarea.
1 Definición del problema
2 Diseño del algoritmo
3 Codificación del programa
4 Depuración y verificación
Laboratorio de Mecánica Computacional II Página: 2/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
• Partes de un programa:
• Elementos Básicos de un Programa:
• Estructuras de control básicas:
a) Secuenciales: Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en
secuencia.
b) Selección: Se utilizan para tomar decisiones lógicas. También denominadas
estructuras de decisión o alternativas. Pueden ser: Simples, Dobles, Múltiples
• Sentencia if (forma simple): Sirve para representar una condición lógica cuya expresión utiliza operadores relacionales u operadores lógicos, evaluado su veracidad o falsedad, cuya formas más simple tiene la siguiente sintaxis:
if (cumple_condicion) instrucciones_bloque1end.....
Salida
Programa
Entrada
Instrucciones Expresiones Variables
Constantes
Caracteres especialesPalabras reservadas
Identificadores
Acción n
Acción 2
Acción 1
Laboratorio de Mecánica Computacional II Página: 3/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
• Sentencia if (forma compuesta): como el anterior, pero un nuevo conjunto de líneas, comprendidas entre else y end son ejecutadas en caso de que la operación lógica efectuada en el if sea falsa:
.....if (cumple_condicion) instrucciones_bloque1else instrucciones_bloque2end.....
• Sentencia IF con decisiones múltiples: A esta forma se le denomina anidamiento y es una consecuencia de usar consecutivamente IF compuestas, acá deberemos de tener cuidado por cuanto para MATLAB la sintaxis es la siguiente:
.....
if (cumple_condicion1) instrucciones_bloque1elseif (cumple_condicion2) instrucciones_bloque2elseif (cumple_condicion3) instrucciones_bloque3else
instrucciones_bloque4end.....
El equivalente sería:
.....
if (cumple_condicion1) instrucciones_bloque1else if (cumple_condicion2) instrucciones_bloque2 else if (cumple_condicion3) instrucciones_bloque3 else
instrucciones_bloque4 end endend.....
• La instrucción switch/case: Otra instrucción empleada para seleccionar opciones es switch/case que se usa con frecuencia cuando existe una serie de opciones de ruta de programación para una variable dada, dependiendo de su valor. Switch/case es similar a if/else/elseif , el código es un poco más fácil de leer ya que switch/case es una estructura que le permite elegir entre múltiples salidas, con base en ciertos criterios.
Laboratorio de Mecánica Computacional II Página: 4/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
Los criterios pueden ser un escalar o una cadena. En la práctica se usa más con cadenas que con números. La estructura de switch/case es:
switch variable
case opción 1
código a ejecutar si la variable es igual a la opción 1
case opción 2
código a ejecutar si la variable es igual a la opción 2
.
.
case opción n
código a ejecutar si la variable es igual a la opción n
otherwise
código a ejecutar si la variable no es igual a cualquiera de las opciones.
end
c) Repetitivas: Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de
instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.
Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el
bucle.
• Sentencia FOR (iteración de bucles): Repite un conjunto de sentencias (bloque de instrucciones), un número predeterminado de veces, para MATLAB su sintaxis es la siguiente:
.....
for j=valor_inicial:paso:valor_final
bloque_instrucciones
end.....
III. MATERIAL Y EQUIPO
1. Una PC con Sistema Operativo (S.O.) Windows XP.
2. MATLAB 7.0 o superior
IV. PROCEDIMIENTO
Resolver los siguientes problemas:
Las estructuras switch/case tienen diagramas de flujo exactamente iguales a las estructuras if/else
Laboratorio de Mecánica Computacional II Página: 5/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
4.1 Elaborar un algoritmo (diagrama de flujo) y programa en MATLAB que permita el ingreso de dos números
que representan los catetos de un triangulo rectángulo, luego el programa deberá calcular la hipotenusa
resultante y mostrara el resultado por pantalla.
Algoritmo y Comentarios Diagrama de flujo
Código MATLAB
% Inicio de programa
% Fin de programa
4.2 Crear un algoritmo (diagrama de flujo) y programa en MATLAB que:
Resuelva una ecuación de segundo grado del tipo: A x2+Bx+C=0
Condiciones:
El programa deberá de discriminar que la ecuación tenga soluciones reales. Si no tiene soluciones reales, presentar el mensaje de error “No tiene solución real”.
Algoritmo y Comentarios Diagrama de flujo
Código MATLAB
% Inicio de programa
% Fin de programa
Laboratorio de Mecánica Computacional II Página: 6/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
4.3 Desarrollar un diagrama de flujo y un programa en MATLAB que simule una cuenta progresiva del
lanzamiento de un proyectil iniciado al presionar la tecla ENTER, al llegar al segundo 10 dé un aviso por
pantalla de “IGNICION” (terminado este ejercicio impleméntelo pero de forma regresiva):
Algoritmo y Comentarios Diagrama de flujo
Código MATLAB
% Inicio de programa
% Fin de programa
4.4 Elaborar un diagrama de flujo y un programa en MATLAB que:
Obtenga los cuadrados de los números pares entre 0 y 50. Crear una tabla con cada entero y su cuadrado. Adjuntar su algoritmo de solución y diagrama de flujo.
Algoritmo y Comentarios Diagrama de flujo
Código MATLAB
% Inicio de programa
% Fin de programa
Laboratorio de Mecánica Computacional II Página: 7/7
Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JP: Ings.JCC- HZG - SMR
4.5 Crear un algoritmo (diagrama de flujo) y programa en MATLAB en el que dados dos números reales LSup
y LInf que representan los límites superior e inferior de un intervalo, respectivamente; y dado un número n real
determine si dicho número pertenece al intervalo. En caso contrario, indique si está a la derecha o a la
izquierda del intervalo.
Algoritmo y Comentarios Diagrama de flujo
Código MATLAB
% Inicio de programa
% Fin de programa
V. CUESTIONARIO FINAL
5.1 Confeccionar un algoritmo y un programa en MATLAB que:
Calcule el equivalente en temperatura de grados Centígrados de grados Fahrenheit.
Condiciones:
El programa deberá de discriminar en un valor entre 0 – 20 ºF, como dato de entrada. La salida debe de tener una precisión de 2 dígitos Volver a pedir datos para realizar la conversión y salir del programa solo cuando se presione la tecla S.
VI. OBSERVACIONES Y CONCLUSIONES
Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________