Diferencia entre revisiones de «PrInf01: Primeros pasos en Octave UPM»
(→Comandos que se aprenderán en esta práctica) |
(→Variables) |
||
| (No se muestran 14 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| + | {{ Práctica de Informática | Primeros pasos. Variables | PrInf01: Primeros pasos en Octave UPM | PrInf02: Vectores y matrices }} | ||
| + | |||
En esta práctica vamos a realizar nuestras primeras operaciones con [[Octave UPM]]. El objetivo de la práctica es familiarizarnos con la línea de comandos de Octave UPM, entender qué es una variable, cómo se muestran los resultados y contenidos de las variables, y cómo se opera con números y variables. | En esta práctica vamos a realizar nuestras primeras operaciones con [[Octave UPM]]. El objetivo de la práctica es familiarizarnos con la línea de comandos de Octave UPM, entender qué es una variable, cómo se muestran los resultados y contenidos de las variables, y cómo se opera con números y variables. | ||
| Línea 7: | Línea 9: | ||
* [[Prog01: Introducción a la Programación]] | * [[Prog01: Introducción a la Programación]] | ||
* [[Prog03: Usar Octave UPM como calculadora]] | * [[Prog03: Usar Octave UPM como calculadora]] | ||
| − | |||
Si todavía no has instalado [[Octave UPM]] en tu ordenador y te está dando problemas, consulta el siguiente vídeo: | Si todavía no has instalado [[Octave UPM]] en tu ordenador y te está dando problemas, consulta el siguiente vídeo: | ||
| Línea 15: | Línea 16: | ||
== Vídeos posteriores == | == Vídeos posteriores == | ||
| − | Cuando hayas terminado esta práctica, consulta | + | Cuando hayas terminado esta práctica, consulta los siguiente vídeos para afianzar los conocimientos: |
| + | * [[Prog04: Variables]] | ||
* [[Prog05: Nombres de variables]] | * [[Prog05: Nombres de variables]] | ||
| Línea 33: | Línea 35: | ||
| rand | | rand | ||
| rem | | rem | ||
| + | | | ||
|} | |} | ||
| Línea 39: | Línea 42: | ||
=== Variables === | === Variables === | ||
| − | # Crea una variable que se llame '' | + | # Crea una variable que se llame ''numero'' y que contenga el valor 6. |
| − | # ¿Qué ocurre si ejecuto el siguiente código? ¿Por qué? {{#tag:source| | + | # ¿Qué ocurre si ejecuto el siguiente código? ¿Cambia el valor de la variable ''numero''? ¿Por qué? {{#tag:source|8 = numero;|lang="matlab"}} |
# Ejecuta el siguiente código. ¿Se ha creado la variable? ¿Por qué no se muestra el resultado en la pantalla? {{#tag:source|res = 9-2;|lang="matlab"}} | # Ejecuta el siguiente código. ¿Se ha creado la variable? ¿Por qué no se muestra el resultado en la pantalla? {{#tag:source|res = 9-2;|lang="matlab"}} | ||
# Repite de nuevo, pero ahora ejecuta {{#tag:source|res2=9-2;|lang="matlab"}} Fíjate en que hemos quitado los espacios alrededor del igual. ¿Cambia algo la operación al cambiar la cantidad de espacios? | # Repite de nuevo, pero ahora ejecuta {{#tag:source|res2=9-2;|lang="matlab"}} Fíjate en que hemos quitado los espacios alrededor del igual. ¿Cambia algo la operación al cambiar la cantidad de espacios? | ||
| Línea 46: | Línea 49: | ||
# Calcula la suma de 6 y 3, sin asignarlo a ninguna variable. ¿Se ha guardado en alguna variable? ¿Cómo se llama? | # Calcula la suma de 6 y 3, sin asignarlo a ninguna variable. ¿Se ha guardado en alguna variable? ¿Cómo se llama? | ||
# Intenta ejecutar la siguiente expresión, primero a mano, luego con el ordenador. ¿No debería fallar? ¿Por qué proporciona un resultado? ¿Qué ha ocurrido en esa operación? ¿Es diferente a como solemos operar en Matemáticas? {{#tag:source|numero = numero + 1|lang="matlab"}} | # Intenta ejecutar la siguiente expresión, primero a mano, luego con el ordenador. ¿No debería fallar? ¿Por qué proporciona un resultado? ¿Qué ha ocurrido en esa operación? ¿Es diferente a como solemos operar en Matemáticas? {{#tag:source|numero = numero + 1|lang="matlab"}} | ||
| + | # Ejecuta ahora el siguiente código. ¿Por qué falla? {{#tag:source|numero + 1 = numero|lang="matlab"}} | ||
| + | # Ejecuta ahora el siguiente código. ¿Por qué falla? {{#tag:source|numero = nuMero + 1|lang="matlab"}} | ||
# Ejecuta el comando ''who''. ¿Qué muestra? | # Ejecuta el comando ''who''. ¿Qué muestra? | ||
# Ejecuta el comando ''whos''. ¿En qué se diferencia al comando ''whos''? | # Ejecuta el comando ''whos''. ¿En qué se diferencia al comando ''whos''? | ||
| Línea 54: | Línea 59: | ||
# Ejecuta el siguiente código. ¿Cuántos decimales tiene el resultado? {{#tag:source|2*sin(1.4)|lang="matlab"}} | # Ejecuta el siguiente código. ¿Cuántos decimales tiene el resultado? {{#tag:source|2*sin(1.4)|lang="matlab"}} | ||
| − | # Ejecuta ahora el comando ''format long'' y mira el contenido de la variable ''ans''. ¿Cuántos decimales tiene ahora? ¿Con cuántos decimales se realizó la operación? ¿Qué ha hecho el comando ''format''? | + | # Ejecuta ahora el comando ''format long'' y mira el contenido de la variable ''ans''. ¿Cuántos decimales tiene ahora? ¿Con cuántos decimales se realizó la operación? ¿Cuántos decimales tenía antes ''ans'' y cuántos tiene ahora? ¿Qué ha hecho el comando ''format''? |
# Ejecuta el comando ''format short'', y calcula de nuevo la operación. ¿Cuántos decimales usa ''short'' y cuántos ''long''? | # Ejecuta el comando ''format short'', y calcula de nuevo la operación. ¿Cuántos decimales usa ''short'' y cuántos ''long''? | ||
# Ejecuta el comando ''format'' a secas. ¿Qué hace ''format'' a secas? Consulta la ayuda del comando ''format'' con ''help format''. | # Ejecuta el comando ''format'' a secas. ¿Qué hace ''format'' a secas? Consulta la ayuda del comando ''format'' con ''help format''. | ||
| Línea 82: | Línea 87: | ||
# El comando ''rand'' devuelve números aleatorios entre 0 y 1. Nos gustaría obtener números aleatorios entre 0 y 10. ¿Cómo podemos obtenerlos? | # El comando ''rand'' devuelve números aleatorios entre 0 y 1. Nos gustaría obtener números aleatorios entre 0 y 10. ¿Cómo podemos obtenerlos? | ||
# ¿Y si ahora los quiero entre 23 y 34? ¿Se puede hacer? | # ¿Y si ahora los quiero entre 23 y 34? ¿Se puede hacer? | ||
| + | |||
| + | == Ejercicio post-práctica == | ||
| + | |||
| + | Cuando hayas terminado la práctica, resuelve este ejercicio. No es necesario hacerlo en el tiempo de clase. | ||
| + | |||
| + | {{#tag:source|z = 5; | ||
| + | y = z + 1; | ||
| + | z = 10;|lang="matlab"}} | ||
| + | |||
| + | ¿Qué valores tendrán las variables al ejecutar la última línea? Elige la opción correcta y justifica la respuesta: | ||
| + | # Ninguno, porque no sale nada en la pantalla | ||
| + | # ''z=5'', ''y=6'' | ||
| + | # ''z=10'', ''y=6'' | ||
| + | # ''z=10'', ''y=11'' | ||
| + | # Ninguna opción anterior es correcta | ||
| + | |||
| + | [[Categoría:Prácticas de Informática]] | ||
Revisión actual del 12:28 8 sep 2013
| Práctica de Informática | |
|---|---|
| Primeros pasos. Variables | |
| Práctica anterior | Siguiente práctica |
| Este artículo es un guión de prácticas de Informática | |
En esta práctica vamos a realizar nuestras primeras operaciones con Octave UPM. El objetivo de la práctica es familiarizarnos con la línea de comandos de Octave UPM, entender qué es una variable, cómo se muestran los resultados y contenidos de las variables, y cómo se opera con números y variables.
Contenido
1 Vídeos previos
Antes de realizar esta práctica, es recomendable ver estos vídeos del Curso de Introducción a la Programación. No es imprescindible verlos antes de hacer la práctica, pero sí recomendable. Si no has podido verlos antes, empieza la práctica, y vuelve a los vídeos después de la práctica.
Si todavía no has instalado Octave UPM en tu ordenador y te está dando problemas, consulta el siguiente vídeo:
2 Vídeos posteriores
Cuando hayas terminado esta práctica, consulta los siguiente vídeos para afianzar los conocimientos:
3 Comandos que se aprenderán en esta práctica
En esta práctica vamos a ver qué significan los siguientes comandos de MATLAB / Octave
| ans | who | whos | clear | help |
| sin | format | rand | rem |
4 Contenido de la práctica
4.1 Variables
- Crea una variable que se llame numero y que contenga el valor 6.
- ¿Qué ocurre si ejecuto el siguiente código? ¿Cambia el valor de la variable numero? ¿Por qué?
8 = numero;
- Ejecuta el siguiente código. ¿Se ha creado la variable? ¿Por qué no se muestra el resultado en la pantalla?
res = 9-2;
- Repite de nuevo, pero ahora ejecuta Fíjate en que hemos quitado los espacios alrededor del igual. ¿Cambia algo la operación al cambiar la cantidad de espacios?
res2=9-2;
- Ahora calcula el siguiente código. ¿Qué ocurre? ¿Por qué?
2res = 9 - 2;
- Calcula la suma de 6 y 3, sin asignarlo a ninguna variable. ¿Se ha guardado en alguna variable? ¿Cómo se llama?
- Intenta ejecutar la siguiente expresión, primero a mano, luego con el ordenador. ¿No debería fallar? ¿Por qué proporciona un resultado? ¿Qué ha ocurrido en esa operación? ¿Es diferente a como solemos operar en Matemáticas?
numero = numero + 1
- Ejecuta ahora el siguiente código. ¿Por qué falla?
numero + 1 = numero
- Ejecuta ahora el siguiente código. ¿Por qué falla?
numero = nuMero + 1
- Ejecuta el comando who. ¿Qué muestra?
- Ejecuta el comando whos. ¿En qué se diferencia al comando whos?
- Ejecuta el comando clear res. ¿Qué ha ocurrido? (pista: compruébalo con who y mirando el workspace)
- Ejecuta el comando clear. ¿Qué ha ocurrido ahora?
4.2 Formato de salida
- Ejecuta el siguiente código. ¿Cuántos decimales tiene el resultado?
2*sin(1.4)
- Ejecuta ahora el comando format long y mira el contenido de la variable ans. ¿Cuántos decimales tiene ahora? ¿Con cuántos decimales se realizó la operación? ¿Cuántos decimales tenía antes ans y cuántos tiene ahora? ¿Qué ha hecho el comando format?
- Ejecuta el comando format short, y calcula de nuevo la operación. ¿Cuántos decimales usa short y cuántos long?
- Ejecuta el comando format a secas. ¿Qué hace format a secas? Consulta la ayuda del comando format con help format.
4.3 Operaciones
En MATLAB / Octave se pueden realizar operaciones de manera sencilla como si fuera una calculadora.
- Ejecuta 3+55 -62 + 4 - 5 +22-1. Prueba a cambiar los espacios alrededor de los operadores. ¿Cambia el resultado?
- ¿Cuál es la diferencia entre 2*10^4 y 2e4? ¿Cuál opción crees que es mejor?
- Calcula 3/2 y 10/3. Intenta mostrar más decimales usando format.
- Calcula ahora 3\2 y 10\3. Fíjate en que la barra de división es diferente. ¿Cuál es la diferencia entre los dos comandos? ¿Por qué crees que MATLAB tiene dos barras diferentes para realizar la división?
- Cuando hay varios operadores, MATLAB tiene que decidir cuál ejecuta primero. Calcula 4 + 5 * 3. ¿Qué operación, + o *, se ha realizado primero?
- Si ejecuto (4 + 5) * 3, ¿cambia el resultado? ¿Por qué?
- Realiza las siguientes operaciones, primero a mano, y luego comprueba el resultado con el ordenador
4 ^ 2 - 1
4 ^ (2 - 1)
2\3
3/2
4 * 2 - 9 / 3
5 - - 34.4 Nombres de variables y funciones de MATLAB
- En un ejercicio anterior hemos usado la función sin. Ejecuta el siguiente código. ¿Qué ha ocurrido? ¿Por qué se produce un error en la última línea? ¿Cómo podemos arreglarlo para que podamos volver a usar la función sin?
sin(3.1)
sin = 7
sin(3.1)
- La función rem devuelve el resto de la división entera. Por ejemplo, si dividimos 17 entre 3, el resto dará 2. Compruébalo con ¿Qué ocurrirá si ahora ejecutamos el siguiente código?
rem(17,3)
Explica por qué el resultado es diferente.rem(3,17)
- El comando rand devuelve números aleatorios entre 0 y 1. Nos gustaría obtener números aleatorios entre 0 y 10. ¿Cómo podemos obtenerlos?
- ¿Y si ahora los quiero entre 23 y 34? ¿Se puede hacer?
5 Ejercicio post-práctica
Cuando hayas terminado la práctica, resuelve este ejercicio. No es necesario hacerlo en el tiempo de clase.
z = 5;
y = z + 1;
z = 10;¿Qué valores tendrán las variables al ejecutar la última línea? Elige la opción correcta y justifica la respuesta:
- Ninguno, porque no sale nada en la pantalla
- z=5, y=6
- z=10, y=6
- z=10, y=11
- Ninguna opción anterior es correcta