Difference between revisions of "Laboratório de Programação I (UFBA 2009.1)"
From AdonaiMedrado.Pro.Br
(→Aula do dia 22/05/2009) |
(→Resultado da Prova Final) |
||
(129 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Programa == | == Programa == | ||
O programa oficial da disciplina está disponível em [http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_2009_1_MATA57_PROGRAMA.pdf PDF]. | O programa oficial da disciplina está disponível em [http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_2009_1_MATA57_PROGRAMA.pdf PDF]. | ||
+ | |||
+ | == Links sugeridos == | ||
+ | *[http://cm.bell-labs.com/who/dmr/index.html Site do Criador Dennis Ritchie] | ||
+ | **Documentos recomendados: [http://cm.bell-labs.com/cm/cs/who/dmr/cman.pdf C Reference Manual], [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html The Development of the C Language] | ||
+ | **Site do Livro: [http://cm.bell-labs.com/cm/cs/cbook/index.html The C Programming Language, Second Edition]. | ||
+ | *[http://www.cplusplus.com/ cplusplus.com - The C++ Resources Network]. | ||
+ | *[http://pt.wikibooks.org/wiki/Programar_em_C Programar em C] - Livro de C em Português na Web. | ||
+ | *Especificação | ||
+ | **[http://www.open-std.org/jtc1/sc22/wg14/www/standards C - Approved standards]. | ||
+ | **[http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf ISO/IEC 9899:TC2]. | ||
+ | *Compiladores: | ||
+ | **[http://www.cygwin.com/ Cygwin] - selecione o pacote gcc (e, opcionalmente, o gdb) na instalação. | ||
+ | **[http://www.mingw.org/ MinGW: Minimalist GNU for Windows]. | ||
+ | **[http://www.turboexplorer.com/cpp TurboC]. | ||
+ | **[http://www.bloodshed.net/devcpp.html Bloodshed Software - Dev-C++]. | ||
+ | *Projetos interessantes: | ||
+ | **[http://www.axiomsol.com/ Compilador de C para Java bytecode]. | ||
== Avaliações == | == Avaliações == | ||
Line 12: | Line 29: | ||
== Especificação de trabalho == | == Especificação de trabalho == | ||
+ | *[[Trabalho semestral: Laboratório de Programação I (2009.1)|Trabalho semestral]]. | ||
== Cronograma == | == Cronograma == | ||
Line 20: | Line 38: | ||
:Apresentação da metodologia de trabalho. | :Apresentação da metodologia de trabalho. | ||
;Assuntos | ;Assuntos | ||
− | :Histórico | + | :[http://pt.wikibooks.org/wiki/Programar_em_C/Hist%C3%B3ria_da_linguagem_C Histórico] |
+ | :Principais características | ||
:Introdução ao ambiente de programação | :Introdução ao ambiente de programação | ||
::Editores de texto e compiladores utilizados | ::Editores de texto e compiladores utilizados | ||
+ | :::[[Opções interessantes do GCC]]. | ||
::Principais erros da programação | ::Principais erros da programação | ||
:Introdução à linguagem C | :Introdução à linguagem C | ||
Line 32: | Line 52: | ||
:Biblioteca padrão | :Biblioteca padrão | ||
::stdio.h: Comandos printf e scanf. | ::stdio.h: Comandos printf e scanf. | ||
+ | ;Link sugerido | ||
+ | :[http://linux.wku.edu/~lamonml/programming/debug/gdb_usage.html Using gdb]. | ||
+ | ;Programas úteis | ||
+ | :[[C: Limites definidos pela implementação]]. | ||
;Problemas propostos | ;Problemas propostos | ||
:[[C: Problema da média]]. | :[[C: Problema da média]]. | ||
Line 41: | Line 65: | ||
;Atividade | ;Atividade | ||
:Dúvidas dos problemas propostos. | :Dúvidas dos problemas propostos. | ||
− | ;Problemas | + | ;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 === | === Aula do dia 20/03/2009 === | ||
;Assuntos | ;Assuntos | ||
− | : | + | :A estrutura de um programa em Linguagem C |
− | :: | + | ::Uso de vetores de tamanho fixo e strings. |
− | :: | + | :::Vetores. |
− | :: | + | :::Matrizes. |
− | :Atividade | + | :::Strings. |
+ | ;Atividade | ||
:Dúvidas dos problemas propostos. | :Dúvidas dos problemas propostos. | ||
;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 === | === Aula do dia 27/03/2009 === | ||
;Assuntos | ;Assuntos | ||
− | : | + | :Passagem de parâmetro para o programa (argc, argv, ...) |
:Funções | :Funções | ||
− | ::Passagem de parâmetros por valor | + | ::Passagem de parâmetros por valor. |
::Passagem de parâmetros por referência. | ::Passagem de parâmetros por referência. | ||
− | :Atividade | + | ::Funções inline. |
+ | ;Atividade | ||
:Dúvidas dos exercícios. | :Dúvidas dos exercícios. | ||
+ | ;Link sugerido | ||
+ | :[http://www.greenend.org.uk/rjk/2003/03/inline.html 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 === | === Aula do dia 03/04/2009 === | ||
;Atividade | ;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. | :Dúvidas dos exercícios. | ||
− | |||
− | |||
=== Aula do dia 17/04/2009 === | === 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 | ;Atividade | ||
:Dúvidas dos exercícios. | :Dúvidas dos exercícios. | ||
:Revisão dos conceitos. | :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 | ;Problemas propostos | ||
− | : | + | :[[Problema das seqüências alternadas]]. |
+ | :[[Problema da seqüência de algarismos agrupados com ordenação]]. | ||
− | === Aula do dia 24/04/2009 === | + | === Aula do dia 24/04/2009 (Sala 155) === |
;Atividade | ;Atividade | ||
− | : | + | :Apresentação das propostas dos trabalhos semestrais. |
+ | :;Equipe 1 - Software de bate-papo (Qt). | ||
+ | ::Componentes | ||
+ | :::Eduardo Ramos. | ||
+ | :::Maurício Lage. | ||
+ | ::Produção | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/alunos/LP1_2009_1_EQUIPE_1_DOCUMENTO.pdf Documento]. | ||
+ | :;Equipe 2 - Sokobox (Allegro). | ||
+ | ::Componentes | ||
+ | :::Adriano Queiroz. | ||
+ | :::Rafael Dourado. | ||
+ | :::Tito Gardel. | ||
+ | ::;Produção | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/alunos/LP1_2009_1_EQUIPE_2_DOCUMENTO.pdf Documento]. | ||
+ | :;Equipe 3 - Jogo de Damas (Allegro). | ||
+ | ::Componentes | ||
+ | :::Bruno Barbosa. | ||
+ | :::Lúcio Ribeiro. | ||
+ | ::Produção | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/alunos/LP1_2009_1_EQUIPE_3_DOCUMENTO.pdf Documento]. | ||
+ | :;Equipe 4 - Software de Backup para Linux (Gtk+) | ||
+ | ::Componentes | ||
+ | :::Alessandro Santos. | ||
+ | :::Marcio Trindade. | ||
+ | :::Raniere Viana. | ||
+ | ::Produção | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/alunos/LP1_2009_1_EQUIPE_4_DOCUMENTO.pdf Documento]. | ||
=== Aula do dia 08/05/2009 === | === Aula do dia 08/05/2009 === | ||
;Atividade | ;Atividade | ||
− | :Prova I | + | :Prova I. |
− | : | + | ::[[Problema dos casais]]. |
+ | ::[[Problema da soma reservada]]. | ||
+ | ::[[Problema da palavra mágica]]. | ||
+ | ::[[Problema do conjunto e seus elementos únicos]]. | ||
=== Aula do dia 15/05/2009 === | === Aula do dia 15/05/2009 === | ||
;Atividade | ;Atividade | ||
− | : | + | :Resultado e comentário da Prova I |
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_AVI.pdf Resultados dos testes e notas]. | ||
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_AVI_TESTES.zip Testes executados]. | ||
+ | ::[[Laboratório de Programação I (UFBA 2009.1): Prova AVI - Respostas do professor|Respostas do professor]]. | ||
;Assuntos | ;Assuntos | ||
− | :: | + | :Estruturas não primitivas. |
− | :: | + | :Tabelas (vetor de struct). |
+ | ;Revisão & lembrete | ||
+ | :[[C: Uso do scanf]]. | ||
;Problemas propostos | ;Problemas propostos | ||
− | : | + | :[[Problema do professor de terceiro ano]]. |
=== Aula do dia 22/05/2009 === | === Aula do dia 22/05/2009 === | ||
;Assuntos | ;Assuntos | ||
− | : | + | :Ponteiros. |
− | : | + | :Alocação de dinâmica de memória. |
− | ; | + | ;Links sugeridos |
− | : | + | :[http://www.cplusplus.com/reference/clibrary/cstdlib/malloc/ malloc]. |
− | + | :[http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/ realloc]. | |
− | + | :[http://www.cplusplus.com/reference/clibrary/cstdlib/calloc/ calloc]. | |
− | + | :[http://www.cplusplus.com/reference/clibrary/cstdlib/free/ free]. | |
− | : | + | |
;Problemas propostos | ;Problemas propostos | ||
− | : | + | :[[Problema dos sucessores]]. |
+ | :[[Problema do quadrado perfeito]]. | ||
+ | :[[Problema do baile de casais]]. | ||
=== Aula do dia 29/05/2009 === | === Aula do dia 29/05/2009 === | ||
;Assunto | ;Assunto | ||
:Arquivos | :Arquivos | ||
+ | ;Links sugeridos | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fopen/ fopen]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fscanf/ fscanf]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/feof/ feof]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fclose/ fclose]. | ||
;Problemas propostos | ;Problemas propostos | ||
− | : | + | :[[Problema da moda]]. |
=== Aula do dia 05/06/2009 === | === 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 | ;Assunto | ||
:Arquivos. | :Arquivos. | ||
+ | ;Links sugeridos | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fgets/ fgets]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fputs/ fputs]. | ||
+ | ;Exemplo | ||
+ | :[[C: Uso de fgets e fputs com stdin e stdout]]. | ||
;Problemas propostos | ;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. | ||
+ | ;Problemas propostos | ||
+ | :[http://www.adonaimedrado.pro.br/wiki/documentos/professor/ANTECESSORES.pdf Antecessores]. | ||
+ | ;Documentos | ||
+ | :[http://www.adonaimedrado.pro.br/wiki/documentos/professor/COMPETICAO_LP1_2009_1.pdf Problemas da Competição]. | ||
=== Aula do dia 12/06/2009 === | === Aula do dia 12/06/2009 === | ||
+ | ;Atividade | ||
+ | :Compartilhamento de soluções | ||
+ | ::Bruno Barbosa: [[Solução: Problema da simplificação das frações (Bruno Barbosa)]]. | ||
+ | ::Lúcio Ribeiro: [[Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro)]]. | ||
+ | ;Links sugeridos | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fread/ fread]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/ fwrite]. | ||
+ | :[http://www.cplusplus.com/reference/clibrary/cstdio/fseek/ fseek]. | ||
+ | ;Exemplos | ||
+ | :[[bmpinfo.c]]. | ||
+ | :[[crise_cad.c]]. | ||
+ | :[[crise_print.c]]. | ||
;Problemas propostos | ;Problemas propostos | ||
− | : | + | :[[Problema da prefeitura em crise (sem XML)]]. |
=== Aula do dia 19/06/2009 === | === Aula do dia 19/06/2009 === | ||
;Atividade | ;Atividade | ||
:Prova II. | :Prova II. | ||
+ | ::[[Problema do checksum]]. | ||
+ | ::[[Problema do TMA]]. | ||
+ | ::Escolha um dos problema abaixo: | ||
+ | :::[[Problema da codificação da string]] (aula do dia 20/03/2009). | ||
+ | :::[[Problema da seqüência de algarismos agrupados com ordenação]] (aula do dia 17/04/2009). | ||
+ | :::[[Problema da prefeitura em crise (sem XML)]] (aula do dia 12/06/2009). | ||
=== Aula do dia 26/06/2009 === | === Aula do dia 26/06/2009 === | ||
Line 132: | Line 285: | ||
:Prova II (segunda chamada). | :Prova II (segunda chamada). | ||
:Apresentação dos trabalhos semestrais. | :Apresentação dos trabalhos semestrais. | ||
− | |||
=== Aula do dia 03/07/2009 === | === Aula do dia 03/07/2009 === | ||
;Atividade | ;Atividade | ||
− | : | + | :Compartilhamento de soluções |
− | : | + | ::Bruno Barbosa: [[Solução: Problema do conjunto e seus elementos únicos (Bruno Barbosa)]]. |
+ | ::Mauricio Lage: [[Solução: Problema da palavra mágica (Mauricio Lage)]]. | ||
:Feedback da disciplina. | :Feedback da disciplina. | ||
+ | :[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_RESULTADO_PARCIAL.pdf Entrega dos resultados parciais] | ||
+ | ::Resultado e comentário da Prova II | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_AVII.pdf Resultados dos testes e notas]. | ||
+ | :::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_AVII_TESTES.zip Testes executados]. | ||
+ | :::[[Laboratório de Programação I (UFBA 2009.1): Prova AVII - Respostas do professor|Respostas do professor]]. | ||
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PARTICIPACAO.pdf Resultado da participação]. | ||
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_TRABALHO_SEMESTRAL_PARCIAL.pdf Resultado dos trabalhos]. | ||
+ | :::*Equipe 1 | ||
+ | :::**Documento | ||
+ | :::***Conforme a norma solicitada, o nome dos autores deve ser colocado na capa. | ||
+ | :::***Não explicou a motivação para criação de fato. Fez propaganda da Qt. | ||
+ | :::***De quem é a propriedade das imagens utilizadas? | ||
+ | :::**Programa | ||
+ | :::***O Makefile não funcionou (Netbeans?) | ||
+ | :::***Para compilar tive que alerar o arquivo defines.h que estava errado (tinha */*/) | ||
+ | :::***Parte do cliente está em português, parte em inglês!! | ||
+ | :::*Equipe 2 | ||
+ | :::**Documento | ||
+ | :::***Na capa do documento o nome da instituição é o primeiro e não o penúltimo elemento. | ||
+ | :::***Referências? | ||
+ | :::**Programa | ||
+ | :::***Quando você tira o foco da janela a música não deveria ficar "zunindo" e sim continuar ou ser colocado em mute. | ||
+ | :::****Deveria dar uma mensagem do motivo de não poder salvar a fase. | ||
+ | :::***No construtor de fase: | ||
+ | :::****Qual a diferença entre as duas caixas (a com predominância amarela e a com predominância lilás?) | ||
+ | :::****Deveria ter confirmação para apagar as fases, bem como uma mensagem avisando que foi apagado. | ||
+ | :::****Se você fizer uma fase que tenha elemento em todas as linhas, ao jogar a última aparece como a a primeira. | ||
+ | :::*Equipe 3 | ||
+ | :::**Documento | ||
+ | :::***A licença não é GPL. | ||
+ | :::***"...ainda sim deve..." não deveria ser "ainda assim"? | ||
+ | :::***O nome do programa é Synaptic (http://www.nongnu.org/synaptic/) e não synapitc. | ||
+ | :::***Erro de concordância: "Outras opções e regras do jogo '''estará disponível'''..." (grifo meu). | ||
+ | :::***Inferir significa "fazer inferência sobre; concluir, deduzir" (Houaiss) o que não tem nada com o sentido do texto: "Bruno ficará responsável pela interface gráfica e Lúcio será encarregado de integra-lá[sic] com o algoritmo principal do jogo. É importante ressaltar que isso não impedirá um componente de inferir na implementação do outro." (e integrá-la tem acento). | ||
+ | :::**Programa | ||
+ | :::***Só por abrir o jogo média de 82% do meu processador AMD 64bits!? | ||
+ | :::***Uma vez seleciona a peça a ser jogada não é possível fazer uma nova seleção, mesmo que seja impossível movimentar a peça selecionada (o que obriga a reiniciar o jogo). | ||
+ | :::***Não "come" duas vezes seguidas. | ||
+ | :::***Não "vira" dama. | ||
+ | :::***Não "come" para trás. | ||
+ | :::*Equipe 4 | ||
+ | :::**Documento | ||
+ | :::***A motivação poderia ser melhor explicada. | ||
+ | :::***Item 3 totalmente copiado de http://pt.wikipedia.org/wiki/LGPL e sem referências (deixou inclusive os links!!!) - isto seria motivo para zerar a pontuação do trabalho conforme a especificação. | ||
+ | :::***Trecho sem sentido "...o usuário pode pedir uma criação naquele instante do mesmo." | ||
+ | :::**Programa | ||
+ | :::***Não funcionou praticamente nada aqui comigo. | ||
+ | :::***Não deveria ser possível ver os agendamentos também? | ||
+ | :::***Não consegui fazer nenhum backup. | ||
+ | :::***Só fica gravado um agendamento. | ||
+ | :::***Onde é que se criaria o projeto? | ||
=== Aula do dia 17/07/2009 === | === Aula do dia 17/07/2009 === | ||
− | :Atividade | + | Observação: mesma sala e horário da aula. |
+ | |||
+ | ;Atividade | ||
:Prova final. | :Prova final. | ||
+ | ::Escolha 1 das questões abaixo: | ||
+ | :::[[Problema da letra mais frequente]]. | ||
+ | :::[[Problema do decifrador de senhas]]. | ||
+ | ::Escolha 4 das questões abaixo: | ||
+ | :::[[Problema da codificação da string]] | ||
+ | :::[[Problema da separação das sílabas (versão light)]]. | ||
+ | :::[[Problema da seqüência de algarismos agrupados com ordenação]]. | ||
+ | :::[[Problema da soma reservada]]. | ||
+ | :::[[Problema do conjunto e seus elementos únicos]]. | ||
+ | :::[[Problema do professor de terceiro ano]]. | ||
+ | :::[[Problema do baile de casais]]. | ||
+ | :::[[Problema da simplificação das frações]]. | ||
+ | :::[[Problema da prefeitura em crise (sem XML)]]. | ||
+ | :::[[Problema do checksum]]. | ||
+ | :::[[Problema do TMA]]. | ||
+ | |||
+ | === Resultado da Prova Final === | ||
+ | :Resultado da Prova Final | ||
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_FINAL.pdf Resultados dos testes e notas]. | ||
+ | ::[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_PROVA_FINAL_TESTES.zip Testes executados]. | ||
+ | |||
+ | === Resultado Final === | ||
+ | :[http://www.adonaimedrado.pro.br/wiki/documentos/professor/UFBA_LP1_2009_1_RESULTADO_SIAC.pdf Resultado final como digitado no SIAC]. |
Latest revision as of 04:59, 22 July 2009
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
- 5.19 Resultado da Prova Final
- 5.20 Resultado Final
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++.
- Projetos interessantes:
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.
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
- 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
- Equipe 4 - Software de Backup para Linux (Gtk+)
- Componentes
- Alessandro Santos.
- Marcio Trindade.
- Raniere Viana.
- Produção
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
- Bruno Barbosa: Solução: Problema da simplificação das frações (Bruno Barbosa).
- Lúcio Ribeiro: Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro).
- 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.
- Problema do checksum.
- Problema do TMA.
- Escolha um dos problema abaixo:
- Problema da codificação da string (aula do dia 20/03/2009).
- Problema da seqüência de algarismos agrupados com ordenação (aula do dia 17/04/2009).
- Problema da prefeitura em crise (sem XML) (aula do dia 12/06/2009).
Aula do dia 26/06/2009
- Atividade
- Prova II (segunda chamada).
- Apresentação dos trabalhos semestrais.
Aula do dia 03/07/2009
- Atividade
- Compartilhamento de soluções
- Bruno Barbosa: Solução: Problema do conjunto e seus elementos únicos (Bruno Barbosa).
- Mauricio Lage: Solução: Problema da palavra mágica (Mauricio Lage).
- Feedback da disciplina.
- Entrega dos resultados parciais
- Resultado e comentário da Prova II
- Resultado da participação.
- Resultado dos trabalhos.
- Equipe 1
- Documento
- Conforme a norma solicitada, o nome dos autores deve ser colocado na capa.
- Não explicou a motivação para criação de fato. Fez propaganda da Qt.
- De quem é a propriedade das imagens utilizadas?
- Programa
- O Makefile não funcionou (Netbeans?)
- Para compilar tive que alerar o arquivo defines.h que estava errado (tinha */*/)
- Parte do cliente está em português, parte em inglês!!
- Documento
- Equipe 2
- Documento
- Na capa do documento o nome da instituição é o primeiro e não o penúltimo elemento.
- Referências?
- Programa
- Quando você tira o foco da janela a música não deveria ficar "zunindo" e sim continuar ou ser colocado em mute.
- Deveria dar uma mensagem do motivo de não poder salvar a fase.
- No construtor de fase:
- Qual a diferença entre as duas caixas (a com predominância amarela e a com predominância lilás?)
- Deveria ter confirmação para apagar as fases, bem como uma mensagem avisando que foi apagado.
- Se você fizer uma fase que tenha elemento em todas as linhas, ao jogar a última aparece como a a primeira.
- Quando você tira o foco da janela a música não deveria ficar "zunindo" e sim continuar ou ser colocado em mute.
- Documento
- Equipe 3
- Documento
- A licença não é GPL.
- "...ainda sim deve..." não deveria ser "ainda assim"?
- O nome do programa é Synaptic (http://www.nongnu.org/synaptic/) e não synapitc.
- Erro de concordância: "Outras opções e regras do jogo estará disponível..." (grifo meu).
- Inferir significa "fazer inferência sobre; concluir, deduzir" (Houaiss) o que não tem nada com o sentido do texto: "Bruno ficará responsável pela interface gráfica e Lúcio será encarregado de integra-lá[sic] com o algoritmo principal do jogo. É importante ressaltar que isso não impedirá um componente de inferir na implementação do outro." (e integrá-la tem acento).
- Programa
- Só por abrir o jogo média de 82% do meu processador AMD 64bits!?
- Uma vez seleciona a peça a ser jogada não é possível fazer uma nova seleção, mesmo que seja impossível movimentar a peça selecionada (o que obriga a reiniciar o jogo).
- Não "come" duas vezes seguidas.
- Não "vira" dama.
- Não "come" para trás.
- Documento
- Equipe 4
- Documento
- A motivação poderia ser melhor explicada.
- Item 3 totalmente copiado de http://pt.wikipedia.org/wiki/LGPL e sem referências (deixou inclusive os links!!!) - isto seria motivo para zerar a pontuação do trabalho conforme a especificação.
- Trecho sem sentido "...o usuário pode pedir uma criação naquele instante do mesmo."
- Programa
- Não funcionou praticamente nada aqui comigo.
- Não deveria ser possível ver os agendamentos também?
- Não consegui fazer nenhum backup.
- Só fica gravado um agendamento.
- Onde é que se criaria o projeto?
- Documento
- Equipe 1
Aula do dia 17/07/2009
Observação: mesma sala e horário da aula.
- Atividade
- Prova final.
- Escolha 1 das questões abaixo:
- Escolha 4 das questões abaixo:
- Problema da codificação da string
- Problema da separação das sílabas (versão light).
- Problema da seqüência de algarismos agrupados com ordenação.
- Problema da soma reservada.
- Problema do conjunto e seus elementos únicos.
- Problema do professor de terceiro ano.
- Problema do baile de casais.
- Problema da simplificação das frações.
- Problema da prefeitura em crise (sem XML).
- Problema do checksum.
- Problema do TMA.
Resultado da Prova Final
- Resultado da Prova Final