Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal da Grande Dourados Faculdade de Cieˆncias Exatas e Tecnologias Bacharelado em Sistemas de Informac¸a˜o Paradigmas em Linguagens de Programac¸a˜o Lista de Exerc´ıcios 1 Prof. M.Sc. Rodrigo Porf´ırio da Silva Sacchi 1. Explicite brevemente caracter´ısticas da programac¸a˜o imperativa. 2. Explicite brevemente caracter´ısticas da programac¸a˜o orientada a obje- tos. 3. Explicite brevemente caracter´ısticas da programac¸a˜o funcional. 4. Explicite brevemente caracter´ısticas da programac¸a˜o lo´gica. 5. Descreva e justifique pelo menos treˆs crite´rios importantes que devem ser considerados no momento da escolha de qual linguagem de progra- mac¸a˜o sera´ utilizada. 6. Conceitue linguagem de programac¸a˜o. 7. Qual a diferenc¸a entre um compilador e um interpretador? Cite as vantagens e desvantagens. 8. Cite algumas linguagens que sa˜o interpretadas e outras que sa˜o h´ıbri- das. 9. Qual era a principal a´rea de aplicac¸a˜o dos computadores na e´poca em que o FORTRAN foi projetado? 10. Qual a versa˜o do FORTRAN foi a primeira a ter manipulac¸a˜o de cadeias de caracteres? 11. Onde o LISP foi desenvolvido? Por quem? 1 12. Em qual versa˜o do ALGOL apareceu a estrutura em bloco? 13. Em qual linguagem COBOL se baseou? 14. Por que o BASIC foi uma linguagem importante no in´ıcio da de´cada de 80? 15. Qual o crite´rio de projeto foi usado extensivamente no ALGOL 68? 16. Qual linguagem introduziu a instruc¸a˜o case? 17. Quais os treˆs conceitos sa˜o a base da programac¸a˜o orientada a objetos? 18. Deˆ dois motivos pelo qual Java e´ mais seguro que C++. 19. Descreva os pape´is das ana´lises le´xica, sinta´tica e semaˆntica. 20. Apresente dois exemplos de erro le´xico, dois exemplos de erro sinta´tico e dois exemplos de erro semaˆntico que podem ocorrer quando estamos escrevendo um programa. 21. Quais treˆs extenso˜es sa˜o comuns a maioria das EBNFs? 22. Escreva descric¸o˜es EBNF para uma instruc¸a˜o switch em Java. 23. Prove que a seguinte grama´tica e´ amb´ıgua: < S > → < A > < A > → < A > + < A > | < id > < id > → a | b | c 24. Considere a seguinte grama´tica: < S > → < A > a < B > b < A > → < A > b | b < B > → a < B > | a Se as seguintes sentenc¸as esta˜o na linguagem gerada por essa grama´- tica, fac¸a derivac¸o˜es mais a` esquerda e mais a` direita. Caso contra´rio, informe o porqueˆ. a) baab b) bbbab c) bbaaaaa 2 d) bbaab 25. Construa os diagramas de sintaxe para a seguinte grama´tica expressada em EBNF: < goal > → < expr1 > < expr1 > → < term1 > < expr2 >∗ < expr2 > → + < expr1 > < term1 > → < factor > < term2 >∗ < term2 > → * < term1 > < factor > → a | b | c | (< expr1 >) 26. Considerando a seguinte grama´tica: < goal > → < group2 >+ d∗ e < group2 > → < group1 >∗ c < group1 > → ab determine quais das sentenc¸as abaixo podem ser reconhecidas por ela. a) abcde b) ce c) abe d) ababce e) ccee f) dddde g) cddd h) aabbce i) e 27. Escreva uma grama´tica BNF ou EBNF e um diagrama de sintaxe para a linguagem composta por nu´meros bina´rios que deve conter pelo menos dois 0′s consecutivos (a linguagem inclui strings como 10011011010 e 100010, mas na˜o 01011010101). 28. A qual propo´sito servem os predicados de uma grama´tica de atributos? 29. Qual a diferenc¸a entre um atributo sintetizado e um atributo herdado? 3 30. Construa os diagramas de sintaxe para a seguinte grama´tica BNF de uma pequena linguagem de programac¸a˜o. < programa > → begin < listastmt > end < listastmt > → < stmt > | < stmt > ; < listastmt > < stmt > → < var > := < expr > < expr > → < var > + < var > | < var > - < var > | < var > < var > → A | B | C 31. Usando a grama´tica do exerc´ıcio anterior, construa a a´rvore de deriva- c¸o˜es (sinta´tica) para a seguinte expressa˜o: begin A := B + C ; B := C end 4
Compartilhar