fundamentos de computación en octave icm - espol

Upload: astro-phoenix

Post on 12-Jul-2015

468 views

Category:

Documents


4 download

DESCRIPTION

Descripción del lenguaje de programación de GNU Octave

TRANSCRIPT

Fundamentos de Computacin (ICM) con GNU Octave

Autor: Gabriel Romero Mora

Comunidad de Software Libre en ESPOL

ContenidoIntroduccin a Octave y Caractersticas Condicionales Lazos de Repeticin Acumuladores y Contadores Aleatorios Arreglos una dimensin Arreglos de dos dimensiones o Matrices Caracteres y Cadenas Funciones Condicionales Mltiples(switch) Funciones Recursivas Estructuras Archivos

IntroduccinGNU Octave es un lenguaje de alto nivel destinado al clculo numrico, tiene un interprete(consola) que resuelve dichos clculos numricos, adems permite la ejecucin de scripts realizados por el usuario. Posee el mismo lenguaje de programacin MATLAB(lenguaje M), esto permite una compatibilidad entre ellos. que alta

Es un software libre (cero costo) y esta disponible en diferentes plataformas como Linux, Windows y MacOsX.

Caractersticas generales Provee mucha funcionalidad para trabajar con matrices. La sintaxis es la misma utilizada en MATLAB. No pasa valores por referencia solo por valor. Es un lenguaje interpretado. Se pueden crear scripts. Soporta gran parte de las funciones de la biblioteca estndar de C .

Primeros pasos en OctaveVamos a empezar a interactuar con el interprete o consola, realizando una simple suma:

ans (answer) es una variable interna del programa que guarda el valor de una operacin.

Resultado de la suma 4+2

VariablesLas variables nos permiten dar nombre a los valores que nos interesa guardar y poder referirnos a ellos ms tarde. Las variables en Octave no tienen tipo fijo, as que es posible almacenar distintos tipos de dato en la misma variable, estas variables pueden ir cambiando de tipo y valor a lo largo de la ejecucin del programa.

a=4.1 a=[ 1 4 2 5] a='Kokoa Espol'

Tipo escalar(numrica) Tipo vector(arreglo) Tipo cadena de texto

Algunas reglas importantes:

Los nombres de las variables deben iniciar con una letra y deben ser nombres representativos. Ej: total1, contador Octave diferencia los nombres de variables en maysculas y minsculas. Ej: var1, Var1 y VAR1 Las instrucciones deben terminar en punto y coma ; . Los comentarios se colocan con % o #. Ej: %esto es un comentario y #esto es otro comentario

Entrada y salida de datos

Funcin input()Se utiliza para que el programa pida valores de entrada a las variables mientras se ejecuta. Sintaxis : Para ingresar valores tipo numricas variable_numrica = input('texto'); Para ingresar cadenas de texto variable_cadena = input('texto','s'); Ejemplo: numero=input('Ingrese un numero: '); cad=input('Ingrese un texto: ','s');

Entrada y salida de datos

Funciones disp() y fprintf()Muestran datos de salida por pantalla. Sintaxis: disp(nombre_variable o 'texto'); fprintf muestran datos de salida formateados. Sintaxis: fprintf('texto:%s numero:%d\n',varCad,varNum);%s muestra contenido de variables tipo texto, %d muestra contenido de variables tipo numricas y \n hace un salto de lnea(un enter).

Rangos

Son argumentos tipo numricos dedicados a contar. Se usan en estructuras for. Se pueden crear vectores filas. Sintaxis: valor_inicial:salto:valor_finalSi no se coloca un valor salto, el valor por defecto ser 1.

EjemplosRango con salto positivo

Rango con salto negativo

Rango sin salto

Operadores de comparacinOperador x= y x ~= y x != y Descripcin x es menor que y. x es menor o igual que y. x es igual que y. x es mayor que y. x es mayor o igual que y. x no es igual a y.

x y

Operadores LgicosOperador x&y x|y ~x !xOperadores Booleanos short-circuit"

x && y x || y

Descripcin Retorna 1 si x y y son verdaderos caso contrario retorna 0. Retorna 0 si x y y son falsos caso contrario retorna 1. Retorna el valor 0 si x vale 1 o 1 si x vale 0. Similar a los anteriores con la diferencia que solo basta con analizar el valor del primer elemento ( x ) para saber el resultado Retorna 1 si x y y son verdaderos caso contrario retorna 0. Retorna 0 si x y y son falsos caso contrario retorna 1.

CondicionalesSon instrucciones que ejecutan otras instrucciones de cdigo, si se cumple una condicin establecida.if condicin Instrucciones; end else Instrucciones; else end Instrucciones; end if condicin Instrucciones; if condicin1 Instrucciones; elseif condicin2 Instrucciones;

Nota: Para cualquiera de las estructuras de control los parntesis puede omitirse y el fin de la estructura (end) puede colocarse end[nombre de la estructura] (endif, endfor, endwhile).

Ejemplos:a=2; if a==2 disp('a vale 2'); end Condicin por verdad. disp() Muestra un mensaje por pantalla.

num= input('Ingrese un nmero: '); if mod(num,2)==0 disp('El nmero es par'); else disp('El nmero es impar'); end

Lazos de RepeticinSon estructuras que permiten repetir instrucciones de cdigo segn una condicin lgica.Estructura for Estructura que repite sus instrucciones hasta llegar al fin del rango. Estructura while Estructura que repite sus instrucciones mientras la condicin sea verdadera. Estructura do-until Estructura que repite sus instrucciones hasta que la condicin sea falsa.

for ndice=rango Instrucciones; end

while condicin Instrucciones; end

do Instrucciones; until condicin

Ejemplos:Estructuras que muestra la suma de los nmeros de 1 al 5.suma=0; for i=1:5 suma=suma+i; end disp(suma); suma=0; i=1; while (i