CS50-MCZ

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


Hello


Começando

Lembre-se de que o Visual Studio Code (também conhecido como VS Code) é um popular "ambiente de desenvolvimento integrado" (IDE) no qual você pode escrever código. Para que você não precise baixar, instalar e configurar sua própria cópia do VS Code, usaremos uma versão baseada em nuvem que já tem tudo o que você precisa pré-instalado.

Acesse code.cs50.io usando sua conta do GitHub. Depois que seu "codespace" for carregado, você deverá ver que, por padrão, o VS Code é dividido em três regiões. Na parte superior do VS Code está o "editor de texto", onde você escreverá todos os seus programas. Na parte inferior, há uma "janela do terminal", uma interface de linha de comando (CLI) que permite explorar os arquivos e diretórios (também conhecidos como pastas) do seu codespace, compilar o código e executar programas. E à esquerda está o "explorador de arquivos", uma interface gráfica do usuário (GUI) por meio da qual você também pode explorar os arquivos e diretórios do seu codespace.

Comece clicando dentro da janela do terminal e, em seguida, execute cd sozinho. Você deve encontrar que seu "prompt" se parece com o abaixo.

$

Clique dentro daquela janela do terminal e digite

mkdir hello

seguido de Enter para criar um diretório chamado hello em seu codespace. Tenha cuidado para não esquecer o espaço entre mkdir e hello ou qualquer outro caractere.

Daqui para frente, executar (ou seja, executar) um comando significa digitá-lo em uma janela do terminal e, em seguida, pressionar Enter. Os comandos diferenciam maiúsculas de minúsculas, portanto, certifique-se de não digitar em maiúsculas quando quiser minúsculas ou vice-versa.

Agora execute

cd hello

Para se mover para (ou seja, abrir) esse diretório, execute o seguinte comando. Seu prompt deve ficar parecido com o abaixo.

hello/ $

Se isso não acontecer, refaça seus passos e tente determinar onde você errou!

Vamos escrever seu primeiro programa? Execute:

code hello.c

para criar um novo arquivo chamado hello.c, que deve ser aberto automaticamente no editor de texto do seu ambiente de desenvolvimento. Assim que você salvar o arquivo com o comando-S (no macOS) ou control-S (no Windows), ele também deverá aparecer no explorador de arquivos do seu ambiente de desenvolvimento.

Prossiga para escrever seu primeiro programa digitando exatamente estas linhas em hello.c:

#include <stdio.h>

int main(void)
{
  printf("hello, world\n");
}

Observe como o VS Code adiciona “destaque de sintaxe” (ou seja, cor) conforme você digita, embora a escolha de cores do VS Code possa ser diferente da deste conjunto de problemas. Essas cores não são salvas no arquivo em si; elas são adicionadas pelo VS Code para destacar determinada sintaxe. Se você não tivesse salvado o arquivo como hello.c desde o início, o VS Code não saberia (conforme a extensão do nome do arquivo) que você está escrevendo código C, e, nesse caso, essas cores estariam ausentes.

Listando arquivos

Agora, em sua janela do terminal, imediatamente à direita do prompt (hello/ $), execute:

ls
    

Você deve ver apenas hello.c? Isso ocorre porque você acabou de listar os arquivos em sua pasta hello. Em particular, você executou um comando chamado ls, que é uma abreviação de "listar". (É um comando tão frequentemente usado que seus autores o chamaram simplesmente de ls para economizar teclas.) Faz sentido?

Compilando programas

Agora, antes de podermos executar o programa hello.c, lembre-se de que devemos compilá-lo com um compilador, traduzindo-o de código fonte para código de máquina (ou seja, zeros e uns). Execute o comando abaixo para fazer isso:

make hello
    

E então execute este novamente:

ls
    

Desta vez, você deve ver não apenas hello.c, mas também hello listados? Você acabou de traduzir o código fonte em hello.c para o código de máquina em hello.

Agora execute o próprio programa, executando o abaixo.

./hello
    

Olá, mundo, de fato!

Obtendo entrada do usuário

Diga-se de passagem, não importa como você compila ou executa este programa, ele só imprime olá, mundo. Vamos personalizá-lo um pouco, assim como fizemos em aula.

Modifique este programa de tal forma que primeiro peça ao usuário seu nome e depois imprima olá, fulano-de-tal, onde fulano-de-tal é o nome real do usuário.

Como antes, certifique-se de compilar seu programa com:

make hello
    

E certifique-se de executar seu programa, testando-o algumas vezes com entradas diferentes, com:

./hello
    

Dicas

Não se lembra de como solicitar o nome do usuário?

Lembre-se que você pode usar get_string da seguinte forma, armazenando seu valor de retorno em uma variável chamada name do tipo string.

string name = get_string("Qual é o seu nome? ");

Não se lembra de como formatar uma string?

Não se lembra de como juntar (ou seja, concatenar) o nome do usuário com uma saudação? Lembre-se que você pode usar printf não só para imprimir, mas para formatar uma string (daí o f em printf), como abaixo, onde name é uma string.

printf("Hello, %s\n", name);

Uso de identificador não declarado?

Ao ver o abaixo, talvez junto com outros erros?

error: use of undeclared identifier 'string'; did you mean 'stdin'?
    

Lembre-se de que, para usar get_string, você precisa incluir cs50.h (no qual get_string é declarado) no início de um arquivo, como neste exemplo:

#include <cs50.h>
    

Como Testar o Seu Código

Execute o código abaixo para avaliar a correção do seu programa usando o check50, um programa de linha de comando que mostrará carinhas felizes sempre que seu código passar nos testes automatizados do CS50 e carinhas tristes sempre que não passar! Mas lembre-se de compilar e testar o código por conta própria também!

check50 cs50/problems/2023/x/hello
    

Execute o abaixo para avaliar o estilo do seu código usando style50, um programa de linha de comando que mostrará as adições (em verde) e exclusões (em vermelho) que você deve fazer no seu programa para melhorar seu estilo. Se tiver problemas para ver essas cores, style50 também suporta outros modos!

style50 hello.c

Como Submeter

No seu terminal, execute o abaixo para submeter seu trabalho.

submit50 cs50/problems/2023/x/hello