Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MacWilliam: Hablemos de bucles, uno de los comunes
construcciones de programación que vamos a ver a lo largo CS50.
Vamos a utilizar los bucles cuando se quiere realizar una
tarea más de una vez.
Por ejemplo, podríamos querer imprimir "Hola" 100 veces o impresión
todas las letras del alfabeto.
En ambos casos, tenemos una cosa que queremos hacer
varias veces, imprimir algo.
Sin embargo, lo que imprime cada vez que puede variar.
Así que podemos hacer algo un poco diferente en cada
iteración, o ejecutar a través, del bucle.
Vamos a ver tres tipos de bucles en C, mientras que
bucles, los bucles for, while y hacer.
Aunque estos tres tipos de bucles tiene una sintaxis diferente,
las ideas detrás de ellos son los mismos.
Vamos a definir algún bloque de código entre llaves,
llamado el cuerpo del bucle, que queremos ser ejecutado
cierto número de veces.
Al cambiar los valores de las variables usadas en el cuerpo, se
puede hacer que nuestro lazo de hacer algo diferente cada vez que se ejecute.
Con un bucle que escribimos, también tendrá que decidir cuándo es el
bucle se detendrá.
Si no hacemos eso, entonces nuestro equipo seguirá fiel
para ejecutar ese bucle hasta que matemos al programa.
En Scratch, podríamos utilizar la repetición de n veces
bloquear para crear un bucle.
Todas las piezas dentro de un bloque que dijo repetición 10
se ejecute 10 veces.
Y luego, nos gustaría pasar a las piezas después de ese bucle.
Así que nuestra condición de detención fue simplemente, este bloque ha sido
ejecutar 10 veces.
Así que vamos a recrear esto en C. Con el fin de garantizar a los arañazos
que las piezas dentro del bloque de repetición se ejecutan
exactamente 10 veces, Scratch necesita para realizar un seguimiento de cada
ejecución del bloque de repetición.
Para llevar la cuenta de las veces que nuestro cuerpo del bucle ha sido
ejecutado, vamos a crear una variable llamada i.
Vamos a empezar i en cero, ya que nuestro bucle
no ha sido ejecutado todavía.
Aceptar
Ahora vamos a utilizar la palabra clave, mientras que para empezar nuestro bucle.
Ahora tendremos que averiguar cuando nuestro bucle se detendrá, pero
dejemos esto por ahora y luego volver a ella.
Está bien.
Dentro de nuestro circuito, vamos a imprimir un mensaje, como
"Hi". Podemos utilizar la función printf para esto.
Está bien.
Así que ahora vamos a registrar que una iteración del cuerpo del ciclo tiene
sido ejecutado.
Podemos hacerlo mediante la adición de 1 a, o incrementar, nuestro contador
variable, i.
Para ello, podemos decir que es igual a i + 1, o más
simplemente, i plus plus.
Grande.
Así que ahora podemos ver que cada vez que nuestro bucle se ejecuta, nuestro
variable contador se incrementa en uno.
Así que sabemos exactamente cuántas iteraciones nos hemos quedado hasta ahora.
Después de una iteración del bucle, nuestro valor
de i será 1.
Después de dos iteraciones, voy a ser 2.
Y después de 10 iteraciones, voy a ser 10.
Así que, si queremos ejecutar este bucle exactamente 10 veces, y luego
esto es cuando queremos parar.
Así que queremos ejecutar este bucle while i es menor que 10, y
eso es exactamente lo que vamos a escribir, mientras que i
es inferior a 10.
Esta condición se parece a las condiciones que hemos utilizado en caso de
bloques cosa.
Después de que el cuerpo de nuestro bucle ha sido ejecutado, el programa de
vuelva a saltar a la condición de bucles.
Si la condición es verdadera, entonces el cuerpo de la
bucle se ejecuta de nuevo.
Si la condición ya no es así, entonces nuestro lazo no será
correr más y pasará a la siguiente línea de código
debajo de nuestro bucle.
Está bien.
Así que echemos un vistazo a un segundo tipo de
bucle, el bucle for.
Al lado de la palabra clave, mientras que, entre paréntesis, teníamos una cosa,
la condición de que sea necesario para ser verdad para la
cuerpo del bucle se ejecutará.
Eso significa que tuvimos que crear nuestra variable de contador externo
del bucle y se acuerda de incrementar en algún momento
en el interior del bucle.
La cabecera de nuestro bucle for, por otra parte, tiene tres
partes, cada una de las cuales se separan con un punto y coma.
En nuestro primer tercio, podemos declarar cualquier contador o auxiliar
variables que desea utilizar en nuestro bucle.
En la práctica, esto puede ser muy útil.
Realmente no necesito esa variable, i, después de nuestro tiempo
bucle se ejecuta, así que realmente no debería tener que declarar
fuera del bucle.
El segundo tercio será la condición que se debe cumplir
para que el cuerpo se ejecuta de nuevo, al igual
en nuestro bucle while.
En nuestro último tercio, se puede ejecutar una instrucción que será
ejecutado después de cada iteración del bucle, por lo que no tienen
para construirlo en el cuerpo del bucle.
Así que vamos a escribir un bucle for que una cuenta atrás de 5 a 1.
Vamos a empezar con la palabra clave para.
Podemos crear una variable de contador en primer lugar, que vamos a
establece en 5 esta vez ya que estamos contando,
seguido de un punto y coma.
El siguiente es nuestra condición, que vamos a volver.
En tercer lugar, nos gustaría disminuir nuestra variable contador después
cada iteración del bucle.
Así que en lugar de decir i plus plus, vamos a decir que me minus minus.
Está bien.
Así que queremos que el cuerpo del bucle se ejecute mientras yo todavía
mayor que 0.
En el cuerpo del bucle, vamos a imprimir el valor de i.
Para ello, vamos a utilizar la función printf, con el% d
marcador de posición.
Recuerde que la variable que será reemplazada por la
valor de i.
Por último, vamos a añadir una declaración después de nuestro bucle for.
Cuando se ejecuta este bucle, voy a empezar a los 5,
así que 5 se imprimirá.
Una vez que llega a 0, la condición de continuidad, i es
mayor que 0, ya no tendrá.
Así que nuestro bucle se detendrá la ejecución, y vamos a ver el
declaración después del bucle.
Así que vamos a ejecutar este código.
En primer lugar, vamos a elaborar un
countdown.c con hacer de cuenta atrás.
Ahora, podemos ejecutar este código con. / Cuenta atrás.
En ambos bucles while y for loops, nuestra continuación
se le examinará antes de que el cuerpo
del bucle se ejecuta.
Eso significa que, si nuestra condición no es inicialmente
cierto, entonces el cuerpo de nuestro bucle nunca se ejecutará.
Así que a veces es útil para verificar el estado después de la
cuerpo del bucle en lugar de antes de él.
Así que vamos a escribir un bucle para solicitar al usuario un número
hasta que un número positivo se suministra.
Si el usuario introduce un número negativo, vamos a pedirles
para otro número.
Así que vamos a querer este mensaje para estar dentro de la
cuerpo fuera del bucle.
Sin embargo, cuando el bucle se ejecuta por primera vez, el usuario
no nos ha dado el número todavía.
Así que no tiene sentido para comprobar si es positivo.
En su lugar, vamos a querer comprobar el número que sigue al cuerpo de
el bucle se ejecuta.
Podemos hacer esto con un bucle Do While.
En primer lugar, vamos a crear una variable, n, que contendrá
el usuario de entrada.
Ahora vamos a utilizar la palabra clave do, seguido de llaves que
comenzará el cuerpo de nuestro bucle.
En el cuerpo, se puede solicitar al usuario un número con el
GetInt función.
Ahora, vamos a querer el cuerpo de este bucle se ejecute de nuevo si
el usuario escribió un número negativo, por lo que vamos a decir mientras que n
es menor que 0.
Observe el punto y coma aquí después de la sentencia while.
Así que vamos a ejecutar este código.
En primer lugar, vamos a hacer con esto compilar positivo.
Ahora podemos ejecutar el programa con. / Positivo.
Si damos a este programa un número negativo, como negativo
4, entonces nos pedirá de nuevo para un número desde la
condición de nuestra do while era cierto.
Una vez que le damos un número positivo, al igual que 8, entonces el
condición de nuestra do while ya no es cierto.
Así que el bucle no se ejecuta de nuevo.
Y eso es todo por los tres tipos de bucles que usaremos en C.
Mi nombre es Tommy, y esto es CS50.