Fundamentos da Programaç˜ao de Computadores
Transcrição
Fundamentos da Programaç˜ao de Computadores
Universidade do Minho Escola de Engenharia Departamento de Sistemas de Informação Fundamentos da Programação de Computadores Licenciatura em Tecnologias e Sistemas de Informação 1º Ano — 1º Semestre Ano Lectivo 2008/2009 — Projecto 08 — Data de Lançamento: 24 de Novembro de 2008 Data Limite de Entrega: 1 de Dezembro de 2008 (12:00) Prof. Filipe de Sá-Soares Novembro de 2008 Observações A resolução do Projecto pode ser efectuada individualmente ou em grupo. No caso de resolução por grupo, os grupos de trabalho devem ser compostos por dois elementos. Adicionalmente, estabelece-se que os grupos sejam formados por elementos pertencentes ao mesmo turno PL. Por norma, a resolução do Projecto deve ser auto-contida, ou seja, os alunos não devem colaborar uns com os outros na resolução dos problemas propostos, excepto no caso da resolução em grupo, em que os alunos que formam o grupo colaboram entre si na resolução do projecto. Se, a tı́tulo excepcional, ocorrerem colaborações com outros alunos para a resolução dos problemas propostos, tal deve ser explicitamente indicado nos resultados submetidos (ver ponto adiante). A submissão dos resultados alcançados na resolução do Projecto deve ser realizada via moodle, até à data e hora indicadas anteriormente. Cada aluno deverá submeter o seu trabalho, quer o mesmo tenha sido elaborado individualmente quer em grupo. Não serão aceites submissões para além dessa data/hora. Os resultados a submeter devem constar de um ficheiro em formato PDF. O nome do ficheiro deve ser composto pelos seguintes campos: identificação do projecto (na forma “Pii”, em que “ii” é o número do projecto), caracter lowline, números de aluno dos seus autores, separados por lowline, e extensão .pdf. Para o caso de projectos resolvidos de forma individual, apenas deverá ser indicado um número de aluno (correspondente ao aluno que o resolveu). O corpo desse ficheiro principiará com a identificação do projecto, seguindo-se a indicação do(s) número(s) e nome(s) do(s) aluno(s) que resolveu(ram) os problemas propostos e de eventuais colaborações (números e nomes). Depois, deverão surgir as respostas aos problemas propostos, com a devida sinalização da questão a que se refere cada resposta, e sem alteração de ordem (caso não responda a uma questão, não deixe de sinalizar a identificação dessa questão, apesar de não fornecer resposta). Seguidamente, dá-se um exemplo do inı́cio de um desses ficheiros, cuja designação deveria ser P01 12345 12346.pdf. Note que nesse exemplo, não foi dada resposta à questão A.1.ii e não existiram colaborações extra-grupo. Projecto 01 Autores 12345 - Filipe de Sá-Soares 12346 - Miguel Abrunhosa de Brito Colaboraç~ oes sem colaboraç~ oes A.1.i - 25 A.1.ii A.1.iii - erro .. . 2 Questões A. Modelo de Ambiente 1. No âmbito do Modelo de Ambiente, defina binding, frame e environment. 2. Enuncie as linhas orientadoras da avaliação no Modelo de Ambiente. 3. Distinga a conceptualização de variável, procedimento e expressão no Modelo de Substituição e no Modelo de Ambiente. 4. Indique o nome das cinco regras que regem a avaliação de expressões no Modelo de Ambiente e aponte a utilidade de cada uma dessas regras. 5. Enuncie cada uma das regras cujo nome indicou na questão anterior. B. Avaliação de Expressões segundo o Modelo de Ambiente Considere a seguinte configuração de ambiente: GE x : 20 z : 9 dobro: parâmetros : x corpo : (+ x x) E2 y : 5 E1 x : 10 Avalie as expressões seguintes, indicando as regras de avaliação que aplicou, desenhando as alterações que resultam sobre a configuração anterior e indicando o valor de cada uma das expressões. Assuma que as expressões são avaliadas sequencialmente, pela ordem apresentada. 1. x|E1 2. x|E2 3. x|GE 4. y|E1 5. y|E2 6. y|GE 7. z|E1 3 8. z|E2 9. z|GE 10. (define y 4)|E1 11. (define y 7)|E2 12. (set! y 9)|E1 13. (set! z 0)|E2 14. (set! y (+ z 2))|GE 15. (define cubo (lambda (x) (∗ x x x)))|E2 16. (cubo 2)|E2 17. (cubo y)|E2 18. (cubo x)|E1 19. (cubo x)|GE 20. (define (dobro x) (+ x x))|E1 21. (dobro y)|E2 22. (dobro y)|E1 23. (dobro z)|E2 24. (define somador (lambda (x) (lambda (y) (+ x y))))|E1 25. (define s (somador 0))|E1 26. (s 3)|E1 27. (s 2)|E2 28. (s x)|E1 29. (s z)|E1 Prova de Avaliação Experimental Para os alunos avaliados segundo o perfil P1 ou segundo o perfil P2, a prova de avaliação experimental do presente projecto decorrerá na semana que se inicia a 1 de Dezembro de 2008, tendo lugar na sessão PL em que o aluno se encontrar inscrito. A realização da prova de avaliação experimental deverá ser efectuada com recurso ao moodle, pelo que cada aluno deve garantir previamente o correcto acesso à sua conta na comunidade moodle FPC, sob pena de não poder realizar a prova. Quando se apresentarem à prova de avaliação experimental, os alunos devem ser capazes de responder às questões do presente projecto sem necessitarem de recorrer ao interpretador Scheme. A não comparência de um aluno avaliado segundo o perfil P1 ou segundo o perfil P2 à prova de avaliação experimental traduz-se na atribuição de uma classificação de 0 (zero) valores nessa prova. 4
Documentos relacionados
Fundamentos da Programaç˜ao de Computadores
A resolução do Projecto pode ser efectuada individualmente ou em grupo. No caso de resolução por grupo, os grupos de trabalho devem ser compostos por dois elementos. Adicionalmente, estabelec...
Leia mais