ZAMYLA CHAN: ¡Vayamos a Mario. Mario es un programa donde haremos nuestra poseer, aunque primitivo, versión de un clásico de Super Mario Brothers juego de fondo. Para este conjunto de problemas, vamos para recrear la media pirámide para Mario a saltar sobre. Nuestro programa será interactivo, por lo que le pedirá al usuario que introduzca un determinado altura de la pirámide. Y el programa imprimirá un medio-pirámide de esa altura, donde el hash de la parte inferior izquierda se alinea con la parte inferior esquina izquierda de la terminal de ventana de salida. Vamos a romper este problema en dos partes, uno, conseguir la entrada del usuario, y dos, imprimir la pirámide. Recuerde que aunque la función GetInt recuperará un número entero, se tiene que asegurarse de que esta entrada hace sentido para su programa, por lo que en Mario, no lo hará sólo un producto para un número entero. Usted tendrá que asegurarse de que el usuario entradas un entero que está dentro de la límites inferior y superior de la pirámide que se puede imprimir. Por esta especificación, se trata de 0 y 23, ambos inclusive. Si el usuario introduce un número entero fuera de nuestros límites aceptados, entonces queremos para pedir una y otra vez hasta que nos dan un número entero válido. Una forma de asegurar la entrada del usuario es correcta mediante el uso de un bucle do-while, que es muy similar a un bucle While. El bucle do-while ejecuta el código el interior del cuerpo una vez y, a continuación, los cheques si la condición se cumple o no. Esto es útil para la obtención de la entrada del usuario porque usted sabe que usted necesita para pedir al menos una vez. Si la condición no se cumple, el programa se ejecutará la línea después de el bucle Do-While. Si se cumple la condición, sin embargo, el bucle se repetirá. Un bucle do-while para validar el usuario de entrada se verá algo como esto. Declaro una variable n, GetInt, y repetir hasta que n es válido. Recuerde que cuando usted declara su variable, se necesita la adecuada ámbito de aplicación, al igual que en el Scratch. Si declaro n dentro de mi bucle Do-While, el resto del programa no será poder acceder a él. Se limita a los confines de las llaves. Muy bien, así que ahora que hemos validado la entrada del usuario, que en realidad tiene que dibujar esta media pirámide. Se compone de los caracteres impresos, por lo vamos a hacer una media pirámide de una forma sencilla editor de texto. Si queremos hacer una pirámide de estilo de Mario de altura de tres que está alineado en el lado izquierdo de la ventana, a continuación, tendríamos tecleamos dos hashes, haga clic en Enter, a continuación, escriba tres hashes, haga clic en Ingrese y escriba cuatro. Pero en este conjunto de problemas, nuestra medio-pirámide tiene que estar alineado a la derecha. El uso de un teclado estándar, ¿cómo podría modifica este archivo a mover hashes hacia el lado derecho? Yo podría utilizar caracteres de subrayado, dos en el fila superior y uno en la segunda. Eso no se ve tan bonito, aunque, por lo ya es posible reemplazar los guiones con espacios, y ahí tenemos una media pirámide de altura de tres. Intente recordar este editor de texto ejemplo, como usted comienza a pensar de nuevo a C. Vamos a tratar de averiguar algo de tipo de patrón que podemos poner en una construcción de bucle. Tome una altura ejemplo, dicen ocho, y ver si usted puede comenzar a llegar a un patrón. La primera fila tendrá siete plazas de seguido de dos hashes. La segunda fila tendrá seis espacios y tres hashes, y así sucesivamente hasta que el octava fila. Pero, ¿cómo podría representar la enésima fila? Recuerde que la convención de programación es indexado cero. Eso quiere decir que usted comienza a contar a partir cero, por lo que la primera fila es técnicamente número de fila cero con dos escotillas, fila número uno tiene tres hashes, fila número dos tiene cuatro hashes, por lo siguiente este patrón para cualquier fila número n, hay n más 2 hashes. Lo dejo a usted, sin embargo, para encontrar el patrón para los espacios. Recuerde que su patrón será ligeramente diferente si usted decide iniciar el conteo de uno y no cero. Ahora, usted tiene un patrón para cualquier fila n abstracta. ¿Sabes cuántos espacios para imprimir y cuántos hashes, así que para cada fila, que número cambiará. Pero el mismo proceso de impresión de un de un solo carácter, un espacio o un hash, se repite. Lo único que tienes que hacer es repetidamente imprimir ese personaje tantas veces como su patrón determina. Entonces, ¿cómo repetimos procesos? En Scratch, se utilizó el bloque de repetición. En C, vamos a utilizar un bucle For. Echemos un vistazo a la sintaxis de bucles For. Cada bucle está compuesto de tres partes, una inicialización, condición, y una actualización. Su bucle For inicializará una variable cuando primero entra en el bucle For. Si se cumple la condición, el cuerpo del bucle se ejecutará. Posteriormente, la actualización se ejecutará. Si todavía se cumple la condición, la bucle se ejecutará y de actualización y repetir siempre y cuando su condición evalúa como True. Usted es condición que finalmente valorar False, sin embargo, porque a diferencia de los arañazos, no lo hacemos tienen ninguna bucles Forever. Su programa debe terminar con el tiempo. He aquí un ejemplo de un bucle que es posible que desee utilizar para Mario. La inicialización declara un entero i con el valor 0. Siempre y cuando i es menor que la altura, el cuerpo del bucle se ejecutará y aumentar la i por una y repita hasta que i es mayor o igual a la altura. Ahora, mi bucle For es el índice cero. El Int. i comienza en cero, no una. Si he elegido uno, entonces mi condición haría También tiene que ser diferente para el bucle para ejecutar el mismo número de veces. Recuerde esto con cuidado cuando se está la elección de su inicialización y su condicionar, y consultar esta trazar para comprobarlo. Una de las mejores cosas de la computadora la ciencia es que sólo hay tantos formas de ejecutar las cosas. Usted puede elegir si comienzan en cero o uno. Si no desea utilizar un bucle For, también puede utilizar un bucle While para repetir las declaraciones, siempre y cuando mantener la esencia de un bucle Para, inicialización, condición y actualización. Una vez que sepamos el bucle para que estamos más cómodos, entonces puede completar Mario. Nos registramos por primera vez para la entrada del usuario y luego identificado una patrón para cualquier fila n. Así que para cada fila de cero a n menos 1 imprimirá el número apropiado de espacios, entonces el número apropiado de hashes de acuerdo a nuestro modelo, y a continuación, una nueva línea. Con esto, usted tiene su pirámide. Mi nombre es Zamyla, y esto era Mario.