2026
Programação I
Nome: Programação I
Cód.: INF13175L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica:
Informática
Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português, Inglês
Regime de Frequência: Presencial
Objetivos de Desenvolvimento Sustentável
Objetivos de Aprendizagem
No final desta unidade curricular os alunos deverão ser capazes de:
* aplicar o processo de desenvolvimento de um programa: compreender problema, conceber o algoritmo, implementar o algoritmo e testar o código
* escolher as estruturas de controlo mais adequadas, definindo quais as condições de seleção e repetição
* desenhar e implementar funções e passagem de parâmetros com o objetivo de simplificar a solução de grandes problemas e promover o conceito de reutilização de código
* compreender o conceito de abstração de dados e a utilização de arrays e estruturas
* implementar programas que utilizem ficheiros sequenciais (entrada e saída)
* aplicar o processo de desenvolvimento de um programa: compreender problema, conceber o algoritmo, implementar o algoritmo e testar o código
* escolher as estruturas de controlo mais adequadas, definindo quais as condições de seleção e repetição
* desenhar e implementar funções e passagem de parâmetros com o objetivo de simplificar a solução de grandes problemas e promover o conceito de reutilização de código
* compreender o conceito de abstração de dados e a utilização de arrays e estruturas
* implementar programas que utilizem ficheiros sequenciais (entrada e saída)
Conteúdos Programáticos
Noção de algoritmo e instrução
Processo de edição, compilação e debug
IDEs e pseudo-código
Noção de constante e variável
Aritmética e expressões
Tipos básicos: inteiro, real, booleano, char
Instrução e atribuição
Estruturas de decisão: comparação, alternativas múltiplas, alternativas aninhadas
Estruturas de repetição: while, for, valores sentinela, ciclos aninhados
Funções: parâmetros e valores de retorno
Âmbito de variáveis e reutilização de funções
Arrays de uma e duas dimensões
Estruturas
Ficheiros de acesso sequencial
Recursividade
Processo de edição, compilação e debug
IDEs e pseudo-código
Noção de constante e variável
Aritmética e expressões
Tipos básicos: inteiro, real, booleano, char
Instrução e atribuição
Estruturas de decisão: comparação, alternativas múltiplas, alternativas aninhadas
Estruturas de repetição: while, for, valores sentinela, ciclos aninhados
Funções: parâmetros e valores de retorno
Âmbito de variáveis e reutilização de funções
Arrays de uma e duas dimensões
Estruturas
Ficheiros de acesso sequencial
Recursividade
Métodos de Ensino
Metodologias de ensino:
* Aulas teóricas com introdução de conceitos, resolução acompanhada de exercícios e esclarecimento de dúvidas.
* Aulas práticas laboratoriais com proposta de problemas que acompanham a matéria teórica e esclarecimento de dúvidas durante a sua resolução. Disponibilização de exercícios, de dificuldade gradual, cobrindo os tópicos ensinados, para os alunos praticarem a matéria.
* Aulas teóricas com introdução de conceitos, resolução acompanhada de exercícios e esclarecimento de dúvidas.
* Aulas práticas laboratoriais com proposta de problemas que acompanham a matéria teórica e esclarecimento de dúvidas durante a sua resolução. Disponibilização de exercícios, de dificuldade gradual, cobrindo os tópicos ensinados, para os alunos praticarem a matéria.
Avaliação
Avaliação contínua:
- 2 frequências (70%): 1a - 35%, 2a - 35%
- projeto (30%)
Avaliação final:
- exame final escrito (70%)
- projeto (30%)
A nota mínima em cada componente (testes escritos e projeto) para obter aprovação à disciplina é de 8 valores.
Se considerado necessário para verificar em que medida o estudante desenvolveu os conhecimentos e as competências previstas para a unidade curricular, poderá a equipa docente convocar o estudante para uma prova oral, nos termos do n.º 13 do artigo 110.º do Regulamento Académico da Universidade de Évora, sendo asseguradas as condições previstas no n.º 4 do artigo 116.º e no n.º 1 do artigo 118.º do mesmo Regulamento. A prova oral terá uma ponderação de 60% na classificação final da unidade curricular.
- 2 frequências (70%): 1a - 35%, 2a - 35%
- projeto (30%)
Avaliação final:
- exame final escrito (70%)
- projeto (30%)
A nota mínima em cada componente (testes escritos e projeto) para obter aprovação à disciplina é de 8 valores.
Se considerado necessário para verificar em que medida o estudante desenvolveu os conhecimentos e as competências previstas para a unidade curricular, poderá a equipa docente convocar o estudante para uma prova oral, nos termos do n.º 13 do artigo 110.º do Regulamento Académico da Universidade de Évora, sendo asseguradas as condições previstas no n.º 4 do artigo 116.º e no n.º 1 do artigo 118.º do mesmo Regulamento. A prova oral terá uma ponderação de 60% na classificação final da unidade curricular.
Bibliografia
How to Think Like a Computer Scientist - C Version, Thomas Scheffler (Version 1.10, 2019)
The C programming language, Kernighan & Ritchie
Introdução à programação usando C, António Rocha
Conjunto de exercícios das aulas práticas.
The C programming language, Kernighan & Ritchie
Introdução à programação usando C, António Rocha
Conjunto de exercícios das aulas práticas.
