Introdução à Programação (B) (2018/2019)

Lista de exercícios

Artur Miguel Dias



Prática 01 (Semana de 24/set/2018 - 1)

Sumário: Introdução à utilização do sistema Code::Blocks. Exercícios 1, 2, 3, 4, 5.



Sobre os laboratórios do DI

Os laboratórios do DI estão equipados com PCs onde estão instalados os sistemas operativos Windows 10 e Linux Ubuntu. Nas nossas aulas práticas usaremos o Windows 10.

Em algumas salas as máquinas são antigas e ficam bastante lentas com o Windows 10. Em especial, o processo de login é demorado. É preciso um pouco de paciência. Mas também há algumas salas com máquinas modernas e rápidas; você perceberá a diferença imediatamente.

Durante as aulas práticas os alunos sentam-se nos computadores em grupos de dois. Como o projeto final será feito por grupos de dois alunos, é boa ideia começar já a pensar com quem se quer formar grupo.

Sessão de trabalho

No início de cada aula prática: faça login no seu PC usando as suas credenciais no CLIP.

No final de cada aula prática faça "Terminar sessão" ou "Sign off". Por favor, não faça "Encerrar" nem "Reiniciar".

Área pessoal H:

Os alunos PRECISAM de gravar todos os seus documentos na sua área permanente de rede, identificada como "H:" e que aparece no desktop com o nome Área Pessoal. Os ficheiros guardados na área pessoal são persistentes e os donos desses ficheiros podem aceder-lhes a partir de qualquer computador fixo dentro da FCT.

Nos nossos laboratórios, sempre que se entra no Windows, é criada uma área de trabalho temporária no disco C: do computador. Essa área é automaticamente apagada quando o computador se desliga. Portanto, tudo o que for gravado nas pastas temporárias do disco C: se perde.


Como usar o Code::Blocks

O Code::Blocks é um sistema de utilização gratuita que serve para desenvolver programas escritos usando as Linguagens de Programação C e C++. Vamos usá-lo nos laboratórios e em casa para programar em C.

Guia para a 1ª utilização do Code::Blocks

  1. Antes de mais nada, dentro da sua pasta de documentos da área pessoal H:, crie uma pasta chamada, por exemplo, "IP-B". Servirá para guardar todos os seus projetos do Code:Blocks ao longo do semestre.
  2. Vamos criar o nosso 1º projeto.
  3. Ative o programa Code::Blocks no computador em "CADEIRAS > IP-B > Code::Blocks".
  4. Vamos criar o 1º projeto: Escolha o item de menu "File > New > Project...", ou então clique no primeiro item da toolbar, aquele que tem um pequeno sinal de soma amarelo.
  5. Tipo de projeto: agora escolha a opção Console application e faça Go.
  6. Aparece uma mensagem de boas-vindas. Selecione o quadradinho para a mensagem não nos incomodar no futuro e avance com Next >.
  7. Qual a linguagem? Escolha a linguagem C e avance com Next >.
  8. Escolher o nome do projeto: escreva na primeira caixa um nome para o projeto, por exemplo ex01. Não avance ainda.
  9. Guardar o projeto: no contexto da segunda caixa, navegue para a sua pasta dos projetos de IP-B, dentro de H:, e selecione-a. Avance com Next >.
  10. Observe diversa informação técnica mas não altere nada. Avance com Finish. O projeto ficou criado e guardado.
  11. Agora veja o ficheiro main.c, dentro do projeto. Usando o menu do rato, renomeie o ficheiro main01.c. (Só se consegue renomear se a janela do ficheiro estiver fechada, ou seja se o ficheiro não estiver em edição).
  12. Geralmente, queremos alterar o conteúdo do ficheiro main para escrevermos o nosso próprio programa, mas desta vez vamos tentar executar o programa original sem alteração. Basta clicar no símbolo "Build and run", a meio da toolbar, naquele símbolo que junta uma pequena roda dentada com um pequeno triângulo verde. Outra forma de obter o mesmo efeito é carregar na tecla F9 do teclado.
  13. Se o programa não tiver erros, ele vai correr. Observe.
  14. Se o programas tiver erros, então não corre. Nesse caso, leia os erros, corrija-os e volte a tentar o comando "Build and run" (F9).

