>> ZAMYLA CHAN: Salto Vamos em Mario.
Mario é um programa onde nós vamos fazer o nosso próprio, ainda que primitiva, versão de
um clássico Super Mario Brothers fundo do jogo.
Por este conjunto de problemas, vamos para recriar a meia-pirâmide para
Mario para saltar sobre.
Nosso programa será interativo, por isso pedirá ao usuário a entrada de um certo
altura para a pirâmide.
E o programa irá imprimir uma meia-altura da pirâmide de que, quando o
Hash inferior esquerdo alinha com o fundo canto esquerdo do terminal
janela de saída.
>> Vamos quebrar este problema em duas partes, um, obter a entrada do usuário, e dois,
imprimir a pirâmide.
Lembre-se que, embora a função GetInt irá recuperar um inteiro, você
tem que ter certeza que esta entrada faz sentido para o seu programa, por isso,
Mario, ele não vai fazer apenas uma produto para um número inteiro.
Você precisa se certificar de que o usuário entradas de um número inteiro que está dentro da
limites inferior e superior do pirâmide que você pode imprimir.
Por esta especificação, esta é 0 e 23 inclusive.
Se o usuário insere um inteiro fora dos nossos limites aceitos, então nós queremos
para levá-los novamente e novamente até eles nos dão um número inteiro válido.
>> Uma forma de garantir a entrada do usuário correto é usando um laço do-while, que é
muito semelhante a um loop while.
O Do-While executa o código no interior do corpo uma vez, e em seguida, verifica
se a condição for satisfeita ou não.
Isso é útil para obter a entrada do usuário porque você sabe que você precisa
para levá-los pelo menos uma vez.
Se a condição não for atendida, o programa executará a linha após
o Do-While.
Se a condição for atendida, porém, o ciclo se repetirá.
>> A Do-While para a validação de usuário entrada será algo parecido com isso.
Eu declaro uma variável n, GetInt, e repetir até que n é válido.
Lembre-se que quando você declara o seu variável, é necessária a adequada
escopo, assim como em Scratch.
Se eu declarar n dentro do meu laço do-while, o resto do programa não será
capaz de acessá-lo.
É limitada aos confins das chaves.
>> Tudo bem, então agora que já validado a entrada do usuário, que realmente precisa
tirar essa meia pirâmide.
Ela é composta de caracteres impressos, de modo vamos fazer uma meia-pirâmide em um simples
editor de texto.
Se quisermos fazer uma pirâmide de estilo Mario três de altura que está alinhado
no lado esquerdo do nosso janela, então nós tipo dois hashes, clique em Inserir,
em seguida, digite três hashes, clique em Enter, e digite quatro.
>> Mas neste conjunto de problemas, o nosso meia pirâmide tem que ser alinhado à direita.
Usando um teclado padrão, como pode você modificar esse arquivo para mover hashes
para o lado direito?
Eu possa usar para sublinhados, dois no top de linha e um no segundo.
Isso não parece tão bom, porém, assim Vamos substituir os sublinhados com
espaços, e aí temos uma meia-pirâmide de altura três.
>> Tente lembrar-se este editor de texto exemplo, como você começar a pensar de volta para
C. Vamos tentar descobrir algum tipo de padrão que podemos
colocar em uma construção de loop.
Tome uma altura exemplo, digamos oito, e veja se você pode começar a
chegar a um padrão.
A primeira linha terá sete espaços seguido por dois hashes.
A segunda fila terá seis espaços e hash três, e assim por diante até que o
oitava linha.
>> Mas como você representaria a linha enésimo?
Lembre-se que a convenção de programação é zero indexado.
Isso significa que você comece a contar a zero, então a primeira linha é tecnicamente
linha número zero com duas portinholas, linha número um tem três hashes, linha
número dois tem quatro hashes, para depois esse padrão para qualquer linha
número n, existem n + 2 hashes.
Vou deixar para você, no entanto, para encontrar o padrão para os espaços.
Lembre-se que seu padrão será ligeiramente diferente se você optar por
iniciar a sua contagem a partir e um não zero.
>> Agora, você tem um padrão para qualquer linha n abstrato.
Você sabe quantos espaços para imprimir e quantos guisados, assim, para cada linha, isto
Número mudará.
Mas o mesmo processo de impressão de um caráter único, um espaço ou um
de hash, é repetido.
Então tudo que você tem a fazer é repetidamente imprimir esse personagem por tantas vezes
como determina o seu padrão.
>> Então, como vamos repetir processos?
Em risco, foi utilizado o bloco de repetição.
Em C, vamos usar um loop For.
Vejamos a sintaxe Para para loops.
>> Para cada ciclo é composto por três partes, uma inicialização, uma condição,
e uma atualização.
Seu loop For irá inicializar uma variável quando pela primeira vez
entra no loop For.
Se a condição for atendida, o corpo do loop será executado.
Depois disso, a atualização será executada.
>> Se a condição ainda é cumprida, o loop será executado e atualizar e
repetir, enquanto a sua condição avalia para True.
Você é condição deve eventualmente avaliar como falso, porém, porque
ao contrário do risco, nós não tem quaisquer laços para sempre.
Seu programa deve terminar eventualmente.
>> Aqui está um exemplo de um loop que você pode querer usar para Mario.
A inicialização declara i um inteiro com o valor 0.
Contanto que i é menor que a altura, o corpo do loop e executará
aumentar i por um e repetir até i é maior ou
igual à altura.
>> Agora, meu loop é o índice zero.
A Int i começa em zero, nem um sequer.
Se eu escolhesse um, então a minha condição faria também tem que ser diferente para
o circuito para executar o mesmo número de vezes.
Lembre-se isso com cuidado quando você estiver escolher o seu inicialização e seu
condição, e consultar este traçar para checar.
>> Uma das grandes coisas sobre o computador ciência é que não há apenas tantas
formas de executar as coisas.
Você pode escolher se você começam em zero ou um.
Se você não quiser usar um loop, você também pode usar um loop While para
repetir afirmações, enquanto você manter a essência de um loop,
inicialização, condição e atualização.
Assim que descobrir o loop que estamos mais confortável, então nós
pode completar Mario.
>> Nós primeiro verificado para a entrada do usuário e, em seguida, identificada uma
padrão para qualquer linha n.
Assim, para cada linha de zero a n menos 1 imprimirá o número apropriado de
espaços, então o número apropriado de hashes de acordo com nosso padrão, e
em seguida, uma nova linha.
Com isso, você tem a sua pirâmide.
Meu nome é Zamyla, e isso foi Mario.