Laboratório de Programação I (UFBA 2009.1)
From AdonaiMedrado.Pro.Br
Contents
- 1 Programa
- 2 Links sugeridos
- 3 Avaliações
- 4 Especificação de trabalho
- 5 Cronograma
- 5.1 Aula do dia 06/03/2009
- 5.2 Aula do dia 13/03/2009
- 5.3 Aula do dia 20/03/2009
- 5.4 Aula do dia 27/03/2009
- 5.5 Aula do dia 03/04/2009
- 5.6 Aula do dia 17/04/2009
- 5.7 Aula do dia 24/04/2009 (Sala 155)
- 5.8 Aula do dia 08/05/2009
- 5.9 Aula do dia 15/05/2009
- 5.10 Aula do dia 22/05/2009
- 5.11 Aula do dia 29/05/2009
- 5.12 Aula do dia 05/06/2009
- 5.13 Aula do dia 06/06/2009 (Sábado 13:00~17:00 Sala 151)
- 5.14 Aula do dia 12/06/2009
- 5.15 Aula do dia 19/06/2009
- 5.16 Aula do dia 26/06/2009
- 5.17 Aula do dia 03/07/2009
- 5.18 Aula do dia 17/07/2009
Programa
O programa oficial da disciplina está disponível em PDF.
Links sugeridos
- Site do Criador Dennis Ritchie
- Documentos recomendados: C Reference Manual, The Development of the C Language
- Site do Livro: The C Programming Language, Second Edition.
- cplusplus.com - The C++ Resources Network.
- Programar em C - Livro de C em Português na Web.
- Especificação
- Compiladores:
- Cygwin - selecione o pacote gcc (e, opcionalmente, o gdb) na instalação.
- MinGW: Minimalist GNU for Windows.
- TurboC.
- Bloodshed Software - Dev-C++.
Avaliações
As avaliações da disciplina serão especificadas por escrito neste endereço. Mudanças podem ocorrer ao longo do semestre, porém a versões finais das especificações estarão disponíveis no mínimo 30 dias antes da data de entrega de cada atividade.
Segue abaixo as avaliações previstas e seus respectivos valores máximos:
- Prova I - 2,5 pontos.
- Prova II - 2,5 pontos.
- Trabalho semestral - 3,0 pontos.
- Resolução dos problemas propostos e participação nas atividades de laboratório - 2,0 pontos.
Especificação de trabalho
Cronograma
Aula do dia 06/03/2009
- Atividade
- Apresentação da disciplina, professor e alunos.
- Apresentação da metodologia de trabalho.
- Assuntos
- Histórico
- Principais características
- Introdução ao ambiente de programação
- Editores de texto e compiladores utilizados
- Principais erros da programação
- Introdução à linguagem C
- Tipos.
- Operadores.
- Expressões.
- Estruturas de controle condicionais.
- Estruturas de repetição.
- Biblioteca padrão
- stdio.h: Comandos printf e scanf.
- Link sugerido
- Using gdb.
- Programas úteis
- C: Limites definidos pela implementação.
- Problemas propostos
- C: Problema da média.
- C: Problema da soma.
- C: Problema do número espelho.
- C: Problema da idade em dias.
Aula do dia 13/03/2009
- Atividade
- Dúvidas dos problemas propostos.
- Problemas proposto
- C: Problema da seqüência de Fibonacci.
- C: Problema da conjectura de Goldbach.
- C: Problema do quadrado gêmeo das partes.
Aula do dia 20/03/2009
- Assuntos
- A estrutura de um programa em Linguagem C
- Uso de vetores de tamanho fixo e strings.
- Vetores.
- Matrizes.
- Strings.
- Uso de vetores de tamanho fixo e strings.
- Atividade
- Dúvidas dos problemas propostos.
- Problemas propostos
- C: Problema da competição alien.
- C: Problema da transmissão de rádio.
- Problema do giro da palavra - resolva utilizando a linguagem C.
- Problema da codificação da string - resolva utilizando a linguagem C.
Aula do dia 27/03/2009
- Assuntos
- Passagem de parâmetro para o programa (argc, argv, ...)
- Funções
- Passagem de parâmetros por valor.
- Passagem de parâmetros por referência.
- Funções inline.
- Atividade
- Dúvidas dos exercícios.
- Link sugerido
- Inline Functions In C.
- Problemas propostos
- Problema da separação das sílabas (versão light).
- C: Problema da freqüência do caractere.
- C: Problema da sopa de letras na formação de palavras (versão light).
Aula do dia 03/04/2009
- Atividade
- Compartilhamento de soluções
- Adriano Novais Queiroz: Solução: Problema da idade em dias (Adriano Queiroz).
- Alessandro Santos da Silva: Solução: Problema da soma (Alessandro Santos).
- Rafael Dourado Silvestre de Oliveira: Solução: Problema da freqüência do caractere (Rafael Oliveira).
- Márcio Trindade de Oliveira: Solução: Problema da seqüência de Fibonacci (Márcio Trindade).
- Maurício Souza Lage: Solução: Problema do giro da palavra (Maurício Souza Lage).
- Tito Gardel do Prado Filho: Solução: Problema da competição alien (Tito Filho).
- Dúvidas dos exercícios.
- Problemas propostos
Aula do dia 17/04/2009
- Assunto
- Introdução a ponteiros.
- Ponteiro para função (função callback).
- Uso da função qsort (stdlib.h).
- Uso da função bsearch (stdlib.h).
- Atividade
- Dúvidas dos exercícios.
- Revisão dos conceitos.
- Exemplos
- C: Ponteiro para variável.
- C: Ponteiro para ponteiro.
- C: Ponteiro para array.
- C: Ponteiro para string.
- C: Ponteiro para função.
- C: qsort.
- C: bsearch.
- Problemas propostos
- Problema das seqüências alternadas.
- Problema da seqüência de algarismos agrupados com ordenação.
Aula do dia 24/04/2009 (Sala 155)
- Atividade
- Apresentação das propostas dos trabalhos semestrais.
- Equipe 1 - Software de bate-papo (Qt).
- Componentes
- Eduardo Ramos.
- Maurício Lage.
- Produção
- Documento.
- Equipe 2 - Sokobox (Allegro).
- Componentes
- Adriano Queiroz.
- Rafael Dourado.
- Tito Gardel.
- Produção
- Documento.
- Equipe 3 - Jogo de Damas (Allegro).
- Componentes
- Bruno Barbosa.
- Lúcio Ribeiro.
- Produção
- Documento.
- Equipe 4 - Software de Backup para Linux (Gtk+)
- Componentes
- Alessandro Santos.
- Marcio Trindade.
- Raniere Viana.
- Produção
- Documento.
Aula do dia 08/05/2009
- Atividade
- Prova I.
Aula do dia 15/05/2009
- Atividade
- Resultado e comentário da Prova I
- Assuntos
- Estruturas não primitivas.
- Tabelas (vetor de struct).
- Revisão & lembrete
- C: Uso do scanf.
- Problemas propostos
- Problema do professor de terceiro ano.
Aula do dia 22/05/2009
- Assuntos
- Ponteiros.
- Alocação de dinâmica de memória.
- Links sugeridos
- malloc.
- realloc.
- calloc.
- free.
- Problemas propostos
- Problema dos sucessores.
- Problema do quadrado perfeito.
- Problema do baile de casais.
Aula do dia 29/05/2009
- Assunto
- Arquivos
- Links sugeridos
- fopen.
- fscanf.
- feof.
- fclose.
- Problemas propostos
- Problema da moda.
Aula do dia 05/06/2009
- Atividade
- Compartilhamento de soluções
- Adriano Queiroz: Solução: Problema do baile de casais (Adriano Queiroz).
- Bruno Barbosa: Solução: Problema da simplificação das frações (Bruno Barbosa) (incompleto).
- Eduardo Ramos: Solução: Problema da moda - dificuldade 2 (Eduardo Ramos).
- Eduardo Ramos: Solução: Problema das seqüências alternadas (Eduardo Ramos).
- Lúcio Ribeiro: Solução: Problema da moda - dificuldade 4 (Lúcio Ribeiro).
- Márcio Trindade: Solução: Problema do professor de terceiro ano (Márcio Trindade).
- Rafael Dourado: Solução: Problema do quadrado perfeito (Rafael Dourado).
- Tito Gardel: Solução: Problema do professor de terceiro ano (Tito Gardel).
- Assunto
- Arquivos.
- Links sugeridos
- fgets.
- fputs.
- Exemplo
- C: Uso de fgets e fputs com stdin e stdout.
- Problemas propostos
- Problema da simplificação das frações.
Aula do dia 06/06/2009 (Sábado 13:00~17:00 Sala 151)
- Assunto
- Competição de programação.
- complp1_20091 (terceiro colocado):
- Bruno.
- Márcio.
- complp2_20091 (primeiro colocado):
- Adriano.
- Tito.
- Mateus.
- complp3_20091 (quarto colocado):
- Lucas.
- Flávio.
- complp4_20091 (segundo colocado):
- Carlos.
- Rafael.
- complp5_20091 (não classificado):
- Denildo.
- Israel.
- complp1_20091 (terceiro colocado):
- Problemas propostos
- Antecessores.
- Documentos
- Problemas da Competição.
Aula do dia 12/06/2009
- Atividade
- Compartilhamento de soluções
- Alessandro Santos: Solução: Problema da moda - dificuldade 1 (Alessandro Santos).
- Bruno Barbosa: Solução: Problema da simplificação das frações (Bruno Barbosa).
- Bruno Barbosa: .
- Lúcio Ribeiro: Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro).
- Mauricio Lage: .
- Links sugeridos
- fread.
- fwrite.
- fseek.
- Exemplos
- bmpinfo.c.
- crise_cad.c.
- crise_print.c.
- Problemas propostos
- Problema da prefeitura em crise (sem XML).
Aula do dia 19/06/2009
- Atividade
- Prova II.
Aula do dia 26/06/2009
- Atividade
- Prova II (segunda chamada).
- Apresentação dos trabalhos semestrais.
Aula do dia 03/07/2009
- Atividade
- Comentário e entrega dos resultados da Prova II.
- Divulgação dos resultados finais.
- Feedback da disciplina.
Aula do dia 17/07/2009
- Atividade
- Prova final.