Gestão dos vários exercícios ao longo das aulas práticas

  1. Ao longo do semestre, o ideal será criar um projeto diferente para cada exercício. Para identificar os vários projetos, use os nomes: ex01, ex02, ex03, etc.
  2. O Code::Blocks permite que haja vários projetos abertos ao mesmo tempo. Nesse caso, os ficheiros main01.c, main02.c, etc. dos vários projetos podem ser livremente examinados e editados.
  3. Contudo, quando chega a altura de compilar e executar um programa, temos de saber qual dos projeto conta, ou seja qual é o projeto ativo.
  4. O nome do projeto ativo aparece a negrito (bold). Para mudar o projeto ativo, basta fazer um duplo-clique no nome do projeto pretendido.

Para abrir um projeto existente

  1. Dentro do Code::Blocks, usar o item de menu "File > Open..." ou usar a opção "Open" azul, na segunda posição da toolbar.
  2. Fora do Code::Blocks, no "Explorador" do Windows, procurar o projeto e clicar no ícone colorido do projeto, com a extensão "cbp".

Problema frequente

  1. Os comandos deixam de responder e os itens dos menus estão todos cinzentos. A solução é fechar a consola (a janela preta). Só é possível correr um programa de cada vez e ter uma consola aberta de cada vez.


Instalação do Code::Blocks

Windows - Para usar em casa, pode descarregar o Code::Blocks a partir daqui. No caso do Windows, o instalador que nos interessa é o codeblocks-17.12mingw-setup.exe. Veja bem, não se engane! No caso de se enganar terá de: (1) desinstalar a versão errada, (2) instalar a versão correta, (3) fazer uma correção manual: ir a Settings > Compiler... > Toolchain executables, fazer Auto-detect e depois OK.

Mac OS - A instalação é um pouco trabalhosa, mas vale a pena o esforço. Eis a receita. Depois de instalar no Mac, se verificar que o Code::Blocks falha ocasionalmente, eis algo que geralmente resolve a situação: (1) ir ao menu Plugins->Manage plugins; (2) selecionar na lista de installed plugins o plugin “Code completion”; (3) selecionar a opção de Disable.

Linux Ubuntu - Basta dar o comando sudo apt install codeblocks e aguardar 20 segundos pelo final da instalação, que é completamente automática.



Exercícios

Vamos agora os exercícios desta aula...

Na aula teórica 1 explicou-se o que é uma linguagem de programação e ainda os conceitos de programa fonte, programa executável, erro sintático, erro de lógica, compilação do programa, teste do programa. Se não se lembrar de tudo neste momento não se preocupe, pois isso não o impede de copiar os programas abaixo e de ver os resultados da sua execução. É apenas isso o que se pretende hoje.


  • 1 - Introduza e depois execute diversas vezes o seguinte programa:

    O enunciado para este programa poderia ser: "Escreva um programa que produza o sucessor de qualquer número inteiro".


  • 2 - Introduza e depois execute diversas vezes o seguinte programa:

    Depois de ver o programa a correr, invente um enunciado simples que tenha este programa como solução.


  • 3 - Copie para o computador o seguinte programa que contém alguns erros de sintaxe:

    Analise as mensagens de erro, corrija os erros e execute o programa.


  • 4 - Altere o programa do exercício 3 de forma a que também escreva o nome dos alunos que estão a escrever o programa, um nome por linha.


  • 5 - Procure na Internet as primeiras 8 linhas dos Lusíadas de Luís de Camões, e faça um programa que quando executado, escreva essas 8 linhas na consola.

    Repare que os acentos não aparecem corretamente. Nos programas de consola, este problema não tem solução simples. Vamos viver com essa limitação e no futuro evitaremos usar acentos nas mensagens em português.