Introdução a Programação (2019-2)

Notícias

13/12/2019

  • Disponíveis as notas finais (incluindo o TP)
  • Gentileza marcar se querem fazer o exame especial e/ou prova substitutiva.
  • Atenção: é necessário usar o login @aluno.ufop.edu.br para acesso.

09/12/2019

12/08/2019

  • As aulas teóricas ocorrerão na Sala 204 do Pavilhão de Aulas a partir das 10h10.
  • As aulas prática ocorrerão no Laboratório COM30 do ICEB.
  • Disponibilizado o plano de aulas da disciplina, contendo o cronograma do semestre.
  • Consulte, no site, os objetivos e a ementa da disciplina, a bibliografia recomendada e os critérios utilizados na avaliação dos alunos.

Slides / Aulas

  • Icon Aula 01: Apresentação do curso.
  • Icon Aula 02: Conceitos e linguagens.
  • Icon Aula 03: Introdução a C.
  • Icon Aula 04: Condicionais.
  • Icon Aula 05: Condicionais (Parte 2).
  • Icon Aula 06: Condicionais (Parte 3).
  • Icon Aula 07: Introdução a funções (Parte 1).
  • Icon Aula 08: Funções (Parte 2).
  • Icon Aula 09: Ponteiros.
  • Icon Aula 10: Funções (Parte 3).
  • Icon Aula 11: Bibliotecas e operador ternário.
  • Icon Aula 12: Revisão para Prova 01.
  • Icon Aula 13: Prova 01.
  • Icon Aula 14: Correção da Prova 01 e Trabalho Prático.
  • Icon Aula 15: Repetição.
  • Icon Aula 16: Repetição (parte 2).
  • Icon Aula 17: Repetição (parte 3).
  • Icon Aula 18: Repetição (parte 4) e laços aninhados.
  • Icon Aula 19: Vetores.
  • Icon Aula 20: Matrizes.
  • Icon Aula 21: Strings (array/vetor de caracteres).
  • Icon Aula 22: Revisão para Prova 02.
  • Icon Aula 23: Prova 02.
  • Icon Aula 24: Arquivos de texto.
  • Icon Aula 25: Estruturas heterogêneas.
  • Icon Aula 26: Encontro de saberes.
  • Icon Aula 27: Alocação dinâmica.
  • Icon Aula 28: Alocação dinâmica (parte 2).
  • Icon Aula 29: Alocação dinâmica (parte 3).
  • Icon Aula 30: Arquivos binários.
  • Icon Aula 31: Revisão para Prova 03.
  • Icon Aula 32: Revisão para Trabalho Prático.
  • Icon Aula 33: Prova 03.
  • Icon Aula 34: Finalização do Trabalho Prático.
  • Icon Aula 35: Apresentação do Trabalho Prático.
  • Icon Aula 36: Apresentação do Trabalho Prático.

Exercícios

Listas de Exercícios
Exercícios Obrigatórios
  • Disponibilizados nos slides utilizados durante as aulas.
  • Disponibilizados para aulas práticas via moodle.
Exercícios Adicionais (semestres anteriores)

Plano de Aulas

(Seu browser não suporta imagens vetoriais SVG)

  • Aula 01 - Apresentação da disciplina
  • Aula P-01 - Apresentação de requisitos para aulas práticas
  • Aula 02 - Fluxogramas e representação de algoritmos
  • Aula 03 - Conceitos básicos, valores, tipos e expressões
  • Aula P-02 - Comandos e compilação
  • Aula 04 - Variáveis, comandos de atribuição e de entrada e saída
  • Aula 05 - Comando de decisão (if)
  • Aula P-03 - Comando de decisão (if)
  • Aula 06 - Comando de decisão aninhados
  • Aula 07 - Comandos de decisão múltipla, de salto (switch, break)
  • Aula P-04 - Comandos de decisão múltipla, de salto (switch, break)
  • Aula 08 - Funções
  • Aula 09 - Funções e ponteiros
  • Aula P-05 - Funções e ponteiros
  • Aula 10 - Funções e ponteiros
  • Aula 11 - Macros e diretivas de compilação
  • Aula P-06 - Funções e macros
  • Aula 12 - Revisão para Prova 01
  • Aula 13 - Prova 01
  • Aula P-07 - Correção da Prova 01 e exercícios de revisão
  • Aula 14 - Comando de repetição (while)
  • Aula 15 - Comando de repetição (do-while)
  • Aula P-08 - Comando de repetição (while e do-while)
  • Aula 16 - Comando de repetição (for)
  • Aula 17 - Comando de repetição aninhados
  • Aula P-09 - Comando de repetição (for)
  • Aula 18 - Estruturas de dados homogêneas unidimensionais
  • Aula 19 - Estruturas de dados homogêneas multidimensionais
  • Aula P-10 - Estruturas de dados homogêneas
  • Aula 20 - Cadeia de caracteres
  • Aula 21 - Cadeia de caracteres
  • Aula P-11 - Cadeia de caracteres e matrizes
  • Aula 22 - Revisão para Prova 02
  • Aula 23 - Prova 02
  • Aula P-12 - Correção da Prova 02 e exercícios de revisão
  • Aula 24 - Estrutura heterogêneas (struct)
  • Aula 25 - Estrutura heterogêneas (struct)
  • Aula P-13 - Estrutura heterogêneas (struct)
  • Aula 26 - Apontadores e alocação dinâmica de memória
  • Aula 27 - Apontadores e alocação dinâmica de memória
  • Aula P-14 - Apontadores e alocação dinâmica de memória
  • Aula 28 - Arquivos de texto
  • Aula 29 - Arquivos binários
  • Aula P-15 - Arquivos de texto e binários
  • Aula 30 - Apontadores e alocação dinâmica de memória
  • Aula 31 - Apontadores e alocação dinâmica de memória
  • Aula P-16 - Apontadores e alocação dinâmica de memória
  • Aula 32 - Revisão para Prova 03
  • Aula 33 - Prova 03
  • Aula P-17 - Correção da Prova 03 e exercícios de revisão
  • Aula 34 - Apresentação dos trabalhos práticos
  • Aula 35 - Apresentação dos trabalhos práticos
  • Aula P-18 - Apresentação dos trabalhos práticos
  • Aula 36 - Apresentação dos trabalhos práticos
  • Aula 37 - Exame Especial

