Computação Obrigatória

Métodos de Programação I

Computação 7.5 ECTS 1º Ciclo - Licenciatura
Ano
1
Ano lectivo
2026-2027
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 lecionada 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 Neumann), 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: objetivos 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 vetores.

Docente(s) responsável(eis)

Sílvia Alexandra Alves Barbeiro

Métodos de Avaliação

Avaliação contínua
Resolução de problemas: 20.0%
Projecto: 20.0%
Frequência: 60.0%

Avaliação final
Exame: 100.0%

Bibliografia

R. G. Dromey, How to solve it by computer, Prentice-Hall, 1982.
J. Tremblay, J. Dedourex, R. Bunt, Introduction to Computer Science -an Algorithmic Approach., 2nd ed.,
McGraw-Hill, 1988.
P. Quaresma, Métodos de Programação I, DMUC, 2015.
Luís Damas, Linguagem C (25ª Edição Atualizada e Aumentada), FCA, 2025, ISBN 978-972-722-945-1.
Marques Sá, Fundamentos de Programação Usando C, FCA, 2004. ISBN 978-972-722-475-3. B. Kernighan, D. Ritchie, The C Programming Language. 2nd ed, Prentice Hall, 1988.