Portal do Governo Brasileiro

Algoritmos e Estrutura da Informação

Algoritmos e Estrutura da Informação (60 H)

Ementa

Abstração procedural: técnicas de modularização, funções, passagem de parâmetros por valor e referência. Ponteiros: definições, uso com vetores, matrizes e registros. Recursividade e iteratividade, ordem de crescimento e barreiras de abstração. Abstração de dados: listas, árvores binárias, filas, tabelas. Algoritmos de ordenação: BubleSort, InsertSort e QuickSort.

Objetivo Geral

Apresentar as principais estruturas de dados e os principais algoritmos utilizados no desenvolvimento modular de programas de computador permitindo assim aos alunos desenvolver suas próprias aplicações na área de controle e automação.

Objetivos Específicos

  • Apresentar as técnicas de abstração procedimental através da modularização e outras metodologias relacionadas.
  • Estudar o sistema de ponteiros, suas definições e utilizações.
  • Estudar a recursividade, iteratividade e outras técnicas relacionadas.
  • Conhecer as principais estruturas de abstração de dados.
  • Compreender o funcionamento dos principais algoritmos de ordenação de dados.

Conteúdo Programático

  • Apresentação do Plano de Ensino, Introdução a disciplina. 2 aulas;
  • Programação em linguagem C. 6 aulas;
  • Exercícios sobre programação em linguagem C. 4 aulas;
  • Ponteiros: definições, uso com vetores, matrizes e registros. 4 aulas;
  • Lista de exercícios 1 (L1). 8 aulas;
  • Abstração procedural: técnicas de modularização, funções. 4 aulas;
  • Abstração procedural: passagem de parâmetros por valor e referência. 4 aulas;
  • Recursividade e iteratividade 4 aulas;
  • Ordem de crescimento e barreiras de abstração. 4 aulas;
  • Lista de exercícios 2 (L2). 8 aulas;
  • Abstração de dados: listas, árvores binárias. 4 aulas;
  • Abstração de dados: filas, tabelas. 4 aulas;
  • Algoritmos de ordenação: BubleSort. 4 aulas;
  • Algoritmos de ordenação: InsertSort e QuickSort. 4 aulas;
  • Lista de exercícios 3 (L3). 8 aulas;

Metodologia

As aulas serão conduzidas de maneira expositivo-dialogadas, com exercícios práticos e atividades individuais e em grupo, O principal foco do desenvolvimento do conhecimento será através da resolução de exercícios para cada assunto estudado, colaboração coletiva e no final, análise e discussão dos resultados. O professor irá atuar como intermediário para que o aluno no final da disciplina consiga resolver ativamente problemas do mundo real com o uso dos assuntos abordados. O material didático será disponibilizado de forma a guiar o desenvolvimento das aulas, com complementação através de livros e pesquisas na internet, além da utilização de conteúdos multimídia como sites, blogs e vídeos. As aulas serão realizadas em sala de aula, onde serão abordadas as atividades que envolvem raciocínio lógico e, quando necessário, no laboratório de informática para o desenvolvimento das atividades práticas.

Procedimentos de Avaliação

A nota final será composta de 3 avaliações, sendo estas 3 listas de exercícios. A primeira lista de exercícios (L1) englobara os assuntos relacionados com a abstração procedural. A segunda lista de exercícios (L2) englobara os assuntos relacionados com ponteiros, recursividade e iteratividade. A terceira lista de exercícios (L3) englobara os assuntos relacionados com abstração de dados e algoritmos de ordenação.

A média final (Mf) será composta pela média das avaliações aplicadas ao longo da disciplina conforme a seguir:

Mf = (L1 + L2 + L3) / 3

Exame Final – Art. 61 §1º. da resolução Consuper 057/2012 e PPC do Curso Considerar-se-á aprovado em um componente curricular o estudante que tiver frequência igual ou superior a 75% (setenta e cinco por cento) do número de aulas estabelecidas no semestre e alcançar Média Final igual ou superior a 7,0 (sete vírgula zero). Para o aluno aprovado sem exame, será atribuído à Nota Final do componente curricular, o valor da média final do mesmo. O aluno em exame será aprovado no componente curricular, quando a Nota Final for igual ou superior a 5,0 (cinco vírgula zero), calculada da seguinte forma: NF = NE x 0,5 + MS x 0,5, sendo NF = NOTA FINAL, NE = NOTA EXAME, MF = MÉDIA FINAL. As recuperações de notas (Exames Finais), arquivadas na Coordenação de Registros Acadêmicos, só podem ser revisadas através de solicitação do estudante, em formulário próprio.

Referência bibliográfica básica:

SCHILDT, Herbert. C completo e total. 3. ed. rev. e atual. São Paulo: Pearson, 1997.

MANZANO, José Augusto N. G. Estudo dirigido de linguagem C. 17. ed. rev. e atual. São Paulo: Érica, 2013.

FEOFILOFF, Paulo. Algoritmos em linguagem C. São Paulo: Campus, 2008.

Referência bibliográfica complementar:

MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: Lógica para desenvolvimento de programação de computadores. 27. ed. rev. São Paulo: Érica, 2014.

MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Estudo dirigido de algoritmos. 15. ed. rev. São Paulo: Érica, 2012.

MARÇULA, Marcelo; BENINI FILHO, Pio Armando. Informática: conceitos e aplicações. 3. ed. rev. São Paulo: Érica, 2008.

VELLOSO, Fernando de Castro. Informática: conceitos básicos. 8. ed. Rio de Janeiro: Elsevier, 2011.

PEREIRA, Silvio do Lago. Algoritmos e lógica de programação em C: uma abordagem didática. São Paulo: Érica, 2010.