Objetivos / Ementa

Objetivo Geral
  • Iniciar o aluno a solução de 
problemas por meio de algoritmos 
procedimentais/imperativos.
Ementa
  • Introdução à lógica de Programação. 
  • Conceitos básicos sobre algoritmos, utilização e formas de representação (fluxograma e portugol).
  • Tipos de dados. Variáveis e constantes.
  • Expressões e operadores relacionais, aritméticos e lógicos.
  • Estruturas condicionais e de repetição.
  • Modularização de programas (funções e procedimentos).
  • Estruturas de dados homogêneas (vetores e matrizes) e heterogêneas (estruturas).
  • Manipulação de cadeias de caracteres.
  • Ponteiros e alocação dinâmica de memória.
  • Processamento de arquivos.

Avaliação

Provas (60% da nota)
  • Prova 01: 15% da nota (24/09/2019).
  • Prova 02: 20% da nota (29/10/2019).
  • Prova 03: 25% da nota (03/12/2019).
Exercícios em aula práticas (10% da nota)
  • Atividades em todas as aulas serão entregues via moodle.
Trabalhos Práticos (30% da nota)
  • Entrega 01: 10% da nota.
  • Entrega 02: 20% da nota.
  • Código e documentação serão entregues via moodle.
  • Apresentação para o(s) professor(es) da disciplina no final do semestre.
Ponto extra (?)
  • Frequência e exercícios das aulas teóricas.

Bibliografia

Sugestão para acompanhamento das aulas:
  • CELES, Waldemar; CERQUEIRA, Renato; RANGEL, José L. Introdução a Estruturas de Dados com Técnicas de Programação em C. Elsevier 2016. 394 p. ISBN 978-85-352-8345-7

Bibliografia Básica:
  • DEITEL, Harvey M.; DEITEL, P. J. C++ como programar. 5. ed. São Paulo: Pearson Prentice Hall, c2006. 1163 p. ISBN 8576050560.
  • SAVITCH, Walter J. C++ absoluto. São Paulo: Pearson Education : Addison Wesley 2004. 612 p. ISBN 8588639092.
  • SOUZA, Marco Antonio Furlan de. Algoritmos e lógica de programação. São Paulo: Cenage Learning, c2005. 214 p. ISBN 8522104646.
Bibliografia Complementar:
  • ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi. Fundamentos da programação de computadores : algoritmos, pascal e C/C++. São Paulo: Prentice-Hall, 2005. xviii, 355p ISBN 8587918362.
  • ELLIS, Margaret A; STROUSTRUP, Bjarne. C++:  manual de referencia comentado. Rio de Janeiro, RJ: Campus 1993. 546 p ISBN 8570017863.
  • JOSUTTIS, Nicolai M. The C++ standard library:  a tutorial and reference. Massachusetts: Addison Wesley c1999. xv, 799 p. ISBN 0201379260.
  • LIPPMAN, S. B.; LAJOIE, J.; MOO, B. E., C++ Primer, Fifth Edition, 2015.
  • MIZRAHI, Victorine Viviane. Treinamento em linguagem C:  módulo 1 . São Paulo: Pearson Education c1990. 241 p. ISBN 007460855X.
  • MIZRAHI, Victorine Viviane. Treinamento em linguagem C++:  modulo 2. São Paulo: Makron Books 1995. xxiii, 318 p ISBN 8534603030.
  • STROUSTRUP, B., Princípios e Práticas de Programação Com C++, Bookman Companhia Editora, 2012.