AVISOS - Avaliação em Época Normal
|
Esclarecimento de dúvidas:
- Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [1].
- Não utilizar fontes de informação não oficialmente associadas ao corpo docente (podem colocar em causa a aprovação à disciplina).
- Não são aceites justificações para violações destes conselhos: quaisquer consequências nefastas são da responsabilidade do aluno.
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
- O material de apoio é de uso obrigatório e não pode ser alterado.
- Verificar atempadamente (mínimo de 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de desenvolvimento.
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
- Datas: 2016/10/21 12:00 (inicial); 2016/11/21 12:00 (intercalar); 2016/12/09 12:00 (final); 2016/12/09-2016/12/13 (teste prático).
- Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina.
- Verificar atempadamente (até 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de avaliação, incluindo a capacidade de acesso ao repositório.
- Apenas se consideram para avaliação os projectos existentes no repositório oficial. Apenas se considera para avaliação o ramo 'main'.
- Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório ou de outros materiais, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
- A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelos alunos correspondentes ao grupo de avaliação.
- Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação.
|
Material de Uso Obrigatório
|
As bibliotecas po-uuilib e o conteúdo inicial do CVS são de uso obrigatório:
|
- po-uuilib (classes de base) media:po-uuilib-201609201009.tar.bz2 (não pode ser alterada)
- pex-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
- pex-app (classes de interacção) (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
|
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio.
|
Uso Obrigatório: Repositório CVS
|
Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.
Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
|
Durante a execução do projecto são realizados testes automáticos sobre o conteúdo do repositório, sendo publicados diariamente os resultados dos testes (apenas durante a Época Normal).
Pacotes de Testes para a Entrega Final (Época Normal)
Os ficheiros contidos nos arquivos têm extensões .in, .out e .import e destinam-se a ser utilizados na execução do programa com as propriedades correspondentes definidas com os nomes dos ficheiros (excepto os .out, que servem para comparação com a saída real obtida).
Descrição dos Testes
|
- A-001-001-M-ok Ver 1º Menu
- A-001-002-M-ok Ver 2º Menu (implica import a funcionar)
- A-001-003-M-ok Pedir para ver um programa que não existe e interpretador não tem programas
- A-001-004-M-ok Pedir para ver um programa que não existe e interpretador tem programas
- A-002-001-M-ok Import de Operações Primitivas e listar programa
- A-002-002-M-ok Import de Operações Aritméticas e listar programa
- A-002-003-M-ok Import de Operações Lógicas e listar programa
- A-002-004-M-ok Import de Operações if, ciclo , atribuição, IO, sequência e call e listar programa
- A-002-005-M-ok Import de itodas as operações com argumentos do tipo expressão composta e listar programa
- A-003-001-M-ok Criar um programa com um nome novo e listar
- A-003-002-M-ok Criar um programa com um nome repetido (import)
- A-004-001-M-ok Ler um programa com operações primitivas com um nome novo
- A-004-002-M-ok Ler um programa com operações primitivas com um nome repetido
- A-005-001-M-ok Escrever um programa existente com operações primitivas com um nome novo
- A-005-002-M-ok Ler o programa escrito no teste anterior
- A-005-003-M-ok Escrever um programa que não existe
- A-006-001-M-ok Selecionar um nome inexistente (sem programas)
- A-006-002-M-ok Selecionar um nome inexistente (com programas)
- A-007-001-M-ok Começa com Import. Cria um interpretador novo. Verificar que programas existentes desaparecem
- A-008-001-M-ok Começar aplicação com import com expressões primitivas e fazer save saved01
- A-008-002-M-ok Carregar Open saved01
- A-008-003-M-ok Fazer Load de ficheiro que não existe
- A-008-004-M-ok 12 Fazer Save duas vezes
- A-008-005-M-ok Começar aplicação com import com expressões todas e fazer save saved02
- A-008-006-M-ok Carregar Open saved02
- A-009-001-M-ok Testa if true valor positivo
- A-009-002-M-ok Testa if false
- A-009-003-M-ok Testa if true valor negativo
- A-009-004-M-ok Testa Add com valores positivos e negativos
- A-009-008-M-ok Testa Mod com valores positivos
- A-009-009-M-ok Testa And executa os dois argumentos (true/true e true/false)
- A-009-010-M-ok Testa And executa só o primeiro argumento (false/true e false/false)
- A-009-011-M-ok Testa Or executa os dois argumentos (false/true e false/false)
- A-009-013-M-ok Testa Not com valor true (maior que 0 e menor que 0)
- A-009-018-M-ok Testa Print de um argumento, vários argumentos
- A-009-019-M-ok Testa Seq de um argumento, vários argumentos
- A-009-020-M-ok Testa set de um inteiro (simples e composto) e set de uma string (simples e composto)
- A-009-022-M-ok Testa identificador após atribuição de inteiro e string
- A-009-024-M-ok Testa Eq com inteiros iguais e diferentes
- A-009-025-M-ok Testa Ne com inteiros iguais e diferentes
- A-009-026-M-ok Testa Lt com inteiros iguais, menores e maiores
- A-009-027-M-ok Testa Le com inteiros iguais, menores e maiores
- A-009-031-M-ok Testa while com execução do ciclo 3 vezes condição maior que 0
- A-009-033-M-ok Testa Call com programa existente
- A-009-036-M-ok Testa Execução de Programa vazio
- A-010-001-M-ok Teste escrita dos identificadores inseridos por ordem correcta só com sets
- A-010-002-M-ok Teste escrita dos identificadores inseridos por ordem inversa
- A-010-003-M-ok Teste escrita dos identificadores inseridos por ordem aleatória só com referências
- A-010-004-M-ok Teste escrita dos identificadores inseridos por ordem correcta com referências e set
- A-011-001-M-ok Substituir 1º e última expressão
- A-011-002-M-ok Substituir expressão do meio
- A-011-003-M-ok Substituir expressão com indíce inválido (negativo e maior que tamanho e igual ao tamanho)
- A-011-005-M-ok Adicionar expressão ao meio e no início
- A-011-009-M-ok Adicionar expressão num programa vazio
- A-012-001-M-ok Teste escrita dos identificadores não inicializados inseridos por ordem correcta
|
Resultados dos Testes (Época Normal)
Os resultados da execução dos vários testes estão disponíveis nos seguintes locais:
Pacotes de Testes para a Entrega Intermédia (Época Normal)
Os pacotes de testes para o projecto são os seguintes:
Descrição dos testes
|
- A-001-001-M-ok Ver 1º Menu
- A-001-002-M-ok Ver 2º Menu (implica import a funcionar)
- A-001-003-M-ok Pedir para ver um programa que não existe e interpretador não tem programas
- A-001-004-M-ok Pedir para ver um programa que não existe e interpretador tem programas
- A-002-001-M-ok Import de Operações Primitivas e listar programa
- A-002-002-M-ok Import de Operações Aritméticas e listar programa
- A-002-003-M-ok Import de Operações Lógicas e listar programa
- A-002-004-M-ok Import de Operações if, ciclo , atribuição, IO, sequência e call e listar programa
- A-002-005-M-ok Import de itodas as operações com argumentos do tipo expressão composta e listar programa
- A-003-001-M-ok Criar um programa com um nome novo e listar
- A-003-002-M-ok Criar um programa com um nome repetido (import)
- A-004-001-M-ok Ler um programa com operações primitivas com um nome novo
- A-004-002-M-ok Ler um programa com operações primitivas com um nome repetido
- A-005-001-M-ok Escrever um programa existente com operações primitivas com um nome novo
- A-005-002-M-ok Ler o programa escrito no teste anterior
- A-005-003-M-ok Escrever um programa que não existe
- A-006-001-M-ok Selecionar um nome inexistente (sem programas)
- A-006-002-M-ok Selecionar um nome inexistente (com programas)
- A-007-001-M-ok Começa com Import. Cria um interpretador novo. Verificar que programas existentes desaparecem
- A-008-001-M-ok Começar aplicação com import com expressões primitivas e fazer save saved01
- A-008-002-M-ok Carregar Open saved01
- A-008-003-M-ok Fazer Load de ficheiro que não existe
- A-008-004-M-ok 12 Fazer Save duas vezes
- A-008-005-M-ok Começar aplicação com import com expressões todas e fazer save saved02
- A-008-006-M-ok Carregar Open saved02
|
Resultados dos testes
Os resultados da execução dos vários testes estão disponíveis nos seguintes locais: