PrInf04: Comunicación con el usuario

De MateWiki
Revisión del 17:39 3 jul 2013 de Herraiz (Discusión | contribuciones) (Mostrar el contenido de variables)

Saltar a: navegación, buscar

Los programas que vamos a escribir necesitarán en la mayoría de ocasiones interactuar con el usuario, ya sea mostrándole información, ya sea pidiéndole información para realizar los cálculos. En esta práctica vamos a ver cómo escribir mensajes en la pantalla (desde mensajes sencillos con el contenido de una variable, hasta mensajes más complicados con formato) y cómo recoger información proporcionada por el usuario a través del teclado.

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.

También es recomendable haber realizado antes la práctica 1, en particular la parte de creación y manipulación de variables.

2 Comandos que se aprenderán en esta práctica

En esta práctica vamos a ver qué significan los siguientes comandos de MATLAB / Octave

disp fprintf input

3 Contenido de la práctica

3.1 Mostrar el contenido de variables

La manera más sencilla de mostrar el contenido de una variable es simplemente no incluir el punto y coma al final de una asignación o de una línea de código, y dejar que se muestre el resultado. Esta técnica puede ser útil cuando estamos desarrollando un programa, para ver resultados intermedios, y ayudar en la depuración del programa. Pero cuando tenemos el programa terminado, deberíamos cuidar los mensajes que se muestran en pantalla, y no mostrar detalles internos innecesarios al usuario. Para estas situaciones, es mejor usar los comandos disp y fprintf.

  1. Vamos a ver un ejemplo sencillo. Crea una variable de nombre a que tenga de valor 2.7, sin olvidar el punto y coma final. Muestra su contenido con
    disp(a)
    El comando disp muestra en la pantalla el contenido de la variable.
  2. El comando disp interacciona directamente con la pantalla. Lo que se muestra no es el resultado de una operación, sino que es el comando disp interactuando directamente con el dispositivo de salida, es decir, la pantalla. Para comprender este punto vamos a ejecutar el siguiente comando (fíjate en el punto y coma final)
    disp(a);
    ¿Por qué se muestra el resultado si hemos incluido el punto y coma al final? ¿Cuál es el cometido del punto y coma? En general, la mejor estrategia es siempre poner el punto y coma final en todos los comandos. Solo deberíamos quitarlo para mostrar resultados intermedios cuando estemos realizando pruebas. En cambio, si queremos mostrar al usuario la salida de un programa, hay que usar los comandos adecuados según el mensaje
  3. Se pueden mostrar los resultados de variables de muy diversos tipos (textos, matrices, etc). Crea una matriz B aleatoria de orden 5, con números entre el 7 y el 16, sin que ningún elemento tenga parte decimal. No te olvides del punto y coma final. Ahora ejecuta
    disp(B);
    En general, disp mostrará correctamente cualquier variable de cualquier tipo.
  4. Otro tipo de datos que se puede mostrar con disp es texto. En un lenguaje de programación se conoce como cadena de texto al conjunto de caracteres que forman un texto. Por ejemplo Hola caracola es una cadena de texto, formada por los caracteres H, o, etc. El término cadena proviene de la Teoría de Autómates y de Lenguajes de Programación, y ha sido heredada en la implementación y diseño de lenguajes de programación. Históricamente, este tipo de información tenía un tratamiento especial en los lenguajes, aunque los lenguajes modernos (como el lenguaje M) permiten manipular texto de manera sencilla. Veamos un ejemplo con disp
    disp('Hola mundo');

4 Ejercicio post-práctica