Baixe o app para aproveitar ainda mais
Prévia do material em texto
Meus Simulados Teste seu conhecimento acumulado Disc.: PROGRAMAÇÃO APLICADA A SISTEMA ELÉTRICOS Aluno(a): PAULO ROBERTO RIBEIRO NOGUEIRA 201202259138 Acertos: 8,0 de 10,0 12/10/2022 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 5-6 3-5 4-5 1-3 Respondido em 12/10/2022 16:22:08 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: 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. Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 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 I, III e IV II e III II, III e IV Somente a II Respondido em 12/10/2022 16:23:43 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ê 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 201 207 156 126 Respondido em 12/10/2022 16:25:09 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: 1,0 / 1,0 Com relação às estruturas de repetição (ou laços) na linguagem C, o for, while e do-while. Qual opção abaixo é verdadeira? Os laços while e for executam sempre, pelo menos uma vez, o corpo do laço. O laço do .. while executa sempre, pelo menos uma vez, o corpo do laço. A condição dentro de um laço while e do-while não precisa ser colocada dentro de parênteses. No laço for ou while, o número de vezes que a condição é testada é sempre igual ao número de iterações do laço. No laço for, o número de vezes que as cargas iniciais são executadas (inicialização) é sempre igual ao número de iterações do laço. Respondido em 12/10/2022 16:27:54 Questão3 a Questão4 a Explicação: No comando do-while, a condição é testada no final do loop. Assim, os comandos ou comando serão executados pelo menos uma vez. No comando while, o teste da condição é realizado no início do bloco de instruções, por isso, pode ser que não seja executado. Já no laço for, os comandos serão executados um número determinado de vezes. Acerto: 0,0 / 1,0 Um programa gera a sequência: 1 3 5 7 9. Qual das opções abaixo representa o código que gera a sequência acima? Obs: a variável n é do tipo inteira. for(n=2; n<9; n=n+2) printf("%d '', n); for(n=1; n<10; n=n+1) printf("%d '', n); for(n=1; n<=10; n=n+1) printf("%d '', n); for(n=1; n<=8; n=n+2) printf("%d '', n); for(n=1; n<10; n=n+2) printf("%d '', n); Respondido em 12/10/2022 16:32:31 Explicação: A sintaxe do comando é for(inicialização; condição; incremento) comando(s); Para gerar a sequência 1 3 5 7 9, a inicialização começa n = 1. O valor é incrementado de 2, por isso n = n + 2. E a repetição termina quando n<10, isto é, quando n=9. Acerto: 1,0 / 1,0 Dentre os operadores da linguagem C, o operador ternário (?) pode substituir a estrutura de condição if¿else. Dado a instrução abaixo: numero >= 0 ? numero++ : numero--; Se o valor da variável (numero) for -10, qual será o resultado do comando? -11 10 -10 11 9 Respondido em 12/10/2022 16:34:58 Explicação: Vamos explicar o código: numero >= 0 ? numero++ : numero--; Neste código se o número for maior ou igual a zero será incrementado, caso contrário será decrementado de uma unidade. Como a variável numero tem valor -10, que é menor que zero, então a variável será decrementada. Acerto: 1,0 / 1,0 Interprete o código abaixo e assinale a opção correta quanto ao valor retornado pela função recursividade com Questão5 a Questão6 a Questão7 a 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); } Assinale a opção correta. 4 16 32 128 64 Respondido em 12/10/2022 16:34:41 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 Analise o programa abaixo e responda a opção correta: 01: #include 02: 03: int f1 (int x, int y) { 04: int res; 05: if (y != 0) { 06: res = x / y; 07: else { 08: res = 1 / x; } 09: while (x > y) { 10: res = res + x; 11: x = x - 4; 12: } Questão8 a 13: return res; 14: } 15: 16: main() { 17: f1(10,2); 18: f1(5, 0); 19: f1(8, 4); 20: } Assinale a resposta correta com o valor da variável res, na sequência das chamadas da função f1. 10; 6,2; 10. 21; 6,0; 10. 20; 6,0; 11. 10; 6,2; 21. 21; 6,2; 10. Respondido em 12/10/2022 16:35:33 Explicação: A tabela abaixo mostra os valores das variáveis x, y e res após a execução da função f1 nas três chamadas. Chamada da Função f1(10,2) f1(5,0) f1(8,4) Variável x y res x y res x y res Valor 10 2 21 5 0 6,2 8 4 10 Acerto: 1,0 / 1,0 ''A área de sistemas embarcados representa um mercado imenso, da ordem de alguns bilhões de unidades produzidas anualmente, envolvendo microcontroladores de 8 a 64 bits. Historicamente, o desenvolvimento de software para sistemas embarcado era conduzido por técnicos e engenheiros em eletrônica uma vez que apenas eles eram capazes de compreender as especificidades dos circuitos por eles projetados. Com o aumento da complexidade do software embarcado, passou a haver uma necessidade crescente de aplicação de processos e técnicas de engenharia de software no desenvolvimentode sistemas embarcados.''(STADZISZ, Paulo Cézar; RENAUX, Douglas Paulo Bertrand. Software Embarcado. Curitiba: Universidade Tecnológica Federal do Paraná, (s.d.).) O texto apresentado nos leva a concluir que programar para sistemas embarcados não necessita mais de expertise em eletrônica. As IDEs vieram para tornar o desenvolvimento de sistemas embarcados mais complexo. programar para sistemas embarcados se tornou mais simples do que para computadores de mesa. programar para sistemas embarcados se tornou uma atividade que exige ferramentas mais completas, como IDEs. As IDEs utilizadas em computadores de uso geral podem ser utilizadas agora em sistemas embarcados. Respondido em 12/10/2022 16:36:30 Explicação: Os sistemas embarcados, tornando-se mais complexos, trazem maior exigência para os profissionais que atuam na área. As equipes de desenvolvimento passam a ter necessidade de contar, além da expertise em eletrônica, com conhecimento em ferramentas utilizadas na engenharia de software, e as IDEs específicas para sistemas embarcados facilitam a implementação dessas técnicas, simplificando o processo e aumentando a produtividade. Questão9 a Acerto: 1,0 / 1,0 O IDE (ambiente de desenvolvimento integrado) reúne recursos em um mesmo ambiente para facilitar o desenvolvimento de sistemas embarcados. Qual o mínimo de recursos para um software ser considerado um IDE para desenvolvimento de aplicações embarcadas com microcontroladores? Gerenciador de projeto e montador. Gerenciador de projeto e depurador. Compilador, depurador e editor de texto. Editor de texto e compilador. Editor de texto, gerenciador de projeto e ferramentas de compilação. Respondido em 12/10/2022 16:36:46 Explicação: As ferramentas mais comuns para se programar sistemas embarcados passaram a ser reunidas em um mesmo ambiente nas IDEs. Assim, os programadores não precisam mais sair de um programa e passar para outro, do editor para o compilador ou montador, continuamente. Além dessas ferramentas, o editor de texto e as possíveis ferramentas de compilação, os IDEs precisam ter no mínimo um gerenciador de projeto, em que os arquivos-fonte podem ser acrescentados. Depuradores são encontrados hoje nos melhores IDEs, mas não são imprescindíveis para o desenvolvimento de sistemas mais simples. Questão10 a javascript:abre_colabore('38403','295969864','5777168481');
Compartilhar