Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Acerto: 1,0 / 1,0 Considerando o algoritmo abaixo, qual das opções abaixo condiz com a saida de dados: #include int main() { int v1=1, v2=0; while(v2<=5){ v2=v2+v1; v1+=3; } printf("%d e %d",v2,v1); return 0; } 13 e 9 10 e 12 16 e 6 12 e 10 6 e 9 Explicação: 12 e 10 segundo algoritmo 2a Questão Acerto: 1,0 / 1,0 Qual das opções abaixo se refere à biblioteca padrão do c: studio.h stdio.h main.c main.h sttdio.c 3a Questão Acerto: 1,0 / 1,0 Suponha que precisemos alterar a posição de um objeto, desenhado com OpenGL, a cada intervalo de tempo predefinido. Qual afirmação abaixo está correta quanto a realização da tarefa em OpenGL? Deve-se chamar a função que altera a posição com a função da API Glut glutTimerFunc. Deve-se chamar a função que altera a posição, dentro de um loop while, com a função delay depois da chamada. Não é possível alterar a posição de um objeto, desenhado com OpenGL, em intervalos de tempo predefinidos. Deve-se chamar a função que altera a posição, com a função da API OpenGL glTimerFunc. Deve-se chamar a função que altera a posição, dentro da função int main(). Explicação: Resp.: Deve-se chamar a função que altera a posição, com a função da API Glut glutTimerFunc. A API OpenGL só lida com a renderizaçao de gráficos. Temporizações são tratadas pela Glut e são vistas como eventos. A função glutTimerFunc chama instruções, dentro de uma função, de forma temporizada. Por exemplo, glutTimerFunc(10,Timer, 1) chama a função Timer a cada 10 milisegundos. A função Timer deve conter instruções para movimentar e redesenhar a figura. A função glTimerFunc não existe. Chamar uma função em loop com o uso da estrutura while não funciona em OpenGL, pois este não considera o loop fora da máquina de estados iniciada por glutMainLoop(). 4a Questão Acerto: 0,0 / 1,0 Podemos controlar o processamento de um evento de teclado, por exemplo, usando a API GLUT. A função Teclado abaixo foi designada para controlar o processamento do evento associado ao clicar no teclado pela função da GLUT glutKeyboardFunc(Teclado). Verifique a função Teclado abaixo e responda o que ela executa. void Teclado(unsigned char K, int x, int y) { switch (K) { case 'A': glColor3f(0.0f, 0.0f, 1.0f); break; case 'V': glColor3f(1.0f, 0.0f, 0.0f); break; } glutPostRedisplay(); } Escreve 'A' ou 'V' na posição dada pelo Mouse no desenho e troca a cor do elemento desenhado anteriormente em função da tecla pressionada, 'A' ou 'V'. Troca a cor do pixel onde está o Mouse em função da tecla pressionada, 'A' ou 'V'. Troca a cor do ponteiro do mouse em função da tecla pressionada, 'A' ou 'V'. Troca a cor do elemento desenhado anteriormente em função da tecla pressionada, 'A' ou 'V'. Escreve 'A' ou 'V' na posição dada pelo Mouse no desenho. Explicação: Resp.: Troca a cor do elemento desenhado anteriormente em função da tecla pressionada, A¿ouA¿ouV¿. A função Teclado recebe 3 parâmetros: O primeiro fornece o código ASCII da tecla pressionada. Os dois argumentos restantes fornecem a posição do mouse quando a tecla é pressionada, mas não são usados neste exemplo. 5a Questão Acerto: 1,0 / 1,0 A função que imprime na tela uma string especificada, incluindo uma nova linha ('\n') ao fim da impressão. puts sprintf fgets sout gets 6a Questão Acerto: 1,0 / 1,0 Qual é a principal diferença entre transmissão síncrona e assíncrona? Nenhuma das demais respostas. Na transmissão assíncrona, os dados são transferidos na forma de quadros ou frames. Por outro lado, na transmissão síncrona, os dados são transmitidos 1 byte por vez. A largura da banda necessária é diferente. Na transmissão síncrona, o transmissor e o receptor devem ter relógios sincronizados antes da transmissão de dados, enquanto a transmissão assíncrona emprega bits de início/parada. A altura do pulso é diferente. Explicação: Na transmissão síncrona, o transmissor e o receptor devem ter relógios sincronizados antes da transmissão de dados, enquanto a transmissão assíncrona emprega bits de início/parada. 7a Questão Acerto: 1,0 / 1,0 Relacione os três elementos principais da programação no Arduino, numerados de 1 a 3 abaixo, com um exemplo do elemento, dado em a, b e c. Depois escolha a opção adequada. 1. Funções (a) float 2. Valores (b) if 3. Estruturas (c) digitalRead() As relações corretas são: 1a, 2b, 3c 1b, 2a, 3c 1c, 2a, 3b 1a, 2c, 3b 1c, 2b, 3a Explicação: Resp.: 1c, 2a, 3b Funções são usadas para o controle das placas Arduino e para realizar processamento de dados. Exemplos: digitalRead(), analogWrite(), pinMode(). Valores são os tipos de dados e constantes, os mesmos utilizados em C. Exemplos: int, float, byte, char. Estruturas de controle: são as já conhecidas da linguagem C, como if, do...while, for e switch...case. 8a Questão Acerto: 1,0 / 1,0 Quanto niveis analógicos distintos o ADC do Arduino pode detectar? 256 2048 512 1024 4096 Explicação: Como o ADC do arduino é de 10 bits ele pode detectar 1024 niveis distintos 9a Questão Acerto: 1,0 / 1,0 Entre as funções da API Socket, qual é a que converte um soquete não conectado em um soquete passivo, indicando devem ser aceitas solicitações de conexão direcionadas a esse soquete? listen() bind() sendto() connect() accept() Explicação: A função listen() coloca o soquete do servidor em um modo passivo, onde aguarda o cliente solicitar ao servidor uma conexão. 10a Questão Acerto: 1,0 / 1,0 Considerando o conceito de threads na linguagem C, pode-se definir MUTEX como: forma de garantir acesso multiplo à memória pelas threads forma de mutar uma thread, para que haja evolução dos processos forma de garantir o acesso exclusivo a um recurso compartilhado por duas ou mais threads forma de exclusão da thread forma de garantir que uma thread aguarde até que outras sejam finalizadas Explicação: forma de garantir o acesso exclusivo a um recurso compartilhado por duas ou mais
Compartilhar