Prévia do material em texto
Fazer teste: Semana 5 - Atividade Avaliativa Informações do teste Descrição Instruções Olá, estudante! 1. Para responder a esta atividade, selecione a(s) alternativa(s) que você considerar correta(s); 2. Após selecionar a resposta correta em todas as questões, vá até o fim da página e pressione “Enviar teste”. 3. A cada tentativa, você receberá um novo conjunto de questões diferentes para que você responda e tente alcançar melhores resultados. Pronto! Sua atividade já está registrada no AVA. Várias tentativas Este teste permite 3 tentativas. Esta é a tentativa número 1. Forçar conclusão Este teste pode ser salvo e retomado posteriormente. Suas respostas foram salvas automaticamente. A você foi dada a incumbência de escrever um compilador para uma linguagem de programação que permite a declaração de variáveis com o mesmo nome em diferentes escopos. Sobre essa situação, avalie as seguintes assertivas: I. Nesse caso, a tabela de símbolos pode conter várias entradas com o mesmo nome, mas em diferentes escopos. II. Quando uma variável é referenciada em um programa, o compilador deve usar a regra de "escopo mais próximo" para determinar qual variável com o mesmo nome é acessada. III. A ordem de declaração das variáveis não afeta o resultado, já que o compilador usa apenas o escopo mais próximo para determinar a variável a ser acessada. IV. Em linguagens que permitem sombreamento de variáveis (variáveis com o mesmo nome em escopos diferentes), a tabela de símbolos deve manter informações sobre os escopos em que cada variável foi declarada. V. O uso de variáveis com o mesmo nome em diferentes escopos pode causar ambiguidades e erros semânticos, e o compilador deve tratá-los adequadamente. Assinale a alternativa com a ordem correta: a. V, V, F, V, V. b. V, V, V, V, F. c. V, V, F, V, F. d. F, F, V, V, V. PERGUNTA 1 2 pontos Salva Estado de Conclusão da Pergunta: 29/04/2024, 17:30 Fazer teste: Semana 5 - Atividade Avaliativa – ... https://ava.univesp.br/webapps/assessment/take/launch.jsp?course_assessment_id=_191294_1&course_id=_12872_1&content_id=_1552356_1… 1/3 F, F, V, V, V. e. F, V, F, F, V. Considere o trecho de código de uma linguagem de programação a seguir: x = 10 y = "20" z = x + y Sobre a análise semântica desse código, avalie as seguintes assertivas e classifique-as em verdadeiras (V) ou falsas (F): I. Não há erros de tipo no código, pois a linguagem permite operações entre inteiros e strings. II. A variável z terá o valor "1020" após a execução do código. III. O código possui um erro de tipo, pois não é permitida a operação de adição entre um inteiro e uma string. IV. A variável y é usada antes de ser inicializada, o que resulta em um erro semântico. V. A atribuição z = x + y é uma operação válida e não gera erros semânticos. Assinale a alternativa com a ordem correta: a. V, V, F, F, V. b. F, V, V, F, V. c. V, F, V, V, F. d. V, F, V, F, V. e. F, V, V, V, F. PERGUNTA 2 2 pontos Salva Sobre a tabela de símbolos no processo de estruturação de um compilador, avalie as seguintes assertivas e classifique-as em verdadeiras (V) ou falsas (F): (I) A tabela de símbolos é uma estrutura de dados que armazena informações sobre variáveis, funções e outros identificadores em um programa. (II) Cada entrada na tabela de símbolos geralmente contém informações como o nome do identificador, seu tipo, seu escopo e seu endereço de memória (caso aplicável). (III) A tabela de símbolos é usada apenas durante a análise sintática para verificar a corretude sintática do código-fonte. (IV) Em linguagens de programação, o escopo de um identificador pode afetar sua visibilidade e acessibilidade em diferentes partes do código. (V) Uma tabela de símbolos bem implementada deve garantir que não haja conflitos de nome entre diferentes identificadores. Assinale a alternativa com a ordem correta: a. V, V, F, V, V b. F, V, V, V, V c. V V V V F PERGUNTA 3 2 pontos Salva 29/04/2024, 17:30 Fazer teste: Semana 5 - Atividade Avaliativa – ... https://ava.univesp.br/webapps/assessment/take/launch.jsp?course_assessment_id=_191294_1&course_id=_12872_1&content_id=_1552356_1… 2/3 Clique em Salvar e Enviar para salvar e enviar. Clique em Salvar todas as respostas para salvar todas as respostas. c. V, V, V, V, F d. V, V, F, V, F e. F, F, V, F, V Considere que você está escrevendo um compilador para uma linguagem de programação. Durante a análise semântica, qual é uma das principais tarefas relacionadas à verificação de tipos? a. Garantir que todas as variáveis tenham nomes exclusivos. b. Verificar se todas as instruções do programa estão corretamente identadas. c. Certificar-se de que todas as variáveis sejam declaradas antes de serem usadas. d. Garantir que os operadores sejam aplicados a operandos compatíveis em termos de tipo. e. Verificar se a gramática da linguagem está correta. PERGUNTA 4 2 pontos Salva Analise as alternativas a seguir e assinale qual delas indica a principal função da análise semântica em um compilador: a. Verificar a corretude léxica dos tokens na entrada. b. Verificar a gramática da linguagem de programação. c. Garantir que a sintaxe da linguagem seja interpretada corretamente. d. Detectar e reportar erros de semântica no código-fonte. e. Otimizar o código-objeto gerado pelo compilador. PERGUNTA 5 2 pontos Salva Salvar todas as respostas Salvar e Enviar 29/04/2024, 17:30 Fazer teste: Semana 5 - Atividade Avaliativa – ... https://ava.univesp.br/webapps/assessment/take/launch.jsp?course_assessment_id=_191294_1&course_id=_12872_1&content_id=_1552356_1… 3/3