Questão 1305975

Tecnologia da Informação · 2023

Questão

ID 1305975

Disciplina: Tecnologia da Informação

Assunto: C e C++

Ano: 2023 Banca: FCC - Fundação Carlos Chagas Órgão: Tribunal Regional do Trabalho da 12ª Região


Examine o programa em C abaixo.

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#define NUM_ADVOGADOS 3

void advogado(int id) (

printf("Advogado %d: Preparando argumentos\n", id);

usleep(rand() % 2000000 + 1000000); // Simula o tempo de preparação

printf("Advogado %d: Apresentando o caso ao tribunal\n", id) ;

usleep(rand() % 2000000 + 1000000); // Simula o tempo de apresentação

printf("Advogado %d: Caso resolvido\n", id);

}

int main() {

srand(time(NULL));

for (int i = 1; i <= NUM_ADVOGADOS; i ++) (

if (fork() == 0) (

\(\mathbf{\underset{......}{I}}\)

}

}

// Código do processo pai (tribunal)

for (int i = 1; i <= NUM_ADVOGADOS; i ++) (

wait(NULL); // aguarda todos os processos filhos terminarem

}

printf("Todos os casos foram resolvidos.\n");

return 0;

}

Considerando que uma das saídas do programa acima, compilado e executado em condições ideais, seja:

Advogado 1: Preparando argumentos

Advogado 3: Preparando argumentos

Advogado 2: Preparando argumentos

Advogado 3: Apresentando o caso ao tribunal

Advogado 2: Apresentando o caso ao tribunal

Advogado 1: Apresentando o caso ao tribunal

Advogado 1: Caso resolvido

Advogado 3: Caso resolvido

Advogado 2: Caso resolvido

Todos os casos foram resolvidos.

A lacuna I deve ser corretamente preenchida com:

Alternativas da questão 1305975
Pular para o conteúdo principal