Lab No2 - Programacion Con Matlab - 2012 - II

10
UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA Página:1/10 Jefes de Prácticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Laboratorio de Mecánica Computacional II Tema: PROGRAMACIÓN CON MATLAB Código: 4E04022 Semestre : 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.

Transcript of Lab No2 - Programacion Con Matlab - 2012 - II

Page 1: 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

Page 2: Lab No2 - Programacion Con Matlab - 2012 - II

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

Page 3: Lab No2 - Programacion Con Matlab - 2012 - II

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.

Page 4: Lab No2 - Programacion Con Matlab - 2012 - II

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

Page 5: Lab No2 - Programacion Con Matlab - 2012 - II

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

Page 6: Lab No2 - Programacion Con Matlab - 2012 - II

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

Page 7: Lab No2 - Programacion Con Matlab - 2012 - II

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

- __________________________________________________________________________________________________

- __________________________________________________________________________________________________

- __________________________________________________________________________________________________

- __________________________________________________________________________________________________

- __________________________________________________________________________________________________