Actividade
Esta aula tem como objectivos praticar/relembrar os seguintes conceitos:- Apresentaçãor/introdução do ambiente de trabalho a utilizar pelos alunos no desenvolvimento de aplicações nesta disciplina
- Tipos de dados abstractos (em C)
- Reutilização de conceitos
- Realização do 1º Exercício de Programação (EP1) para avaliação (caso haja tempo). Este exercício é para entregar até ao início da aula da próxima semana.
Enunciado da aula
Introdução ao ambiente de trabalho
- Utilização do sistema Unix. Pode consultar os seguintes documentos para ficar com uma melhor informação sobre este sistema operativo:
- Sumário dos comandos Unix mais comuns: http://infohost.nmt.edu/tcc/help/pubs/unixcrib/unixcrib.pdf
- Outro sumário http://www.ks.uiuc.edu/Training/Tutorials/Reference/unixprimer.htm
- Curso online sobre Linux https://courses.edx.org/courses/LinuxFoundationX/LFS101x/2T2014/info
- Sumário dos comandos Unix mais comuns: http://infohost.nmt.edu/tcc/help/pubs/unixcrib/unixcrib.pdf
- Definição de variáveis de ambiente:
- PATH
- Utilização do Emacs
Tipos de dados abstractos
Os exercícios seguintes ilustram a definição de tipos de dados abstractos em C e de instâncias destes tipos abstractos. Estas instâncias são semelhantes aos objectos suportados por linguagens de programação com objectos (OO), como o C++ ou o Java, mas, como estão concretizados em C, algumas das operações têm de ser definidas explicitamente pelo programador.
Os exemplos tocam também no aspecto da reutilização de código: em linguagens OO, é algo que surge "naturalmente". Nestes exemplos, é necessário mais trabalho para se conseguir ter reutilização de código.
Exercício 1
- Caneta simples - exemplo de modelação de um conceito OO em C.
Exercício 2
- Caneta com memória - exemplo de modelação de reutilização de código de abstracções relacionadas