Informações

[dd-mm-2026]

--


Objetivos e resultados da aprendizagem

Os objetivos gerais de aprendizagem são os seguintes:

- perceber os fundamentos de programação para resolver problemas de natureza computacional usando computadores,

- perceber como abstrair um problema concreto para a sua devida especificação/modelação e implementação na forma de um programa de computador,

- introduzir os conceitos básicos de programação imperativa,

- desenvolver capacidades de programação com recurso à linguagem C,

- perceber e saber como corretamente integrar uma solução programática com as contingências arquitetónicas de um computador (e.g. aritmética de computador, gestão dinâmica do recurso memória).

A linguagem C será usada na componente prática da disciplina.


Programa detalhado

Fundamentos de computadores (hardware/software)

Programação estruturada & Desenho de algoritmos

Estruturas básicas da linguagem C: tipos de dados básicos, variáveis e operadores (aritméticos, relacionais e lógicos)

Instruções de atribuição e de entrada/saída

Instruções condicionais

Instruções de repetição (ciclos)

Subprogramas (funções)

Tipos de dados compostos: arrays e strings

Apontadores (ponteiros)

Passagem de parâmetros/argumentos em subprogramas

Ficheiros de texto e binários

Tipos de dados definidos pelo utilizador: registos (estruturas)

Gestão dinâmica da memória

Algoritmos recursivos

Aritmética de computador

Técnicas básicas de otimização de código C


Bibliografia

"Linguagem C", 25ª Edição Atualizada e Aumentada, 2025

Luís Damas

FCA-Editora de Informática

ISBN: 978-972-722-945-1

"Introdução à Programação Usando C", 2006

António Manuel Adrego da Rocha

FCA-Editora de Informática. Coleção: Tecnologias de Informação

ISBN: 978-972-722-524-8

"Elementos de programação com C", 3ª Edição Atualizada e Aumentada, 2006

Pedro João Valente Dias Guerreiro

FCA-Editora de Informática. Coleção: Tecnologias de Informação

ISBN: 972-722-510-1

"The C Programming Language", Second Edition, 1988

Brian W. Kernighan and Dennis M. Ritchie

Prentice Hall Software Series

ISBN: 978-013-110-362-7


Critérios de Avaliação

A avaliação no período de Aprendizagem consiste no seguinte:

- 2 mini-testes práticos a realizar nas aulas práticas (PL): 4.0 valores (2.0 valores cada)

- 2 testes escritos (frequências): 16.0 valores (8.0 valores cada)

- assiduidade às aulas: 50%

Aprendizagem = Mini-testes práticos + Testes escritos

em que,

- Assiduidade às aulas inferior a 50% ==> Reprovado e Não Admitido a Exame

- Aprendizagem < 5.5 ==> Reprovado e Não Admitido a Exame

- Aprendizagem >= 9.5 ==> Aprovado e Dispensado de Exame

- Restantes casos ==> Reprovado e Admitido a Exame

Exames = Mini-testes práticos + Teste escrito

em que,

- Mini-testes práticos (realizados nas aulas práticas): 4.0 valores

- Teste escrito: 16.0 valores


Datas das avaliações

Tipo de avaliação Data Hora Salas
Teste escrito 1 27/10/2025 18 h 6.01 - 6.06
Teste escrito 2 16/12/2025 18 h 6.01 - 6.06
Mini-teste prático 1 21-22/10/2025 Aulas PL Aulas PL
Mini-teste prático 2 25-26/11/2025 Aulas PL Aulas PL

Testes do ano letivo de 2024/2025

Frequência 1 »»» Resolução

Frequência 2 »»» Resolução

Exame de Época Normal »»» Resolução

Exame de Época de Recurso »»» Resolução


Classificações obtidas nas avaliações

Ano letivo 2025/2026 (necessita de senha de acesso - fornecida através do Moodle)

Mini-Testes Práticos

Frequência 1 (classificação em percentagem) »»» Resolução (sugestão)

Frequência 2 (classificação em percentagem) »»» Resolução (sugestão)

Aprendizagem (Mini-testes práticos + Frequências)

Exame de Época Normal (Teste escrito + Mini-testes práticos) »»» Resolução (sugestão)

Exame de Época de Recurso (Teste escrito + Mini-testes práticos) »»» Resolução (sugestão)


Apontamentos

Fundamentos de computadores. Hardware vs. Software

Programação estruturada & Desenho de algoritmos

Estruturas básicas da linguagem C: tipo de dados simples, variáveis e operadores (aritméticos, relacionais e lógicos)

Instruções de atribuição e de entrada/saída

Instruções condicionais

Instruções de repetição (ciclos)

Subprogramas (funções)

Tipos de dados compostos: arrays

Apontadores/ponteiros

Passagem de parâmetros/argumentos em subprogramas

Tipos de dados definido pelo utilizador: registos/estruturas

Gestão dinâmica da memória

Ficheiros de texto

Ficheiros binários

Algoritmos recursivos

Tipos de dados compostos: strings (cadeia de carateres)

Aritmética de computador

Técnicas básicas de otimização de código C


Folhas práticas

Edição, compilação e execução de programas em C

Manipulação de variáveis e de expressões

Instruções de atribuição e de entrada/saída padrão

Instruções condicionais

Instruções de repetição

Subprogramas (funções)

Arrays

Apontadores/ponteiros

Registos/estruturas (struct)

Gestão dinâmica da memória

Ficheiros de texto

Ficheiros binários

Algoritmos recursivos

Strings

Sistema Operativo UNIX

Conta UNIX da UBI »»» PUTTY »»» WinSCP

Comandos UNIX

Compiladores de C

DEV-C++ (para Windows)

CODE::BLOCKS »»» Manual em Português »»» Manual em Inglês

Bibliotecas para resolver os exercícios das folhas práticas

Clicar no nome da folha desejada para aceder às respetivas bibliotecas

Aleatorio.h »»» biblioteca para gerar números aleatórios (inteiros e reais)

OperacoesBasicas.h »»» biblioteca com as operações básicas

Array1DInteiros.h »»» biblioteca com as operações sobre arrays 1D de inteiros

Array1DReais.h »»» biblioteca com as operações sobre arrays 1D de reais

Array2DReais.h »»» biblioteca com as sobre arrays 2D de reais

Array1DInteirosR.h »»» biblioteca com as operações sobre arrays 1D de inteiros


Avaliação prática

Realizar teste usando Máquina Local

Descarregar e carregar ficheiros

Realizar teste usando Plataforma de Avaliação

Acesso à Plataforma de Avaliação


Horário de atendimento

- Segunda-feira, 16h - 18h (Gabinete 4.2)

- Terça-feira, 16h - 18h (Gabinete 4.2)

- Outro horário (sujeito a marcação com o docente), podendo ser presencial ou através do ZOOM


Horário da unidade curricular

Horas Segunda Sala Terça Sala Quarta Sala Quinta Sala Sexta Sala
08
09 PL2 FM
1209
10
11 TE 6.03 PL1 FM
1209
PL4 FM
1209
12
13
14 PL3 FM
1209
15
16
17
18

FM 1209 : Fábrica do Moço (Bloco 12), Sala 12.09