ENEM, perguntado por AleKawaii7547, 9 meses atrás

Considere a implementação de um compilador em que as etapas de análise Iéxica e sintática possam compartilhar o mesmo processador de forma concorrente. Considere, ainda, uma solução para o problema, cujo pseudocódigo é mostrado abaixo. O analisador Iéxico lê os lexemas e identifica os respectivos tokens do arquivo-fonte por meio da chamada ao procedimento leia. O analisador sintático verifica a sequência dos tokens por meio da chamada ao procedimento Case. Os dois processos compartilham a constante N e as variáveis bu f deE, ve z e cont.constante N = 10;inteiro buffer N], vez = 0, cont = 0; Analísador Lexico:01inteiro token, in — 0; 02enquanto verdadeiro faça 03Leia(token);04enquanto cont = N - 1 aguarde;05enquanto vez = 1 aguarde;06buffer[in]token;07contcont + 1;08vez1;09in = (in + 1) mod N;10im enquantoAnalisador Sintatico:11inteiro token, out = 0;12enquanto verdadeiro faça13enquanto cont — 0 aguarde;14enquanto vez = 0 aguarde;15token buffer[out] ;16contcont - 1:17vez0;18out — (out + 1) mod N;19Case(token);20Hm enquantoA partir da análise da solução, avalie as asserções a seguir e a relação proposta entre elas.I.A eliminação da variável cont e das linhas 4, 7,13 e 16 causa erro de sincronismo entre os processos.PORQUEII.A variável cont é responsável pelo controle do acesso à seção crítica do código. A respeito dessas asserções, assinale a opção correta.@ As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.@ As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Oasserção I é uma proposição verdadeira, e a II uma proposição falsa.O A asserção I é uma proposição falsa, e a II uma proposição verdadeira.O As asserções I e II são proposições falsas.

#ENADE

Soluções para a tarefa

Respondido por LarissaMoura3
2

As asserções I e II são proposições falsas. Letra E.

Para a resolução da questão, é preciso destacar que um processo que realiza a execução de um analisar léxico que faz uso da variável cont para a indicação de que se pode colocar um token no buffer, em caso dele estar cheio e a variável para indicação de que é a vez do processo executar.

Em que pode-se utilizar outro processo para a execução concorrente da variável cont para que não seja feita a leitura dos token do buffer.

Bons estudos!

Perguntas interessantes