Algoritmos e Estrutura da Informação

Material Auxiliar

Apostila de algoritmos e estrutura da informação

Referência Programação em C

Lista de exercícios 1

Lista de exercicios 2

Lista de exercicios 3

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.

Objetivos

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 – 4 Aulas
  • Revisão programação em linguagem C – 4 Aulas
  • Lista de exercícios 1 – 4 Aulas
  • Ponteiros: definições, uso com vetores, matrizes e registros – 4 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
  • Avalição 1 – 4 Aulas
  • Recursividade e iteratividade – 4 Aulas
  • Ordem de crescimento e barreiras de abstração – 4 Aulas
  • Lista de exercícios 2 – 4 Aulas
  • Avalição 2 – 4 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 – 4 Aulas
  • Avaliação 3 – 4 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, no formato de provas e 3 listas de exercícios. A primeira prova e a primeira lista de exercícios englobam os assuntos relacionados com a programação em C e a abstração procedural. A segunda prova e a segunda lista de exercícios englobam os assuntos relacionados com ponteiros, recursividade e iteratividade. A terceira prova e a terceira lista de exercícios englobam os assuntos relacionados com abstração de dados e algoritmos de ordenação.

A média final (Mf) será composta da seguinte forma:

Ml = (L1 + L2 + L3) / 3
Mf = (A1 + A2 + A3 + Ml) / 4

Onde:
A1, A2 e A3 são as notas das avaliações (Provas)
L1, L2 e L3 são as notas das listas de exercícios
Ml é a média das listas de exercícios
Mf é a média final

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ências Bibliográficas

Referência bibliografia 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.