Diferencia entre revisiones de «PrInf14: Interrumpir bucles while»
(→Contenido de la práctica) |
(→Contenido de la práctica) |
||
| Línea 29: | Línea 29: | ||
nCaras = 0; | nCaras = 0; | ||
nCruces = 0;|lang="matlab"}} | nCruces = 0;|lang="matlab"}} | ||
| − | Una vez creadas estas variables, tenemos que repetir la tirada tantas veces como sea necesario. Como no podemos saber el número de tiradas que hará falta, tenemos que usar un bucle ''while'' para repetir los comandos. {{ Tarea | ¿Cuál es la condición que tiene que cumplir el bucle ''while'' para seguir realizando tiradas}} | + | Una vez creadas estas variables, tenemos que repetir la tirada tantas veces como sea necesario. Como no podemos saber el número de tiradas que hará falta, tenemos que usar un bucle ''while'' para repetir los comandos. {{ Tarea | ¿Cuál es la condición que tiene que cumplir el bucle ''while'' para seguir realizando tiradas?}} |
| + | Se pueden poner varias condiciones diferentes en el bucle ''while''. Nosotros, que somos optimistas, repetiremos el bucle hasta que gane: {{#tag:source|while nCaras < 3 | ||
| + | % Cuerpo del bucle | ||
| + | end|lang="matlab"}} | ||
== Ejercicio post-práctica == | == Ejercicio post-práctica == | ||
[[Categoría:Prácticas de Informática]] | [[Categoría:Prácticas de Informática]] | ||
Revisión del 17:38 2 ago 2013
| Práctica de Informática | |
|---|---|
| Cómo interrumpir bucles while | |
| Práctica anterior | Siguiente práctica |
| Este artículo es un guión de prácticas de Informática | |
| |
En un bucle while, no sabemos a priori cuántas veces se va ejecutar el bucle. Pero sí podemos saber la condición que tiene que cumplirse para que se siga ejecutando el bucle. Si esta condición es muy compleja, puede ser recomendable simplificarla y añadir algún break o continue al cuerpo del bucle. De nuevo, el uso de break y continue debería ser minoritario, ya que muchas veces hacen el código más difícil de entender y modificar, y más propenso a contener fallos. En esta práctica vamos a ver una condición compleja, y cómo añadiendo un break hacemos el programa más sencillo.
Contenido
1 Requisitos previos
Es importante haber realizado las siguientes prácticas antes de realizar esta práctica:
Para la segunda parte de la práctica, también puede ser necesario repasar la práctica sobre expresiones lógicas:
2 Vídeos posteriores
Tras realizar esta práctica, el siguiente vídeo te ayudará a afianzar conocimientos:
3 Contenido de la práctica
En esta práctica vamos a realizar una simulación de un juego con una moneda. El juego consiste en tirar una moneda varias veces. Si el jugador saca tres caras, gana un premio en euros igual al número de tiradas que se hayan realizado. Si saca tres cruces, pierde la cantidad en euros igual al número de tiradas realizado. Nuestro programa tiene que tirar la moneda las veces que sean necesarias para sacar tres caras o tres cruces, y luego mostrar el número de tiradas que han sido necesarias.
Para simular el lanzamiento de una moneda usaremos la función rand, que devuelve un número aleatorio entre 0 y 1. Si el número es menor que 0.5, entenderemos que ha salido cara, y si no lo es, que ha salido cruz.
El primer paso consiste en crear tres variables para llevar la cuenta del número de tiradas, caras y cruces:
tiradas = 0;
nCaras = 0;
nCruces = 0;Una vez creadas estas variables, tenemos que repetir la tirada tantas veces como sea necesario. Como no podemos saber el número de tiradas que hará falta, tenemos que usar un bucle while para repetir los comandos.
| |
Tarea: | ¿Cuál es la condición que tiene que cumplir el bucle while para seguir realizando tiradas? |
while nCaras < 3
% Cuerpo del bucle
end