IPT Logotipo do IPT

Ano Letivo: 2022/23

Engenharia Electrotécnica e de Computadores

Técnicas de Programação

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho nº 10766/2011 - 30/08/2011

5 ECTS; 1º Ano, 2º Semestre, 28,0 T + 28,0 PL + 5,0 OT , Cód. 911240.

Docente(s)
- Pedro Daniel Frazão Correia (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Não aplicável.

Objetivos
1. Adquirir conhecimentos sobre aspetos avançados da linguagem de programação C, tais como: apontadores; funções e passagem de parâmetros; estruturas; memória dinâmica.
2. Aprender a implementar e consumir estruturas de dados elementares, utilizando a linguagem de programação C e Tipos de Dados Abstratos (ADTs-Abstract Data Types).
3. Aprender técnicas de análise e desenho de algoritmos e como classificar algoritmos segundo a estimativa do seu tempo de execução.
4. Aprender a implementar algoritmos de ordenação.
5. Aprender a implementar e consumir estruturas de dados hierárquicas, utilizando a linguagem de programação C e Tipos de Dados Abstratos (ADTs-Abstract Data Types).

Programa
1. Aspetos avançados da linguagem C
1.1. Apontadores
1.1.1. Apontadores e tabelas
1.1.2. Aritmética de apontadores
1.1.3. Apontadores de apontadores

1.2. Passagem de parâmetros para funções
1.2.1. Passagem por valor
1.2.2. Passagem por referência
1.2.3. Passagem de tabelas
1.2.4. Passagem de parâmetros na linha de comando

1.3.vEstruturas
1.3.1. Acesso aos membros de uma estrutura
1.3.2. Estruturas aninhadas
1.3.3. Passagem de estruturas para funções
1.3.4. Operações sobre estruturas

1.4. Memória Dinâmica
1.4.1.vAlocação de memória
1.4.2. Libertação de memória
1.4.3. Estruturas de dados dinâmicas

2. Estruturas Elementares de Dados
2.1. Listas ligadas
2.2. Listas duplamente ligadas
2.3. Filas
2.4. Pilhas

3. Análise e desenho de algoritmos
3.1. Técnicas de análise e desenho de algoritmos
3.2. Notação Big-O

4. Algoritmos de ordenação
4.1. Selection Sort
4.2. Bubble Sort
4.3. Insertion Sort


Metodologia de avaliação
Avaliação em Época de Frequência:
- Trabalhos Práticos (20% - 4 Valores)
- Projeto Final (30% - 6 Valores)
- Teste escrito (50% - 10 Valores)

Outras Épocas de Exame:
- Trabalhos Práticos (20% - 4 Valores)
- Projeto Final (30% - 6 Valores)
- Teste escrito (50% - 10 Valores)

Todas as épocas de avaliação:
- Notas mínimas: Testes Escritos, 7/20 valores; Componente Prática (Trabalhos Práticos + Projeto Final), 10/20 valores.

Bibliografia
(1988). The C Programming Language. USA: Pearson
(1988). The C Programming Language. USA: Pearson
(1997). Algorithms in C, Parts 1-4 Fundamentals,Data Structures, Sorting, Searching. USA: Addison-Wesley
(1997). Algorithms in C, Parts 1-4 Fundamentals,Data Structures, Sorting, Searching. USA: Addison-Wesley
(1999). Linguagem C. Portugal: FCA
(1999). Linguagem C. Portugal: FCA
(2009). Introduction to Algorithms, Third Edition. USA: MIT Press
(2009). Introduction to Algorithms, Third Edition. USA: MIT Press
(2014). Estruturas de Dados e Algoritmos em C. PT: FCA
(2014). Estruturas de Dados e Algoritmos em C. PT: FCA

Método de Ensino
Aulas expositivas para apresentação dos conteúdos teóricos do programa; Aulas práticas laboratoriais para resolução de problemas e consolidação de conhecimentos utilizando o computador; Apoio tutorial para esclarecimento de dúvidas.

Software utilizado nas aulas
Code Blocks; MinGW / GCC / GDB

 

Aprovado em Conselho Técnico Cientifico: 17 de maio de 2023

Download da Ficha da Unidade Curricular (FUC)

 

 


<< voltar ao Plano Curricular
Elemento gráfico

Notícias | Agenda

NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
co-financiado