Baixe o app para aproveitar ainda mais
Prévia do material em texto
01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/6 Simulado AV Teste seu conhecimento acumulado Disc.: PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS Aluno(a): ALEX PEREIRA 202108004782 Acertos: 2,0 de 10,0 01/05/2022 Acerto: 0,0 / 1,0 Considere as afirmações abaixo sobre sistemas embarcados. I - Todo sistema embarcado com RTOS é de tempo real. II - Todo sistema embarcado sem sistema operacional é de tempo real. III - Todo sistema embarcado bare metal é de tempo real. IV - Todo sistema embarcado com Linux é de tempo real. Quais as opções estão corretas? II e III I, III e IV Somente a II I, II e III II, III e IV Respondido em 01/05/2022 14:03:05 Explicação: Quando um sistema precisa responder a um evento ou a uma solicitação dentro de um tempo estritamente definido, chamamos isso de sistema de tempo real. Esse tempo definido é conhecido como prazo. Esses sistemas devem ser previsíveis e, portanto, são, por definição, determinísticos. Se um sistema roda em um sistema operacional, ele não é de tempo real. Com exceção do RTOS, que são os sistemas operacionais de tempo real. Sistemas embarcados sem sistema operacional, como os bare metal (microcontroladores) ou os baseados em dispositivos FPGA, são de tempo real. Portanto, a única alternativa que não está correta é a IV, pois Linux não é de tempo real. Acerto: 0,0 / 1,0 Você recebeu valores em bases diferentes para realizar um cálculo. Os valores foram X = 34 (base decimal) e Y = 34 (base hexadecimal). Você precisa do resultado na base octal para comparar com o enviado por outro sistema. Qual o resultado de X + Y na base octal? 116 126 156 201 207 Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/6 Respondido em 01/05/2022 14:03:11 Explicação: O procedimento mais conveniente é converter Y para a base 10, somar com X e depois converter o resultado para a base 8. Assim, Y=3416= 3x16 1+4x160=5210. X+Y=3410+5210= 8610. Para converter o resultado da base decimal para a base octal, devemos dividir 86 por 8, guardando o quociente e o resto da divisão, no caso, 10 e 6, respectivamente. O valor 6 será o menos significativo da representação em octal. Na sequência, divide- se o quociente (10) novamente por 8. O novo quociente é 1, com resto 2, o segundo número a ser coletado para formar o octal correspondente. O quociente 1, sendo menor que 8, fornecerá o número mais significativo do octal, que ficará 1268. Acerto: 0,0 / 1,0 Um sistema embarcado pode ser gerenciado por software embarcado ou não, dependendo do dispositivo central de processamento utilizado no projeto. Qual alternativa abaixo corresponde aos dispositivos que podem controlar um sistema embarcado sem software embarcado? 1-2 3-5 4-5 5-6 1-3 Respondido em 01/05/2022 14:03:14 Explicação: Essencialmente, um FPGA é um circuito de hardware que um usuário pode programar para realizar uma ou mais operações lógicas. Os FPGAs são circuitos integrados formados por conjuntos de circuitos em forma de array ou matrizes. Esses circuitos, ou matrizes, são grupos de portas lógicas programáveis, memória ou outros elementos. Assim, o projetista pode descrever seu hardware de controle, que não terá um software embarcado ou firmware. Os ASICs seguem a mesma abordagem de criação de um hardware de controle específico. Porém, eles são projetados e fabricados sem possibilidade de serem reprogramados, como os FPGAs. Assim, funcionam da mesma forma durante toda a vida útil. Acerto: 0,0 / 1,0 Calcule as expressões aritméticas abaixo e considere a precedência entre operadores: Exp1 = 24 - 3 * 5; Exp2 = (4 - 2 * 6) / 4 + 1; Exp3 = 6 / ((2 + 11) % 3) * 4; Marque a opção correta abaixo, que indica o resultado das expressões Exp1, Exp2 e Exp3: 4, 1 e 24 9, -1 e 1 9, -1 e 24 Questão3 a Questão4 a 01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/6 4, -1 e 1 9, 1 e -1 Respondido em 01/05/2022 14:03:16 Explicação: Calculando as expressões Exp1 = 24 ¿ 3 * 5 = 24 -15 = 9 Exp2 = (4 - 2 * 6) / 4 + 1 = (4 ¿ 12) / 4 + 1 =-8 /4 + 1 = -2 + 1 = -1 Exp3 = 6 / ((2 + 11) % 3) * 4 = 6 / ((13) % 3)*4 = 6 / 1 * 4 = 6 * 4 = 24 Acerto: 0,0 / 1,0 A linguagem C possui várias funções, dentre elas se destaca a função scanf() que tem o objetivo de ler uma variável pelo teclado. Considerando que a variável num é do tipo inteiro (int), qual a opção abaixo é verdadeira? scanf("%lf", &num); scanf("%d", &num); scanf("%c", &num); scanf("%p", &num); scanf("%f", &num); Respondido em 01/05/2022 14:03:19 Explicação: Como o tipo da variável num é inteira (int). Então o especificador %d é deve ser utilizado para números inteiros. Na opção que apresenta o %f é usado erroneamente o especificador f para float. Na opção que apresenta o %lf é usado erroneamente o especificador lf para long float. Na opção que apresenta %c é usado erroneamente o especificador c para char. Na opção que uso o especificador %p é usado erroneamente o especificador para pointer (ponteiro). Acerto: 1,0 / 1,0 Uma variável do tipo básico unsigned char na linguagem C é armazenada em 1(um) byte de memória e o intervalo de valores permitido é de 0 a 255. Considerando o tipo básico char. Qual das alternativas abaixo é a correta quanto à quantidade de memória armazenada e o intervalo de valores usados pelo tipo char? 2 bytes; intervalo: -255 a 0. 1 byte; intervalo: 1 a 255. 1 byte; intervalo: -128 a 127. 2 bytes; intervalo: -127 a 126. 1 byte; intervalo: -127 a 127. Respondido em 01/05/2022 14:03:22 Explicação: O tipo char armazena valores inteiros com sinal que representam caracteres. O tipo char usa 8 bits (1 byte) para armazenar 256 valores, isto é, 28 valores. Como está definido na linguagem que o tipo char deve ter números positivos e negativos, é necessário usar um 1 bit para representar o sinal, sobram 7 bits para representar 128 (= 27 ) caracteres. Assim, para o tipo char, o valor_mínimo = -1*28-1 = -128 e o valor_máximo = 28-1 -1 = 127. Questão5 a Questão6 a 01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/6 Acerto: 0,0 / 1,0 Analise o código abaixo com relação ao escopo das variáveis e o resultado do programa após a execução: 1: #include 2: 3: int imprimir(int X, int Y) 4:{ 5: X--; 6: Y++; 7: printf("Valor de X = %d, Y = %d\n", X, Y); 8:} 9: 10: main () { 11: int X,Y; 12: X = 100; 13: Y = X - 40; 14: imprimir(X,Y); 15: printf ("Valor de X = %d, Y = %d\n", X, Y); 16: } Assinale a resposta correta da saída do programa acima. Valor de X = 99, Y = 60 Valor de X = 100, Y = 61 Valor de X = 99, Y = 61 Valor de X = 100, Y = 60 Valor de X = 100, Y = 60 Valor de X = 60, Y = 61 Valor de X = 100, Y = 60 Valor de X = 99, Y = 61 Valor de X = 100, Y = 60 Valor de X = 100, Y = 60 Respondido em 01/05/2022 14:03:27 Explicação: Verifica-se que na linha 14 a função imprimir(X,Y) é chamada e recebe como parâmetros X=100 e Y=60. Após a execução dos comandos nas linhas 5 e 6, X = 99 e Y = 61 (variáveis locais na função imprimir). O comando "printf ("Valor de X = %d, Y = %d\n", X, Y);" (localizado na linha 7) imprime o resultado "Valor de X = 100, Y = 60". Acerto: 0,0 / 1,0 Interprete o código abaixo e assinale a opção correta com relação à saída do programa: #include Questão7 a Questão8 a 01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/6 int func1(int lista[5]) { int i, r; r = lista[0]; for (int i=0; i<5; i++) if (lista[i]>r) r=lista[i]; lista[i] = lista[i+1]; return r; } int func2(int lista[5]) { int r; r = lista[0]; for (int i=0; i<5; i++) if (lista[i] lista[i] = lista[i+1]; return r; } main() { int lista[5] = {100, 35, 101, 43, 13}; printf("\n %d %d\n",func1(lista),func2(lista)); } Assinale a resposta correta da saída do programa acima. 101 13 13 101 43 43 35 100 13 13 Respondido em 01/05/2022 14:03:32 Explicação: A função func1 retorna o maior valor do vetor. A instrução if (lista[i]>r) r=lista[i]; armazena o maior valor na variável r. A função func2 retorna o menor valor do vetor. A instrução if (lista[i] Acerto: 1,0 / 1,0 Qual componente da CPU é utilizado para traduzir os códigos das instruções do programa em sequências de ações? Decodificador de instruções. Questão9 a 01/05/22, 14:06 Estácio: Alunos https://simulado.estacio.br/alunos/ 6/6 Sequenciador de códigos. Tradutor de instruções. Sequenciador de instruções. Unidade lógica e aritmética. Respondido em 01/05/2022 14:03:35 Explicação: As instruções do software de um sistema embarcado são armazenadas na memória de programa. Quando a CPU está executando as instruções, os códigos dessas instruções são buscados na memória e, em seguida, esses códigos precisam ser decodificados. O decodificador de instruções de um processador é um circuito combinacional, cujo objetivo é traduzir um código de instrução para uma sequência de ações que executa o que a instrução indica. Acerto: 0,0 / 1,0 Você foi designado para especificar um microcontrolador que deve controlar a velocidade de um motor DC, que pode ser regulado variando a tensão contínua aplicada aos seus terminais. Os dispositivos a seguir podem ser escolhidos em modelos de microcontroladores que você tem para especificar. I - ADC. II - DAC. III - RS232. IV - PWM. Qual opção indica o(s) componente(s) que você pode escolher para controlar o motor DC? Somente a II. II ou III. II ou IV. II, III ou IV. I ou II. Respondido em 01/05/2022 14:03:39 Explicação: Tanto um conversor digital para analógico (DAC) como um PWM (modulador por largura de pulsos) podem ser usados para controlar a velocidade de um motor DC, pois ambos permitem regular a quantidade de tensão nos terminais de um motor. Além disso, ambos podem ser componentes internos aos microcontroladores. O controle de velocidade por modulação de largura de pulso funciona acionando o motor com uma série de pulsos ''Ligado- Desligado'' e variando o ciclo de trabalho, que é a fração de tempo em que a tensão de saída está ''Ligada'' em comparação com quando está ''Desligada'', mantendo a frequência constante. O DAC é um dispositivo que transforma dados digitais em um sinal analógico, um valor de tensão contínua, o que também pode ser usado para controlar a velocidade do motor. Questão10 a javascript:abre_colabore('38403','282739288','5306249989');
Compartilhar