You are on page 1of 7

5/10/2017 Octave: Ejemplos (1) - Epistemowikia

Octave: Ejemplos (1)


De Epistemowikia

Los siguientes son ejemplos de primeros programas en Octave. Para ejecutar cualquiera de ellos en la consola de Octave, basta grabarlo en un fichero con
extensin m, por ejemplo,

programapru.m

y llamarlo desde consola:

octave:1> programapru

Estos son los ejemplos, ordenados de menor a mayor dificultad:

Ej01
# ------------------------------------------------------------------------------------------
# Programa sumando dos nmeros con Octave.
# Calcula la suma de dos nmeros reales.
# Version directa.
# Calculo con tres decimales.
# Debe imprimir por pantalla los numeros y su suma.
# Comentarios:
# input('<frase>'): Imprime en pantalla la frase y espera la introduccin de un nmero
# printf('<frase con 1 o mas literales>', 1 o mas variables separadas por coma)
# %x.yf = formato numrico de punto fijo, y dgitos decimales
# \n = retorno de carro (igual que pulsar la tecla Enter o Intro)
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la suma de 2 numeros directamente con Octave.');
a = input('Introduce el valor del primer numero real: ');
b = input('Introduce el valor del segundo numero real: ');
printf('El primer numero real es: %4.3f \n', a);
printf('El segundo numero real es: %4.3f \n', b);

http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 1/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia
printf('La suma de %4.3f y %4.3f es %4.3f. \n', a, b, a+b);
disp('Fin del programa.')

Ej02

# ------------------------------------------------------------------------------------------
# Programa media aritmetica de tres numeros reales con Octave.
# Calcula la media aritmetica de tres numeros reales.
# Calculo con tres decimales.
# Debe imprimir por pantalla los numeros y su media aritmetica.
# Version directa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la media aritmetica de 3 numeros directamente con Octave.');
a = input('Introduce el valor del primer numero real: ');
b = input('Introduce el valor del segundo numero real: ');
c = input('Introduce el valor del tercer numero real: ');
printf('El primer numero real es: %4.3f \n', a);
printf('El segundo numero real es: %4.3f \n', b);
printf('El tercer numero real es: %4.3f \n', c);
printf('La media aritmetica de %4.3f, %4.3f y %4.3f es %4.3f. \n', a, b, c, (a+b+c)/3);
disp('Fin del programa.')

Ej03

# ------------------------------------------------------------------------------------------
# Programa resolucion de ecuacion de segundo grado con Octave.
# (Ejemplo de if ... else ...)
# Calcula las raices reales de una ecuacion de segundo grado con coeficientes reales.
# Debe imprimir por pantalla las raices y la comprobacion de que lo son.
# Calculo con seis decimales.
# Si no tiene raices reales debe informar que no las tiene.
# Version directa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula las soluciones de una ecuacion de segundo grado con coeficientes reales.');
a = input('Introduce el coeficiente de x^2 (distinto de cero): ');
b = input('Introduce el coeficiente de x: ');
c = input('Introduce el termino independiente: ');
printf('La ecuacion es:\n %4.6fx^2 + %4.6fx + %4.6f = 0 \n', a, b, c);
discrim = b^2 - 4*a*c
http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 2/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia
if discrim >= 0
x1 = (-b + sqrt(discrim))/(2*a);
x2 = (-b - sqrt(discrim))/(2*a);
printf('Las raices son:\n');
printf('X1 = %4.6f\n',x1);
printf('X2 = %4.6f\n',x2);
printf('Comprobando que efectivamente son las races:\n');
printf('Para x1 (debe dar cero): %4.6f\n', a*x1^2 + b*x1 + c);
printf('Para x2 (debe dar cero): %4.6f\n', a*x2^2 + b*x2 + c);
else
printf('No existen raices reales.\n');
endif
disp('Fin del programa.')

Ej04

# ------------------------------------------------------------------------------------------
# Programa raiz cuadrada acotada con Octave.
# (Ejemplo de if ... elseif ... else ...)
# Calcula la raiz cuadrada de un nmero real no negativo menor o igual que 10000.
# Calculo con seis decimales.
# Si el numero es negativo debe informar que no tiene raiz cuadrada real.
# Si el numero es mayor que 10000 tambien debe advertirlo.
# Si el numero es no negativo y tanto si ha sido demasiado grande o se ha podido calcular su raiz cuadrada real, debe advertirlo.
# Version directa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la raiz cuadrada de numeros entre 0 y 10000.');
a = input('Introduce el valor de un numero real: ');
if a < 0
disp('El numero es negativo. No tiene raiz real.')
elseif a > 10000
disp('El numero es demasiado grande. Debe ser menor o igual que 10000.');
disp('El numero era no negativo y, o bien ha sido demasiado grande o bien se ha podido calcular su raiz cuadrada');
else # Caso 0 <= a <= 10000
printf('La raiz cuadrada de %4.6f es %4.6f.\n', a, sqrt(a));
disp('El numero era no negativo y, o bien ha sido demasiado grande o bien se ha podido calcular su raiz cuadrada');
end
disp('Fin del programa.')

