Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/04/2022 10:43 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): LUCAS JHONATAS PEREIRA 202002304901 Acertos: 9,0 de 10,0 02/04/2022 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? Idempotente Distributiva e idempotente De Morgan Comutativa e distributiva Associativa Respondido em 02/04/2022 09:31:35 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? I, II e III ĀB̄ Ā B̄ Questão1 a Questão2 a 06/04/2022 10:43 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/6 II e III II, III e IV I, III e IV Somente a II Respondido em 02/04/2022 10:27:50 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 Você precisa simplificar a expressão abaixo, usando as regras da álgebra booleana para usar menos portas lógicas no circuito a ser montado e diminuir o consumo. Qual a expressão simplificada? ABC+A C+AB AB+B+C A(B + C) AB+C B+ A+BC Respondido em 02/04/2022 10:41:20 Explicação: Partindo da expressão original, ABC+A C+AB , deve-se usar as regras a seguir: aplicando a regra ABC + ABC = ABC, reescrevemos a expressão: ABC+ABC+A C+AB . Aplicando a regra Distributiva entre as expressões 1 e 3; 2 e 4, temos: AC(B+ )+AB(C+ ). Usando C + = 1 e B + = 1, temos AC+AB. E por final, fatorando, temos: A(B + C). Acerto: 1,0 / 1,0 Interprete o programa abaixo e assinale qual das opções será impressa na saída. #define TAM 4 main() { int i = 0; int x = 1000; int v[TAM] = {30,20,30,40}; for (i=0;i x = x - v[i]; printf("%d",x); } B̄ C̄ C̄ B̄ C̄ B̄ C̄ B̄ C̄ C̄ B̄ Questão3 a Questão4 a 06/04/2022 10:43 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/6 Assinale a opção correta: 870 780 770 800 880 Respondido em 02/04/2022 09:51:48 Explicação: O programa realiza a subtração dos elementos do vetor com a variável x. A expressão aritmética x = x - v[i] é executada a cada iteração do comando for. Quando i = 0 e x = 1000, a expressão x = x - v[0] = 1000 ¿ 30 = 970. Quando i = 1, x = 970 ¿ 20 = 950. Quando i = 2, x = 950 ¿ 30 = 920. Quando i = 3 (última rodada), x = 920 ¿ 40 = 880. Acerto: 1,0 / 1,0 Dado o trecho de código abaixo que mostra a definição da struct Disciplina e a inicialização da variável banco_dados: Disciplina { char curso[40]; char professor[3010]; } ; struct Disciplina banco_dados = {"Computação", "José Carlos da Silva"}; Ao analisar o código, assinale a alternativa correta quanto ao acesso aos dados da variável banco_dados a serem impressos: printf("%s - %s", disciplina.curso, disciplina.professor);. printf("%s - %s", disciplina.curso, banco_dados.professor);. printf("%s - %s", banco_dados->curso, banco_dados->professor);. printf("%s - %s", banco_dados.curso, banco_dados.professor);. printf("%s - %s", banco_dados.curso, banco_dados->professor);. Respondido em 02/04/2022 09:52:36 Explicação: A variável é banco dados. Para acessar os campos a sintaxe é nome variavel estrutura.nome elemento. Um ponto fica entre o nome da variável e o nome do elemento (ou campo). Acerto: 1,0 / 1,0 A respeito da estrutura struct da linguagem C, podemos afirmar que: Uma estrutura é um conjunto de uma ou mais variáveis agrupadas sob um único nome, de forma a facilitar a sua referência. A definição de uma estrutura (struct) é baseada no tipo de dado chamado vetor (array). Normalmente, os elementos da estrutura struct da lingagem C não tem nenhuma relação semântica com o nome da estrutura. Por exemplo: os elementos associados a uma identidade pessoal (número, Questão5 a Questão6 a 06/04/2022 10:43 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/6 nome e data de nascimento). Quando precisamos definir a diagonal de uma matriz quadrada, usamos o tipo de dados struct para armazenar a matriz. A estrutura struct da linguagem C permite incluir, em uma única entidade, somente elementos de tipos diferentes. Respondido em 02/04/2022 09:54:22 Explicação: As estruturas em C (que correspondem aos registros em outras linguagens) permitem colocar, em uma única entidade, elementos de tipos diferentes. Uma estrutura é um conjunto de uma ou mais variáveis (também chamadas de campos ou membros) agrupadas sob um único nome, de forma a facilitar a sua referência. Acerto: 1,0 / 1,0 Você está codificando um programa e precisa resolver duas situações. Primeiro converter uma variável do tipo string em inteiro (int). Segundo gerar um número aleatório. Você sabe que existem na biblioteca padrão funções que executam estas duas tarefas. Assinale a opção correta, que indica a inclusão do arquivo cabeçalho que contém as duas funções que você precisa usar no programa para resolver as duas tarefas. < math.h > < stdlib.h > < string.h > < stdio.h > < ctype.h > Respondido em 02/04/2022 10:41:31 Explicação: O arquivo < stdlib.h > define funções de propósito geral como conversão de tipos, geração de números aleatórios, alocação e liberação de memória, ordenamento e busca e controle de processos. Acerto: 0,0 / 1,0 Interprete o código abaixo e assinale a opção correta quanto ao valor retornado pela função recursividade com o parâmetro de valor 4. #include int recursividade(int n) { if (n>0) { n = 2*recursividade(n-1); return n; } else return 1; } int main() { recursividade(4); Questão7 a Questão8 a 06/04/2022 10:43 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/6 } Assinale a opção correta. 4 64 32 16 128 Respondido em 02/04/2022 10:57:34 Explicação: A função recursividade calcula o valor de 2n, sendo n o expoente. Assim, como o parâmetro recebido de função é 4, o valor retornado é 24 = 16. Acerto: 1,0 / 1,0 Em programas embarcados nas placas da plataforma Arduino simuladas no Tinkercad, existe uma função que é chamada uma vez quando o programa é iniciado para realizar a configuraçãodo microcontrolador. Qual é o nome dessa função? config() input() setup() loop() output() Respondido em 02/04/2022 09:57:53 Explicação: A função setup() é chamada uma vez quando o programa é iniciado. Deve ser usada para inicializar os modos dos pinos e configurar a comunicação serial, entre outras configurações necessárias para o projeto. Ela deve ser incluída em um programa para Arduino, mesmo que não haja instruções a serem executadas. Acerto: 1,0 / 1,0 Examine as afirmações a seguir sobre técnicas de depuração em software embarcado. I - Com base no LED piscando é possível obter conhecimento sobre o que está acontecendo em um sistema embarcado. Isso certamente funciona para sistemas de computador muito simples e lentos. II - Verificar a alternância de dados em pinos com um analisador lógico permite inspecionar sinais mais rápidos do que com LEDs. III - Emitir informações usando o canal de comunicação serial do microcontrolador permite inspecionar sinais mais rapidamente do que com LEDs ou analisador lógico. Quais afirmações estão corretas? Somente I e II estão corretas. Somente a II está correta. Somente II e III estão corretas. Somente I e III estão corretas. Somente a I está correta. Respondido em 02/04/2022 09:57:05 Questão9 a Questão10 a 06/04/2022 10:43 Estácio: Alunos https://simulado.estacio.br/alunos/ 6/6 Explicação: Uma transmissão por porta serial é mais rápida para enviar informações do que um LED, pois piscar um LED em alta velocidade não permite ao observador identificar se ele está aceso ou apagado. Essa mesma informação seria mais facilmente identificada por um analisador lógico, que registra sinais digitais muito mais rapidamente do que um observador pode registrar no piscar de um LED. Então, as afirmações I e II estão corretas. A afirmação III está incorreta, pois um analisador lógico é mais rápido para registrar informações do que uma transmissão serial de microcontrolador pode realizar.
Compartilhar