Funciones & Estructuras de control

Utilidades Scripts Control de flujo Funciones & Estructuras de control Universidad de Concepci´ on, Chile Departamento de Geof´ısica Programaci´ on

1 downloads 165 Views 358KB Size

Recommend Stories


Estructuras de control 1
Laboratorio de herramientas computacionales Estructuras de control1 Las estructuras de control son instrucciones que incluyen comandos en bloque para

Estructuras de Control
Estructuras de Control Lissette Alvarez Abril-Julio, 2004 1 Estructura general de un programa Un programa puede considerarse como una secuencia de

Estructuras de control condicionales
Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente: El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden de escritura de las instrucciones. Sin emb

Story Transcript

Utilidades Scripts Control de flujo

Funciones & Estructuras de control

Universidad de Concepci´ on, Chile Departamento de Geof´ısica Programaci´ on Cient´ıfica con Software libre Primavera, 2011

Universidad de Concepción

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Contenidos

1

Utilidades

2

Scripts

3

Control de flujo IF FOR WHILE

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Utilidades

En la resoluci´on de problemas es de utilidad conocer la mayor cantidad de funciones octave. A continuaci´ on muestro algunas. r = mod(x,y) entrega el resto de la divisi´ on x/y disp(x) desplega un array sin imprimir el nombre del array. Tambi´en desplega texto sin formato. Cadena de caracteres van entrecomilla. disp(’pi es igual a’) ; disp(exp(1)) B = reshape(A,m,n) retorna la matriz B m×n que contiene los elementos de A agrupados a modo columna

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

path lista la ruta de todos los directorios de b´ usqueda en octave addpath(’dir’) funci´ on que a˜ nade directorios al path b = input(’prompt’) desplega prompt esperando entrada del usuario

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Octave Scripts

Un script es algo asi como un gui´ on computacional. Si tienes una serie de instrucciones que deseas ejecutar una y otra vez las puedes almacenar en un script. Este es un archivo de texto que contiene instrucciones y es la forma b´asica de un programa en octave. Cuando corres un script , este tiene el mismo efecto como si tiperas los comandos del archivo de texto l´ınea por l´ınea en la consola de octave. Octave scripts son archivos de texto corriente pero con la extensi´on .m, tambi´en llamados M-files

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Funciones

Mientras los scripts nos permiten escribir programas con instrucciones espec´ıficas , las funciones definidas por el usuario o function files son una herramienta mucho m´as potente. Estas te permiten definir una tarea espec´ıfica para luego llamar desde la l´ınea de comando o un script. Veamos un ejemplo de como se define una funci´ on en octave. En este ejemplo, a la funci´ on se le pasa un argumento que debe ser un vector y esta devuelve la media de sus componentes.

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Ejemplo f u n c t i o n y = media ( v ) # ayuda : # l a i n s t r u c i o n y = media ( v ) # d e v u e l v e e l promedio # de l a s c o m p o n e n t e s d e l v e c t o r v y = sum ( v ) / l e n g t h ( v ) ; endfunction

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Funciones

Octave viene con un set de function files que se encuentran en : /usr/share/octave/3.0.5/m Es u ´til manejar esta forma de c´ odigo, ya que nos permite ahorrar tareas y mejorar la programaci´ on, es decir, elaborar c´odigo en bloques con una funcionalidad espec´ıfica.

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

Funciones

La estructura general de una funci´ on es : function [v1 v2 vN]=name(arg1, arg2, argN) cuerpo de la funci´ on endfunction Donde v1, v2 ...vN son los valores de retorno, y arg1, arg2 ...argN son las entradas de la funci´ on.

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Estructuras de control En programaci´on las estructuras de control permiten modificar el flujo de ejecuci´on de las instrucciones de un programa. control de flujo =⇒ procesamiento por lotes Un programa puede operar de muchas formas, basado en las codiciones que tu defines Una condici´on puede ser verdadera (1) o falsa (0) Se puede testear una condici´ on usando los operadores : =, ==, = Funciones retornan valor n´ umerico como respuesta a un test, por ejemplo strcmp(’compara’,’string’) retornar´a 0

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Estructuras de control Condicional IF

Ejecuta un bloque de sentencias si la condici´ on es verdadera. sintaxis if condicion 1 bloque de instrucciones elseif condicion 2 bloque de instrucciones else bloque de instrucciones end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Operadores booleanos (AND, NOT, OR, XOR)

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Ejemplo # se d e f i n e a , b para luego # aplicar condicion a = 0; b = 2; if a > b c =3; else c =4; end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Estructuras de control FOR

Repite un bloque de c´ odigo determinado n´ umero de veces dependiendo del rango de valores que tome la variable. sintaxis for variable = rango bloque de instrucciones end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Ejemplo1 # dominio i n c i a l x = −20:.1:20; # generamos f u n c i o n seno y = sin (x )./ x ; # perturbamos l a funcion yp =y + rand ( 1 , l e n g t h ( x ) ) ; # s u a v i z a m o s l a f u n c i o n a t r a v e s de p r o m e d i o s f o r i = 2 : l e n g t h ( y)−1 y0 ( i ) = 1 / 3 ∗ ( y ( i −1) + y ( i ) + y ( i + 1 ) ) ; end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Estructuras de control WHILE

Ejecuta bloque de instrucciones mientras se cumpla la condici´on. sintaxis while condiciones bloque de instrucciones end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Utilidades Scripts Control de flujo

IF FOR WHILE

Ejemplo # dominio i n c i a l x = −20:.1:20; # generamos f u n c i o n seno y = sin (x )./ x ; # perturbamos l a funcion yp =y + rand ( 1 , l e n g t h ( x ) ) ; # s u a v i z a m o s l a f u n c i o n a t r a v e s de p r o m e d i o s i =2; while i < length ( x ) y0 ( i ) = 1 / 3 ∗ ( y ( i −1) + y ( i ) + y ( i + 1 ) ) ; i ++; end

Rojas G. - Verdejo H.

Funciones & Estructuras de control

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.