http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 3/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia

Ej05

# ------------------------------------------------------------------------------------------
# Programa raiz cuadrada acotada con Octave.
# (Ejemplo de if ... else ... end anidados)
# Calcula la raiz cuadrada de un nmero real no negativo menor o igual que 10000.
# Calculo con seis decimales.
# Si el numero es negativo debe informar que no tiene raiz cuadrada real.
# Si el numero es mayor que 10000 tambien debe advertirlo.
# Si el numero es no negativo y tanto si ha sido demasiado grande o se ha podido calcular su raiz cuadrada real, debe advertirlo.
# Version directa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la raiz cuadrada de numeros entre 0 y 10000.');
a = input('Introduce el valor de un numero real: ');
if a < 0
disp('El numero es negativo. No tiene raiz real.')
else
if a > 10000
disp('El numero es demasiado grande. Debe ser menor o igual que 10000.');
else # Caso 0 <= a <= 10000
printf('La raiz cuadrada de %4.6f es %4.6f.\n', a, sqrt(a));
end
disp('El numero era no negativo y, o bien ha sido demasiado grande o bien se ha podido calcular su raiz cuadrada');
end
disp('Fin del programa.')

Ej06

# ------------------------------------------------------------------------------------------
# Programa suma desde 1 hasta n con Octave.
# (Ejemplo de for ... endfor)
# Calcula la suma de los n primeros naturales positivos, sumandolos uno a uno.
# Debe imprimir en pantalla la suma final.
# Version iterativa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la suma de los n primeros numeros naturales positivos, sumandolos uno a uno.');
n = input('Introduce el valor de n: ');
suma = 0;
for i = 1:n
suma = suma + i;
endfor;
printf('La suma de los n primeros naturales positivos es: %d.\n', suma);
disp('Fin del programa.')
http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 4/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia

Ej07
# ------------------------------------------------------------------------------------------
# Programa suma de inversos con Octave.
# (Ejemplo de estructuras anidadas con for ... endfor y while ... endwhile)
# Calcula la suma de los inversos de 7 numeros introducidos por teclado, sumandolos uno a uno.
# Debe controlar que se introduzca cero y pedir otro numero en su lugar.
# Calculo con 6 decimales.
# Debe imprimir en pantalla la suma final.
# Version iterativa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula la suma de los inversos de 7 numeros introducidos por teclado, sumandolos uno a uno.');
suma = 0;
for i = 1:7
numero = input('Introduce numero:');
while numero == 0
numero = input('Introduce numero (distinto de cero):');
endwhile;
suma = suma + 1/numero;
endfor;
printf('La suma de los inversos es: %4.6f.\n', suma);
disp('Fin del programa.')

Ej08

# ------------------------------------------------------------------------------------------
# Programa producto acumulado con Octave.
# (Ejemplo de estructura do ... until ... y while ... endwhile)
# Calcula el producto acumulado de 7 numeros introducidos por teclado, uno a uno.
# Debe controlar que se introduzca cero y pedir otro numero en su lugar.
# Calculo con 6 decimales.
# Debe imprimir en pantalla el producto final.
# Version iterativa.
# ------------------------------------------------------------------------------------------
disp('Este programa calcula el producto acumulado de 7 numeros introducidos por teclado, uno a uno.');

http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 5/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia
contador = 0;
producto = 1;
do
numero = input('Introduce numero:');
while numero == 0
numero = input('Introduce numero (distinto de cero):');
endwhile;
producto = producto * numero;
contador = contador + 1;
until contador == 7;
printf('El producto de los 7 numeros es: %4.6f.\n', producto);
disp('Fin del programa.')

Temas relacionados
Octave: Ejemplos (2)
Octave: Ejemplos (3)
Octave: Ejemplos (4)
Octave: Ejemplos (5)
Octave: Ejemplos (6)

Licencia

Los contenidos de esta pgina estn publicados con la licencia Atribucin 3.0 de Creative Commons,
conocida como CC-By 3.0.
Puedes consultar el texto legal aqu (http://creativecommons.org/licenses/by/3.0/legalcode)
y un resumen en castellano aqu (http://creativecommons.org/licenses/by/3.0/deed.es).

Obtenido de http://cala.unex.es/cala/epistemowikia/index.php?title=Octave:_Ejemplos_(1)&oldid=382573

http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 6/7
5/10/2017 Octave: Ejemplos (1) - Epistemowikia

Categoras: Revista Epistemowikia Licencia CC BY 3.0 Genrica

http://cala.unex.es/cala/epistemowikia/index.php/Octave:_Ejemplos_(1) 7/7

You might also like