Métodos de Ensino
As aulas serão lecionadas em regime teórico-prático, em salas de computadores. Será utilizada a metodologia expositiva para a apresentação dos conceitos da unidade curricular, apoiada pela experimentação prática através da realização de exercícios de aplicação dos conceitos transmitidos, nos computadores.
Resultados de Aprendizagem
A Unidade Curricular de Algoritmos e Programação II define-se como estrutural na licenciatura em Informática de Gestão dado permitir a aquisição de conhecimentos fundamentais e determinantes na compreensão de unidades curriculares posteriores. Pretende-se assim com esta Unidade Curricular alcançar os seguintes objectivos:
– Consolidação da metodologia de programação estruturada utilizando a linguagem C;
– Conhecer e saber utilizar corretamente ponteiros, ficheiros, estruturas de dados;
– Compreensão dos conceitos fundamentais associados aos vários tipos de estruturas de dados dinâmicas e dos algoritmos passíveis de aplicação de cada uma.
Programa
1. Ponteiros
1.1. Conceitos básicos
1.2. Funções e passagem por referência
1.3. Ponteiros e vetores
1.4. Aritmética de ponteiros
1.5. Ponteiros para caracteres
1.6. Reserva dinâmica de memória
1.7. Vetores de ponteiros e ponteiros para ponteiros
1.8. Passagem de ponteiros para funções
1.9. Funções que devolvem ponteiros
2. Estruturas de dados
2.1. Conceitos básicos
2.2. Definição tipos de dados
2.3. Vetores de estruturas
2.4. Passagem de estruturas para funções
2.5. Funções que devolvem estruturas
2.6. Ponteiros para estruturas
3. Ficheiros
3.1. Introdução
3.2. Acesso a ficheiros
3.3. Tipo de ficheiros
3.4. Manipulação de ficheiros
3.5. Gestão de erros de acesso a ficheiros
3.6. Pesquisa de dados em ficheiros
4. Estruturas dinâmicas
4.1. Estruturas sequenciais
4.1.1. Listas
4.1.1.1. Simplesmente ligadas
4.1.1.2. Duplamente ligadas
4.1.2. Pilhas
4.1.3. Filas
4.2. Estruturas não sequenciais
4.2.1. Árvores
Docente(s) responsável(eis)
Estágio(s)
NAO
Bibliografia
1. L. Damas (2006), “Linguagem C”, FCA Editora.
2. T. Cormen, C. Leiserson, R. Rivest, C. Stein. (2001), “Introduction to Algorithms”, MIT Press.
3. Brian W. Kernighan, Dennis M. Ritchie (2006), “The C Programming Language Second
Edition”, New Jersey:
Prentice Hall PTR, ISBN: 0131103628.
4. R. Sedgewick (1997), “Algorithms in C: Fundamentals, Data Structures, Sorting, Searching”, Pts. 14,
Addison
Wesley
5. Maureen Sprankle (2002), “Problem solving and programming principles 6a
ed.”, Prentice Hall.
6. M. A. Weiss (1997), “Data Structures and Algorithm Analysis in C”, Addison Wesley.
7. João Cortez, Henrique Mamede, “Introdução às Técnicas de Programação”, Editorial Presença.
8. Pedro João Valente Dias Guerreiro, “Elementos de Programação com C 3a
Edição Actualizada e
Aumentada”, FCA – Editora de informática, Lisboa, ISBN: 9727225101.
9. Joaquim P. Marques de Sá, “Fundamentos de Programação usando C, FCA – Editora de informática”, Lisboa.