Programação Estruturada — Prof. Rodrigo Hausen
Turma A1-diurno. Segundas, 8 às 10h, laboratório L409-2; quintas, 10 às 12h, sala S305-2.
Conceito e nota da P2
Seu RA:
Atendimento aos alunos
Segundas das 18 às 19h e quintas das 14 às 15h com o monitor Lincoln, no laboratório L409-2.
Ferramentas
Ferramentas para o curso. (Novo: imagem para executar o Ubuntu a partir de um pendrive, sem instalar no disco!)
Regras do curso
Por favor leia as regras do curso atentamente.
Programa do curso
Datas podem ser alteradas por motivo de força maior (greves , catástrofes naturais, etc.)
19/09 | Introdução |
22/09 | O “jeitão” da linguagem C: constantes e variáveis |
26/09 | O “jeitão” da linguagem C: expressões e funções |
29/09 | O “jeitão” da linguagem C: condicionais e laços Exercícios: lista 0 |
03/10 | Vetores Exercícios: ver slides finais, intitulados “para casa” |
03/10 | Organização e Gerenciamento de Memória Exercícios: lista 1. |
10/10 | Ponteiros e Passagem de Parâmetros para Funções |
13/10 | Matrizes e Ponteiros Múltiplos Exercícios: ver a lista do prof. Fabrício Olivetti |
17/10 | Exercícios com ponteiros |
20/10 | Exercícios de revisão |
24/10 | às 8h no L409-2 – Primeira prova (P1) |
27/10 | Recursão |
31/10 | Entrada e Saída (Parte 1) Arquivo para a aula: alunos.c |
03/11 | Agregados de dados heterogêneos (structs) Arquivos para a aula: fracao.c e pilha_int.c |
07/11 | Listas ligadas (listas encadeadas ou linked lists) Exercícios para casa: lista 2 |
10/11 | Exercícios sobre recursão (lista gentilmente cedida pelo prof. Fabrício) |
17/11 | Entrada e Saída (Parte 2) |
21/11 | Entrada e Saída com arquivos Arquivos para a aula: Exercício 1: invertelinhas.c, jabberwocky.txt e ykcowrebbaj.txt Exercício 2: produto.h, converteprodutos.c e lista.csv Exercício 3: produto.h e listaproduto.c Exercícios para casa: exercício 4 e exercícios no final do capítulo 11 (Entrada e Saída por Arquivos) da apostila do prof. Adriano Cruz. |
24/11 | Aplicações Programas: buscas.zip e ordenacao.zip |
28/11 | Vista da P1 e tira-dúvidas |
01/12 | Mini-projeto: analisador de expressões Código: https://github.com/hausen/exprtut Exercícios: ver arquivo README.md |
05/12 | às 8h no L409-2 – Segunda prova (P2) |
08/12 | às 10h, no L409-2 – Vista de provas e substitutiva da P1/P2 Atenção: segunda chance para quem veio na P2. Veja seu email. |
14/12 | às 10h, no L409-2 – Prova de recuperação |
16/12 | às 10h, no L409-2 – Vista da Rec e Sub da Rec |
Ementa e Bibliografia
A ementa do curso está disponível no site do Bacharelado em Ciência da Computação. Este mesmo arquivo lista as referências bibliográficas oficiais.
Inflizmente, há poucas boas obras de referência para aprender C. Estas referências (que não estão na bibliografia oficial) são reconhecidamente as melhores:
- A. J. O. CRUZ. Curso de linguagem C
- M. BANAHAN ; D. BRADY ; M. DORAN. The C Book, 2a. edição, Addison-Wesley, 1991 (em inglês). Disponível gratuitamente online e também em uma versão não oficial em PDF.
- B. W. KERNIGHAN ; D. M. RITCHIE. C: A Linguagem de Programação padrão ANSI, Campus/Elsevier, 1989. Referência clássica em linguagem C. Infelizmente, o livro está esgotado e a linguagem evoluiu um pouco desde a última edição, mas ainda assim é uma das melhores obras sobre C tanto para iniciantes quanto para programadores experientes.
- B. W. KERNIGHAN ; D. M. RITCHIE. The C Programming Language, 2a. edição, Prentice Hall, 1988 (em inglês). Versão em inglês do livro acima.
- P. DEITEL ; H. DEITEL. C: Como Programar, 6a. edição, Pearson Education, 2011. Não recomendo a compra por ser um livro muito caro, mas se você consegui-lo emprestado ou usado por um preço baixo, pode ser um bom auxiliar.
- P. DEITEL ; H. DEITEL. C: How to Program, 8a. edição, Pearson Education, 2015 (em inglês). Versão em inglês do livro acima.
Não recomendáveis: outros livros ou sites na internet sobre C. Em particular, não consulte o volume chamado “C Completo e Total” pois ele contém inúmeros erros.