Programação Estruturada
Published:
Programação Estruturada
Ementa:
Apresentar noções básicas e intermediárias sobre algoritmos, programação em linguagens compiladas, compilação, programas em execução (processos), ponteiros, alocação estática e dinâmica de memória, vetores e matrizes, funções e passagem de parâmetros, registros, arquivos e recursividade. Aplicar todos os conceitos apresentados no contexto da resolução de problemas clássicos e novos da computação.
2 horas lab, 2 horas teoria
Ferramentas:
- Linux: GCC
- Windows: Mingw ou Codeblocks
- Online: https://repl.it/languages/c
- Online: Cloud9
- Online: https://www.urionlinejudge.com.br/
- Tutorial uri online judge
- Linux: Valgrind
Tutoriais:
Conteúdo Programático (Teoria):
Semana I:
- Teoria
- Conceitos de Algoritmo e Programação
- Linguagens de programação de baixo e de alto nível
- Programação Estruturada
- LAB:
- Linguagem C
- Compilador GCC
- Processos em execução
- Variáveis, constantes, e uso de memória
- Operadores artiméticos, relacionais, lógicos e binários
- Blocos de Instruções
- Estilo de Programação
Lista de Exercício 01 (Entrega dia 29/09)
Códigos:
Semana II:
- Teoria:
- Funções
- Imperativo vs Declarativo
- LAB:
- Exercícios: estruturando códigos
- Algoritmos simples de computação numérica
- Gabarito - Pi
- Gabarito - Monte Carlo
Semana III:
- Lista de Exercício 02 (Entrega dia 20/10)
Semana IV:
- Teoria:
- Vetores e Matrizes estáticas
- Strings
Semana V:
- Teoria:
- Endereçamento de memória dos tipos básicos
Malloc()
efree()
- Ponteiros
- Vetores e matrizes dinâmicos
- Strings como arrays de
char
- LAB:
- Lista de Exercício 03 (Entrega dia 06/11)
Semana VI:
- Teoria:
- Exercícios de Revisão
- Lab:
- Prova I (27/10)
Semana VII:
- Teoria:
- Registros:
struct
,union
- Lista Dinâmica (lista ligada)
- Registros:
Semana VIII:
- Teoria:
- Leitura de Arquivos
- Apontador para arquivo
- Revisão
- LAB:
- Entrada e Saída de dados
- Bitmap
- Imagem
- bitmap.h
- bitmapinfo.c
- bitmapEx.c - Exercício extra de estrutura - Exercícios extras de estrutura para praticar (IC-Unicamp)
- Lista de Exercício 04 (entrega dia 27/11)
- lista_alunos.txt
- bittricks.c
Semana IX:
- LAB:
- Bit-tricks
Semana X:
Semana XI:
- Teoria:
- Complexidade de Algoritmos
- LAB:
- Prova II (01/12)
- aniversarios.bin
- poly.bin
- polyfloat.bin
- reunioes.bin
Semana XII:
- Teoria:
- Revisão das notas
- LAB:
- REC
Bibliografia Básica:
PINHEIRO, Francisco A. C.. Elementos de Programação em C. Porto Alegre: Bookman 2012. 528 p. ISBN 978-85-407-0202-8.
FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3 ed. São Paulo: Prentice Hall, 2005. xii, 218 p. ISBN 9788576050247.
3. CORMEN, Thomas H et al. Algoritmos: Teoria e prática. Rio de Janeiro: Editora Elsevier; Editora Campus, 2002. 916 p. Tradução da segunda (2) edição americana. ISBN 9788535209266.
4. KERNIGHAN, B. W.; RITCHIE, D. M. C A Linguagem de Programação Padrão ANSI.