Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/7 Meus Simulados Teste seu conhecimento acumulado Disc.: PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS Aluno(a): JORGE FRANCISCO DA CRUZ PAIXÃO 202007014367 Acertos: 9,0 de 10,0 03/09/2022 Acerto: 1,0 / 1,0 Avalie as asserções a seguir e a relação sugerida entre elas. I. Sobre os fatores de vantagem que a linguagem C acrescentou ao desenvolvimento com de sistemas embarcados, com relação à linguagem de montagem, podemos citar a portabilidade. PORQUE II. A portabilidade permite, principalmente em sistemas embarcados, o uso do código com poucas modificações para uso em outra arquitetura de processador, característica que não está presente na linguagem de montagem. A respeito dessas asserções, assinale a alternativa correta. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras e a II é uma justificativa correta da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Respondido em 03/09/2022 11:15:14 Explicação: Como os programas em linguagem de montagem são específicos para um processador, que possui arquitetura diferente de outros processadores, a linguagem não oferece portabilidade entre os sistemas. Para superar essa desvantagem, várias linguagens de alto nível, incluindo C, surgiram. Dentre elas, C obteve ampla aceitação e continua sendo a preferida em sistemas embarcados. A portabilidade é uma característica atribuída a um programa se ele puder ser usado em um sistema operacional ou arquitetura diferente daquele em que foi criado, sem a necessidade de grandes retrabalhos. Acerto: 1,0 / 1,0 Você chegou à expressão lógica (1) abaixo para implementar um circuito lógico de desligamento de uma máquina. Porém, o gerente técnico pediu para você usar a expressão lógica (2) no lugar, dizendo que é equivalente a (1). Que regra(s) ele usou para fazer esta alteração? Comutativa e distributiva Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/7 Associativa Idempotente De Morgan Distributiva e idempotente Respondido em 03/09/2022 11:16:14 Explicação: Teoremas de De Morgan são basicamente dois conjuntos de regras ou leis desenvolvidas a partir das expressões booleanas para AND, OR e NOT usando duas variáveis de entrada, A e B. Essas duas regras ou teoremas permitem que as variáveis de entrada sejam negadas e convertidas de uma forma de função booleana em uma forma oposta. O segundo teorema, usado neste caso, afirma que duas (ou mais) variáveis NAND juntas são iguais aos dois termos invertidos (complemento) em uma operação lógica OR, o que nos leva à expressão: = + . A lei idempotente é aplicada quando é realizada uma operação AND ou OR consigo mesma. A associativa trabalha com 3 variáveis. Já na comutativa, não importa em que ordem usamos as variáveis. Acerto: 1,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, III e IV I, II e III I, III e IV II e III Somente a II Respondido em 03/09/2022 11:17:07 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: 1,0 / 1,0 Uma variável chamada vetor pode armazenar até 4 (quatro) valores do tipo inteiro. Foi definida com a seguinte declaração: int vetor[4]; A figura abaixo representa o armazenamento do vetor na memória do computador. Posição de memória 1000 1004 1008 1012 Valor Índice do vetor vetor () vetor(1) vetor(2) vetor(3) ĀB̄ Ā B̄ Questão3 a Questão4 a 10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/7 Foram executadas as seguintes instruções listadas abaixo: 1. for (int i = 0; i < 4; i++) vetor[i] = 0; 2. vetor[1] = 10; vetor[3] = 20; 3. vetor[1] = vetor[3]/vetor[1]; 4. vetor[0] = vetor[1] + vetor[2]; Qual das opções abaixo representa a sequência armazenada no vetor (vetor[0], vetor[1], vetor[2], vetor[3]) após a execução das instruções acima: 2 2 0 10 2 2 0 22 2 0 0 20 2 2 0 20 0 2 0 20 Respondido em 03/09/2022 11:18:25 Explicação: A tabela abaixo apresenta os valores armazenados em cada elemento após a execução dos comandos em cada linha. Nr da linha vetor[0] vetor[1] vetor[2] vetor[3] 1 0 0 0 0 2 0 10 0 20 3 0 2 0 20 4 2 2 0 20 Acerto: 1,0 / 1,0 Interprete o programa abaixo e marque a opção que corresponde ao que o programa resolve. main() { int i; char palavras[4][30]; for(i=0;i<4;i++) { printf("Informe palavra %d: '',i+1); gets(palavras[i]); } for(i=3;i>=0;i--) printf("%s\n'',palavras[i]); } Assinale a opção correta: O programa lê e imprime três palavras. O programa lê e imprime a concatenação de três palavras. O programa lê e imprime a concatenação de quatro palavras. O programa lê e imprime quatro palavras. O programa lê quatro palavras e imprime em ordem inversa às palavras. Respondido em 03/09/2022 11:18:39 Questão5 a 10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/7 Explicação: O programa declara duas variáveis, i e palavra, sendo palavra uma matriz de 4 linhas e 30 colunas. Logo em seguida, a estrutura de repetição for é composta de 2 instruções, a primeira instrução printf imprime na tela a informação: Informe a palavra e em seguida a instrução gets ler a palavra informada e armazena na variável palavras. Após 4 loop na primeira estrutura de repetição for, uma segunda estrutura de repetição for é utilizada para imprimir na tela as 4 palavras armazenadas Acerto: 1,0 / 1,0 Analise o código abaixo. Int n = 1; while (n <= 7) { printf("n=%d\n",n); n = n + 1; } Após a verificação, escolha uma das opções abaixo que tenha a mesma saída que o comando while. for(n=1; n<=7; n++) printf("n=%d\n",n); for(n=1; n<=7; n--) printf("n=%d\n¿¿,n); for(n=1; n<=6; n++) printf("n=%d\n",n); for(n=1; n<6; n++) printf("n=%d\n",n); for(n=2; n<=7; n+-) printf("n=%d\n'',n); Respondido em 03/09/2022 11:19:11 Explicação: A sintaxe do comando é for(inicialização; condição; incremento) comando(s); Para gerar a sequência 1 2 3 4 5 6 7, a inicialização começa n=1. O valor é incrementado de 1, por isso n=n+1. E a repetição termina quando n<=7, isto é, quando chegou ao valor n=7. 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 () { Questão6 a Questão7 a 10/09/2022 07:03 Estácio: Alunoshttps://simulado.estacio.br/alunos/ 5/7 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 = 61 Valor de X = 100, Y = 60 Valor de X = 100, Y = 60 Valor de X = 99, Y = 61 Valor de X = 100, Y = 60 Valor de X = 60, Y = 61 Valor de X = 100, Y = 60 Valor de X = 100, Y = 60 Valor de X = 99, Y = 60 Valor de X = 100, Y = 61 Respondido em 03/09/2022 11:22:07 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: 1,0 / 1,0 Analise programa abaixo que calcula a área de um cilindro através da função calcula_area(). Considere que: Área do círculo = PI x Raio x Raio, Comprimento da circunferência = 2 x PI x Raio, Programa: #include #define PI 3.14 float calcula_area(____ , ____) { float area = 0; area = __________________; return area; } main() { float altura = 0; float raio = 0; float area = 0; Questão8 a 10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 6/7 scanf("%f%f",&altura,&raio); area = calcula_area(altura,raio); } Verifique o código da função calcula_area. Observe que tem três espaços a serem completados. Assinale a resposta correta que define os dois parâmetros e a expressão matemática que calcula a área do cilindro pela função calcula_area. float calcula_area(a , r) e area = 2*(PI * r * r) + a*(2*PI*r) float calcula_area(float a , float r) e area = 2*(PI * r * r) + a*(2*PI*r) float calcula_area(int a , int r) e area = 2*(PI * r * r) + a*(2*PI*r) float calcula_area(float a , float r) e area = (PI * r * r) + (2*PI*r) float calcula_area(float a , float r) e area = (PI * r * r) + a*(2*PI*r) Respondido em 03/09/2022 11:20:10 Explicação: A função calcula_area recebe dois parâmetros do tipo float (número real). A altura representada pela variável a e o raio, representado pela variável r. Assim, precisa definir dois parâmetros (float a , float r). A área do cilindro é a soma de três áreas: área da base superior (PI * r * r) mais área da base inferior (PI * r * r) mais área da superfície lateral a*(2*PI*r). Assim, a área total é representada pela expressão area = 2*(PI * r * r) + a*(2*PI*r). Acerto: 1,0 / 1,0 Um processo de depuração tradicional interrompe a execução do programa para examinar variáveis e estado das memórias e registradores. Qual a desvantagem desse processo em sistemas embarcados? Parar o programa pode reduzir o tempo de processamento do sistema. Parar o programa pode interferir no comportamento do sistema. Parar o programa pode mudar os valores das variáveis na memória RAM. Parar o programa pode consumir mais energia. Parar o programa pode alterar os registradores da CPU. Respondido em 03/09/2022 11:20:47 Explicação: Alguns programas embarcados não podem ser analisados com o seu código parado, como, por exemplo, os que realizam atuação em função de dados que recebem, como em controle de malha fechada. Assim, parar o programa pode interferir no comportamento do sistema. Nesse caso, técnicas de impressão ou rastreamento podem ser utilizadas, em que o dispositivo em teste envia constantemente informações de depuração, sem interrompê-lo. Acerto: 1,0 / 1,0 Avalie as asserções a seguir e a relação sugerida entre elas. I. Um analisador lógico, instrumento para capturar, exibir e medir vários sinais eletrônicos simultaneamente em um circuito digital, pode ser usado na depuração de rastreamento em tempo real PORQUE II. Ele pode avaliar sinais do sistema embarcado sem alterar ou interferir no desempenho do processo. A respeito dessas asserções, assinale a alternativa correta. As asserções I e II são proposições falsas. Questão9 a Questão10 a 10/09/2022 07:03 Estácio: Alunos https://simulado.estacio.br/alunos/ 7/7 A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras e a II é uma justificativa correta da I. Respondido em 03/09/2022 11:21:10 Explicação: Verificar sinais com analisadores lógicos é um método de depuração que não lê registros que podem causar um efeito colateral no dispositivo, atrasando o processamento, como ocorre, por exemplo, com a depuração por impressão de dados por porta serial. O impacto do depurador no dispositivo é bem definido. Existe o controle sobre o que acontece com o depurador e como ele afeta o dispositivo de destino. Assim, como não afeta o determinismo do dispositivo, o analisador lógico pode ser usado na depuração de rastreamento em tempo real. javascript:abre_colabore('38403','292235232','5610777465');
Compartilhar