15. Introducción GNU Octave es un lenguaje de alto nivel destinado al cálculo numérico, tiene un interprete(consola) que resuelve dichos cálculos numéricos, además permite la ejecución de scripts realizados por el usuario. Posee el mismo lenguaje de programación que MATLAB(lenguaje M), esto permite una alta compatibilidad entre ellos. Es un software libre (cero costo) y esta disponible en diferentes plataformas como Linux, Windows y MacOsX.
43. fprintf ( 'texto:%s numero:%d' ,varCad,varNum); %s muestra contenido de variables tipo texto, %d muestra contenido de variables tipo numéricas y hace un salto de línea(un enter) .
50. Operadores Lógicos Operador Descripción x < y x es menor que y. x <= y x es menor o igual que y. x == y x es igual que y. x > y x es mayor que y. x >= y x es mayor o igual que y. x ~= y x != y x <> y x no es igual a y.
51. Operador Descripción x & y Retorna 1 si “x” y “y” son verdaderos caso contrario retorna 0. x | y Retorna 0 si “x” y “y” son falsos caso contrario retorna 1. ~x !x Retorna el valor 0 si x vale 1 o 1 si x vale 0. Operadores Booleanos “ short-circuit" Similar a los anteriores con la diferencia que solo basta con analizar el valor del primer elemento ( “x” ) para saber el resultado x && y Retorna 1 si “x” y “y” son verdaderos caso contrario retorna 0. x || y Retorna 0 si “x” y “y” son falsos caso contrario retorna 1. Operadores Booleanos
52.
53.
54.
55.
56. do x=0; valor=input('Ingrese un entero positivo: ','s'); if ( ~isletter(valor)) valor=str2num(valor); else disp('Error!, Ingreso un caracter o una cadena de caracteres'); x=1; end if(valor<0) disp('Error!, Ingrese un valor positivo'); end until (valor>0 & x==0) disp('Dato valido! , Ingreso Exitoso!'); Programa que valida si el ingreso es un número, caso contrario muestra un error! y se mantiene hasta que ingrese un número.
57.
58. Se suele denominar contador cuando el incremento de la variable es de uno en uno.
75. Direccionamiento de vectores y matrices a partir de vectores Los elementos de una matriz a pueden direccionarse a partir de los elementos de vectores: Supongamos que tenemos el vector A=[2, 5, 4, 6, 1] y queremos obtener los 3 últimos valores que lo conforman. La solución sería: A(3:5) donde 3:5 es un rango de indices(posiciones) del vector. Ejemplo:
88. Conversión a mayúsculas y minúsculas. Se define una variable numero=2 Se lo convierte a caracter con int2str o double2str. Se compara carácter y '2'con strcmp. Resultado indicando que los argumentos '2' y caracter son iguales. Se define una variable cad='Kokoa' y se la transforma a mayúscula. Se define una variable cad='KOKOA' y se la transforma a minúscula.
89. Funciones function variable_retornada = nombre_funcion ( lista_argumentos ) cuerpo_de_función end Las funciones y scripts son el mecanismo que ofrece Octave para simplificar la escritura de programas o la carga de datos iniciales. Se pueden escribir directamente en la línea de comandos de Octave , o en archivos externos . En ese caso los scripts y las funciones se invocan exactamente igual que cualquier otra función predefinida de Octave. La única condición es que esos archivos se encuentren en un directorio dentro del path(ruta) de Octave. Formato de una función: function [var1,var2,vector,matriz] = nombre_funcion ( lista_argumentos ) cuerpo_de_función end Se pueden retornar mas de una variable e inclusive un vector o matriz de la siguiente manera:
90.
91. Función que retorna una matriz M de tamaño tam llena de algún carácter. function M = DibujaCuadrado (caracter,tam) for i=1:tam for j=1:tam M(i,j)=caracter; end end end Recibe como argumentos una variable llamada caracter y tam , luego de hacer operaciones con estas variables, se retorna una matriz M.
92.
93.
94.
95.
96.
97.
98. Estos datos se llaman miembros (members) o campos (fields).
99. Una estructura es un nuevo tipo de dato, del que luego se pueden crear muchas variables.
100.
101.
102.
103. hospital=struct(' nombre ',' ',' dir ',' ',' nempleado ',0,' tratamiento ',' '); Nota: Al crear las estructuras por lo general, los campos númericos se los inicializan en 0 y los campos de tipo caracter se inicializan con ' ' .
104.
105. disp('LISTADO DE VEHICULOS'); fprintf('PlacaColorMarcaModeloAño'); for i=1:n placa=vehiculo(i).placa; color=vehiculo(i).color; marca=vehiculo(i).marca; modelo=vehiculo(i).modelo; anio=vehiculo(i).anio; fprintf('%s%s%s%s%d',placa,color,marca,modelo,anio); end Se almacena los valores de los campos en la posición del índice (i). Muestra los datos formateados Salida por pantalla
115. empleado(i) .edad=input('Ingrese edad: '); empleado(i) .salario=input('Ingrese salario: '); end save ' datosEmpleados ' empleado ; %guarda los datos de la estructura en el archivo
116.
117. El programa registra los datos después del último registro. Al crear el archivo este tiene un registro en “blanco”, si el usuario desea ingresar 5 registros por primera vez el programa registrará los 5 registros a partir de la siguiente linea del archivo y si luego desea ingresar 3 más el programa empezará a registrar después de los 5 registros es decir desde la 7ma línea. 1er registro “ blanco” 6to registro k=length(empleado)+1 k k+3-1 datosEmpleado