Métodos de Programação I

Ano
1
Ano lectivo
2025-2026
Código
01001179
Área Científica
Computação
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
7.5
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Conhecimento e domínio da lógica proposicional leccionada na disciplina de Matemática do ensino secundário.

Métodos de Ensino

Aulas teórico-práticas com exposição pelo professor dos assuntos de natureza mais teórica e com apresentação de exemplos. Aulas práticas de resolução de exercícios em papel e de implementação de programas pelos alunos, com o acompanhamento do professor.

Resultados de Aprendizagem

Apreender o modo de funcionamento básico de um computador digital (modelo de Von Newman), como se pode representar a informação num tal modelo e quais as implicações práticas das suas limitações

Aprender a programar num ambiente de uma linguagem imperativa.

Apreender o paradigma da programação estruturada e descendente, ou seja, pretende-se reforçar o raciocínio algorítmico dedutivo, tornando um programa como um método de resolução automática de um dado problema.

As principais competências a desenvolver são: capacidade de utilização de ferramentas computacionais; capacidade de generalização e abstração; capacidade de formular e resolver problemas; argumentação lógica; espírito crítico; capacidade de cálculo; conhecimento de resultados matemáticos; expressões escrita e oral rigorosas e claras; iniciativa individual; capacidade de comunicação.

Estágio(s)

Não

Programa

1. Estrutura e funcionamento básico de um computador digital: o modelo de von Neumann; as componentes básicas de um computador digital; representação computacional de entidades numéricas e não numéricas.

2. Algoritmos e programas: objectivos a atingir (correção, clareza e eficiência) e como os atingir (abstração e modularidade); programação como resolução estruturada de problemas; linguagens algorítmicas.

3. Introdução à programação imperativa (em C): tipos elementares de informação; variáveis e constantes; expressões aritméticas e lógicas. Estruturas de controlo em programação imperativa: atribuição, sequenciação, decisão, seleção e repetição. Tipos estruturados de informação: registos, tabelas e as operações básicas sobre as suas representações estáticas. Manipulação de ficheiros.

4. Metodologia da programação: desenvolvimento modular e descendente de programas. Funções e  parâmetros.

5. Introdução à programação recursiva

6. Algoritmos básicos de ordenação e pesquisa em vectores.

Docente(s) responsável(eis)

Sílvia Alexandra Alves Barbeiro

Métodos de Avaliação

Avaliação final
Resolução de problemas: 20.0%
Exame: 80.0%

Avaliação continua
Resolução de problemas: 20.0%
Frequência: 80.0%

Bibliografia

Kernighan, Brian, & Ritchie, Dennis. 1988. The C Programming Language. 2nd edn. Prentice Hall.

J. Tremblay, J. Dedourex, R. Bunt, Introduction to Computer Science -an Algorithmic Approach., 2ed, McGraw-Hill, 1988.

Pedro Quaresma, Métodos de Programação I, DMUC, 2015.

R. G. Dromey, How to solve it by computer, Prentice-Hall, 1982.