Baixe o app para aproveitar ainda mais
Prévia do material em texto
29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 1/16 Primeira Prova Iniciado: 29 abr em 8:56 Instruções do teste Primeira Prova - orientações básicas 1) Leia as questões atentamente e somente responda quando tiver certeza. 3) A nota final somente será divulgada após o término de todos os participantes. Boa prova a todos ! 1 ptsPergunta 1 SRAM é uma memória não volátil. FLASHROM é uma memória de apenas leitura. EEPROM é uma memória de escrita e leitura. OTP é uma memória volátil. Marque a afirmativa correta, relativa às famílias de memórias RAM e ROM: 1 ptsPergunta 2 Von Neumann, CISC Harvard, RISC Harvard, CISC Von Neumann, RISC O MCU ATmega328P se encaixa em quais das arquiteturas abaixo ? 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 2/16 1 ptsPergunta 3 Apenas Saída Entrada ou Saída Apenas Entrada Entrada e Saída Marque a resposta correta, relativo à porta PD do MCU ATmega328P. 1 ptsPergunta 4 CISC e Von Neumann RISC e Von Neumann RISC e Harvard A CPU do Microcontrolador ATmega328, abaixo, é do tipo : 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 3/16 CISC e Harvard 1 ptsPergunta 5 Existe um erro em (4), cuja solução fará o programa funcionar. Existe um erro em (6), cuja solução fará o programa funcionar. Existe um erro em (5), cuja solução fará o programa funcionar. Dado o fluxograma abaixo, analise o programa a seguir e responda : void main(void) { DDRB = 0x20; // (1) DDRD = 0x00; // (2) for (;;) // (3) { if (PIND & PD0) // (4) PORTB = 0x20; // (5) else PORTB = 0x00; // (6) } } 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 4/16 Existe um erro em (1), cuja solução fará o programa funcionar. 1 ptsPergunta 6 F = 1.6 MHz F = 2.0 MHz F = 1.142 MHz F = 4.0 MHz O programa abaixo gera um sinal de onda quadrada de frequência F, na porta PB0 do ATmega328, com clock de 16 MHz. Analise esse programa e responda : LDI R16,0xFF //1 OUT DDRB,R16 // 1 LDI R17,0x00 // 1 LOOP: OUT PORTB,R17 // 1 INC R17 // 1 RJMP LOOP // 2 Obs.: O número na frente de cada instrução, corresponde a quantidade de períodos de clocks para a busca e execução de cada instrução. 1 ptsPergunta 7 Relativo às características da linguagem C, podemos afirmar, exceto : 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 5/16 Linguagem estruturada Fácil Manutenção Facilidade de desenvolvimento em grupo Difícil portabilidade 1 ptsPergunta 8 8 9 8,7 8,6 O valor de result após a execução da sequência abaixo é : int x=6, y=4, z=16, result; result = (x+y+z)/3; : : 1 ptsPergunta 9 -147, -126, -241, -100 Considere os valores em hexadecimal abaixo, armazenados em uma variável do tipo unsigned char, ao longo de um programa. Analise as respostas e marque a opção que não corresponde aos equivalentes em decimal. Valores : 0x93, 0x7E, 0xF1, 0x64 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 6/16 -147, 126, -241, 100 147, -126, 241, -100 147, 126, 241, 100 1 ptsPergunta 10 Verdadeiro Falso Na estrutura de controle "switch", o valor a ser avaliado não pode ser do tipo ponto flutuante. 1 ptsPergunta 11 Analise o trecho de programa em linguagem C abaixo e marque a resposta correta, indicando o que ocorrerá, ao ser executado o "break". : x = 0; while (x<10) { if (x==z) { y =0; while (y<10) { if (y==x) break; 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 7/16 Não acontecerá nada O programa saltará para a expressão x++ O programa saltará para a expressão y++ O programa saltará para a expressão z= y* x y++; } } x++; } z = y*x; : 1 ptsPergunta 12 As estruturas if-else e switch abaixo, são equivalentes, logicamente. a) if-else if (modelo==1) x =20; else if (modelo == 2) x = y*3; else if (modelo == 3) x = y+5*z; else x = 0; b) switch 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 8/16 Verdadeiro Falso switch(modelo) { case 1: x = 20; break; case 2: x = y*3; break; case 3: x = y + 5*z; break; default: x = 0; break; } 1 ptsPergunta 13 Verdadeiro Falso A expressão valor = x>y ? (z<50?10:40): (z!=100?x:y); pode ser escrita usando a estrutura if-else da seguinte forma. if (x>y) if (z<50 && z< 10) valor = 40; else if (z!=100 && z!=x) valor = y; 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 9/16 1 ptsPergunta 14 Não há nenhuma equivalente (b) e (c) são equivalentes (a) e (c) são equivalentes (a) e (b) são equivalentes Dadas as 3 estruturas de repetições abaixo, marque a resposta correta, relativa as suas equivalências lógicas. a) while i = 0; while (i<10) { x += y*i; i++; } b) for for (i=0; i<10; i++) x+= y*i; c) do-while i =0; do { x+= y*i; i++; } while (i < 10); 1 ptsPergunta 15 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 10/16 relacional, atribuição, ternário atribuição, ternário, relacional ternário, relacional, atribuição atribuição, relacional, ternário Os operadores envolvidos na expressão mode = mode==RUN? STOP:RUN; na sequência em que aparecem são: 1 ptsPergunta 16 FALSE / 0x00, TRUE / 0x10 Nenhum acima Considere o circuito abaixo e mostre quais são os valores possíveis, lógico e booleano respectivamente, que a estrutura de controle if abaixo poderá receber. Considere que as portas estejam configuradas corretamente. if (PIND & 0x10) 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 11/16 FALSE / 0x10, TRUE / 0x00 TRUE / 0x00, FALSE / 0x10 1 ptsPergunta 17 (1) 0x0AA0, (2) 0x0AB2, (3) 0x0AA6, (4) 0x0AAA (1) 0x0AA0, (2) 0x0AA2, (3) 0x0AB4, (4) 0x0AAA (1) 0x0AA2, (2) 0x0AA4, (3) 0x0AAA, (4) 0x0AA0 (1) 0x0AA0, (2) 0x0AA2, (3) 0x0AA6, (4) 0x0AA8 Considere a matriz multidimensional do tipo int mat[2][3][3], alocada a partir do endereço 0x0AA0, em um MCU ATmega328P, e um apontador pi do tipo int. Podemos afirmar que o valor depi após cada uma das instruções abaixo será : pi = mat; (1) pi = &mat[1]; (2) pi = &mat[0][1]; (3) pi = &mat[0][1][2]; (4) 1 ptsPergunta 18 Analise as declarações abaixo e marque a resposta correta : typedef struct { float kp; int vel; char saida[2]; int cont[10]; 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 12/16 260 240 320 280 } motor; motor mt1[10]; Considerando o MCU ATmega328P, podemos afirmar que o número de bytes ocupado pela vetor mt1[10] é : 1 ptsPergunta 19 c_vet=100, c_mat=2000, i_vet=30, i_mat=200, f_vet=80, f_mat=400 c_vet=50, c_mat=200, i_vet=30, i_mat=400, f_vet=40, f_mat=400 c_vet=100, c_mat=200, i_vet=60, i_mat=200, f_vet=80, f_mat=200 c_vet=50, c_mat=2000, i_vet=60, i_mat=400, f_vet=40, f_mat=200 Vetores e Matrizes são estruturas de dados homogêneas que ocupam várias posições na memória. Considere uma aplicação para o MCU ATmega328P e marque a opção correta, relativa ao número de posições de memória usadas por cada declaração abaixo: char c_vet[50], c_mat[20][10][10] ; int i_vet[30], i_mat[10][20]; float f_vet[10], f_mat[10][5]; 1 ptsPergunta 20 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 13/16 Verdadeiro Falso A lista de argumentos ou parâmetros de entradas de uma função podem ser de qualquer tipo, padrões da linguagem C ou criado pelo usuário . 1 ptsPergunta 21 No modo NORMAL, podemos ter até dois sinais PWM simultâneos em cada Timer. A geração de PWM do Timer0 pode ser no modo NORMAL ou CTC. O modo CTC do Timer2 usa o registro OCR2B para definir o módulo de contagem. No modo NORMAL, tanto o Timer0 quanto o Timer2 trabalharão em módulo 256. Todas as afirmativas abaixo estão corretas, em relação aos Timers 0 e Timer2 do MCU ATmega328P, exceto: 1 ptsPergunta 22 Após a execução das instruções abaixo, no MCU ATmega328P com F_CPU=16MHZ, teremos um sinal de PWM com período (T) e ciclo de trabalho (DC) no pino OC0B (PD5), de: TCCR0A = _BV(COM0B1) | _BV(WGM01) | _BV(WGM00) ; TCCR0B = _BV(WGM02) | _BV(CS01); DDRD = _BV(DDD5); OCR0A = 199; OCR0B = 24; 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 14/16 T = 199 uS : DC = 12.06% T = 100 uS : DC = 12.50% T = 200 uS : DC = 12.50% T = 99.5 uS : DC = 12.06% 1 ptsPergunta 23 O Timer0 pode ser usado para gerar sinais PWM. Timer0 e Timer2 podem ser usados para geração de sinais periódicos. Timer2 não pode ser usado para gerar sinais periódicos. Timer2 pode ser usado para gerar sinais PWM. Todas a afirmativas abaixo estão corretas, em relação aos Timer0 e Timer2 do MCU ATmega328P, exceto: 1 ptsPergunta 24 INT0 : Nível baixo e INT1 : Borda de descida INT0 : Borda de subida e INT1 : Borda de descida INT0 : Nível alto e INT1 : Borda de subida INT0 : Borda de descida e INT1 : Borda de subida Ao executar a instrução EICRA = 0x0B , teremos configurado as interrupções externas INT0 e INT1 do MCU ATmega328P. Marque a resposta correta : 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 15/16 1 ptsPergunta 25 Analise o programa abaixo e marque a opção que mostre a forma de onda gerada em PD6. #define F_CPU 16000000ul void main(void) { TCCR0A = _BV(COM0A0) | _BV(WGM01); TCCR0B = _BV(CS01); DDRD = _BV(DDD6); OCR0A = 49; for (;;) { } } 29/04/2020 Teste: Primeira Prova https://pucminas.instructure.com/courses/13633/quizzes/57501/take 16/16 Salvo em 9:29 2 3 4 1 Enviar teste
Compartilhar