Buscar

Simulado_SOFTWARE_BASICO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

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

Continue navegando