CS50-MCZ

Uma introdução aos empreendimentos intelectuais da Ciência da Computação e da arte da programação.


Mario (more)


Primeiros Passos

Abra o VS Code.

Comece clicando dentro da janela do seu terminal e execute cd sozinho. Você deverá ver que o "prompt" se parece com o abaixo.

$

Clique dentro da janela do terminal e, em seguida, execute

wget https://cdn.cs50.net/2022/fall/psets/1/mario-more.zip

seguido de Enter para baixar um arquivo ZIP chamado mario-more.zip no seu codespace. Tome cuidado para não esquecer do espaço entre wget e a URL seguinte, ou qualquer outro caractere!

Agora execute

unzip mario-more.zip

para criar uma pasta chamada mario-more. Você não precisa mais do arquivo ZIP, então você pode executar

rm mario-more.zip

e responda com "y" seguido de Enter no prompt para remover o arquivo ZIP que você baixou.

Agora digite

cd mario-more

seguido de Enter para se mover para dentro (ou seja, abrir) desse diretório. Seu prompt deve se parecer com o abaixo.

mario-more/ $

Se tudo correu bem, você deve executar

ls

e ver um arquivo chamado mario.c. Executar code mario.c deve abrir o arquivo onde você irá digitar seu código para este conjunto de problemas. Se não, retraça seus passos e veja se você pode determinar onde errou!

Mundo 1-1

No início do Mundo 1-1 do jogo Super Mario Brothers da Nintendo, Mario deve pular sobre pirâmides adjacentes de blocos, como mostrado abaixo.

captura de tela de Mario pulando sobre pirâmides adjacentes

Vamos recriar essas pirâmides em C, embora em texto, usando cerquilhas (#) para os tijolos, como abaixo. Cada cerquilha é um pouco mais alta do que larga, então as próprias pirâmides também serão mais altas do que largas.

   #  #
  ##  ##
 ###  ###
####  ####
      

O programa que escreveremos será chamado de mario. E vamos permitir que o usuário decida qual deve ser a altura das pirâmides, solicitando primeiro a ele um número inteiro positivo entre, digamos, 1 e 8, inclusive.

Aqui está como o programa pode funcionar se o usuário inserir 8 quando solicitado:

$ ./mario
Altura: 8
       #  #
      ##  ##
     ###  ###
    ####  ####
   #####  #####
  ######  ######
 #######  #######
########  ########
      

Aqui está como o programa pode funcionar se o usuário inserir 4 quando solicitado:

$ ./mario
Altura: 4
   #  #
  ##  ##
 ###  ###
####  ####

Aqui está como o programa pode funcionar se o usuário inserir 2 quando solicitado:

$ ./mario
Altura: 2
 #  #
##  ##

E aqui está como o programa pode funcionar se o usuário inserir 1 quando solicitado:

$ ./mario
Altura: 1
#  #

Se o usuário não inserir um inteiro positivo entre 1 e 8, inclusive, quando solicitado, o programa deve solicitar novamente até que o usuário coopere:

$ ./mario
Altura: -1
Altura: 0
Altura: 42
Altura: 50
Altura: 4
   #  #
  ##  ##
 ###  ###
####  ####

Observe que a largura do "vão" entre as pirâmides adjacentes é igual à largura de dois hashtags, independentemente das alturas das pirâmides.

Abra o seu arquivo mario.c para implementar este problema como descrito!

Como Testar Seu Código

O seu código funciona como esperado quando você insere:

Você também pode executar o código abaixo para avaliar a correção do seu código usando check50. Mas certifique-se de compilar e testá-lo por conta própria também!

check50 cs50/problems/2023/x/mario/more

Execute o código abaixo para avaliar o estilo do seu código usando style50.

style50 mario.c

Como Enviar

No seu terminal, execute o código abaixo para enviar seu trabalho.

submit50 cs50/problems/2023/x/mario/more