Prévia do material em texto
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 de sistemas embarcados, com relação à linguagem de montagem, podemos citar a portabilidade. PORQUE II. A portabilidade permite, principalmente em sistemas embarcados, 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. A As asserções e II são proposições verdadeiras e a é uma justificativa correta da I. 2 Marcar para revisão 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 resultado de X+Y na base octal? A 116 B 126 3 Marcar para revisão Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? A 1_numprograma em C a seguir chama uma função chamada func(), passando os três valores fornecidos pelo usuário. que a função func() retorna? #include int func(int a, int b. int c); int main(){ A Retorna menor valor fornecido pelo usuário. B Retorna primeiro valor fornecido pelo usuário. C Retorna último valor fornecido pelo usuário. D Retorna segundo valor fornecido pelo usuário. E Retorna maior valor fornecido pelo usuário.5 Marcar para revisão Um sistema embarcado pode ser gerenciado por software embarcado ou não, dependendo do dispositivo central de processamento utilizado no projeto. 1 Microcontrolador 2 Microprocessador 3 FPGA 4 DSP 5 ASIC 6 Raspberry Pi Qual alternativa abaixo corresponde aos dispositivos que podem controlar um sistema embarcado sem software embarcado? A 1-3 B 4-5 C 1-2 D 5-6 E 3-5 6 Marcar para revisão Considere as afirmações abaixo sobre sistemas embarcados. - Todo sistema embarcado com RTOS é de tempo real. - 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? A I, III 7 Marcar para revisão seu grupo de projeto resolveu usar um sistema de numeração de base 4. Qual a notação posicional correta do número 2312 na base 4? A 23124=8 Marcar para revisão 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 consumo. Qual a expressão simplificada? ABC+ABC+ABC A AB+B+C B A+BC C AB+C D B+C E A(B + C) 9 Marcar para revisão Você chegou à expressão lógica (1) abaixo para implementar um circuito lógico de desligamento de uma máquina. Porém, 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? A Idempotente B Associativa C Distributiva e idempotente D De Morgan10 Marcar para revisão Examinando as regras para soma lógica abaixo, vemos que os valores se assemelham à tabela-verdade de uma porta lógica. Que tipo de porta é essa? A B Q 0 0 0 0 1 1 1 0 1 1 1 1 A NOR B NAND C AND D XOR E OR 1 Marcar para revisão ) Assinale abaixo a opção correta que mostra a sintaxe do comando if que verifica se a variável número é divisível por 2 e por 7 (Exemplo: 14 é divisível por dois e por 7). A sintaxe do if é apenas para opção verdadeira, não tem a alternativa else. A if ( ((numero % 2)==0) ((numero % printf("O número é divisível por 2 e por 7"); B if ( ((numero % 2)==0) == ((numero % 7)==0) ) printf("O número é divisível por 2 e por 7"); C if ( ((numero 2)==0)2 Marcar para revisão Com relação às estruturas de repetição (ou laços) na linguagem C, for, while e do-while. Qual opção abaixo é verdadeira? A A condição dentro de um laço while e do-while não precisa ser colocada dentro de parênteses. B Os laços while e for executam sempre, pelo menos uma vez, corpo do laço. C laço do while executa sempre, pelo menos uma vez, corpo do laço. 3 Marcar para revisão Interprete 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 printf("%d",x); } Assinale a opção correta: A 780 B 870 C 8804 Marcar para revisão A respeito da estrutura struct da linguagem C, podemos afirmar que: A estrutura struct da linguagem C permite incluir, em uma única entidade, somente elementos de tipos A diferentes. Normalmente, os elementos da estrutura struct da linguagem C não têm nenhuma relação semântica B com o nome da estrutura. Por exemplo: os elementos associados a uma identidade pessoal (número, nome e data de nascimento). C A definição de uma estrutura (struct) é baseada no tipo de dado chamado vetor (array). Uma estrutura é um conjunto de uma ou mais variáveis agrupadas sob um único nome, de forma a D facilitar a sua referência. 5 Marcar para revisão Analise código abaixo. Int while { printf("n=%d\n",n); } Após a verificação, escolha uma das opções abaixo que tenha a mesma saída que comando while. A for(n=2; n6 Marcar para revisão Dentre os operadores da linguagem C, operador ternário (?) pode substituir a estrutura de condição if-else. Dado a instrução abaixo: numero = 0? numero++ : numero--; Se valor da variável (numero) for -10, qual será resultado do comando? A 10 B 11 C 9 D -11 7 Marcar para revisão Uma variável do tipo básico unsigned char na linguagem C é armazenada em 1(um) byte de memória e intervalo de valores permitido é de 0 a 255. Considerando tipo básico char. Qual das alternativas abaixo é a correta quanto à quantidade de memória armazenada e intervalo de valores usados pelo tipo char? A 2 bytes; intervalo: -255 a 0. B 1 byte; intervalo: -128 a 127. 8 Marcar para revisão Com relação à utilização do comando IF-else e do comando switch-case, podemos afirmar que: Tanto comando if quanto comando switch permitem que teste de condição não esteja limitado a A valores constantes. B A instrução if não permite a utilização de mais de uma condição. C o comando if permite que teste de condição não esteja limitado a valores constantes.9 Marcar para revisão A linguagem C possui várias funções, dentre elas se destaca a função scanf() que tem objetivo de ler uma variável pelo teclado. Considerando que a variável num é do tipo inteiro (int), qual a opção abaixo é verdadeira? A scanf("%f", &num); B scanf("%If", &num); C scanf("%c", &num); D scanf("%d", &num); 10 Marcar para revisão Interprete programa abaixo e marque a opção que corresponde ao que programa resolve. main() { int i; char palavras[4][30]; for(i=0;i=0;i--) } Assinale a opção correta: A programa lê e imprime três palavras. B programa lê e imprime a concatenação de três palavras. C programa lê e imprime quatro palavras. D programa lê quatro palavras e imprime em ordem inversa às palavras.1 Marcar para revisão Analise programa abaixo que calcula a área de um cilindro através da função calcula_area(). Considere que: Área do = PI X Raio X Raio, Comprimento da circunferência = 2 Pl x Raio, Programa: #include #define PI float calcula_area ) { float area = 0; area : return area; } main() { float altura = 0; float raio = 0; float area = 0; area = calcula_area(altura,raio); } Verifique código da função 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. A float r) e = B float calcula_area(float a, float r) e C float calcula_area(float a, float r) e D float calcula_area(float a, float r) e2 Marcar para revisão Analise código abaixo com relação ao escopo das variáveis e resultado do programa após a execução: 1: #include 2: 3: int imprimir(int X, int Y) 4:{ 5: X--; 6: Y++; 7: Y); 8:} 9: 10: main 11: int X,Y; 12: 13: 14: imprimir(X,Y); 15: printf ("Valor Y); 16: } Assinale a resposta correta da saída do programa acima. Valor de X = A Valor de X =3 Marcar para revisão Analise programa abaixo e responda a opção correta: 01: #include 03: int f1 (int X, int y) { 04: int res; 05: if 06: 07: else { 08: res = 1 / X; } 09: while (x > y) { 10: 11: 12: } 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 valor da variável res, na sequência das chamadas da função f1. A 10; 6,2; 10. B 10; 6,2; 21. C 21; 6,2; 10. 4 Marcar para revisão Uma função é composta de duas partes: cabeçalho e corpo da função. Você precisa programar uma função que receba três números reais, calcule a média entre eles e retorne valor da média. Assinale abaixo a opção correta que descreve cabeçalho da função calcula_media: A float calcula_media(int n1, float n2, float nr3). B int calcula_media(float n1, float n2, float nr3). C void calcula_media(float n1, float n2, float nr3). D float calcula_media(int n1, int n2, int nr3). E float calcula_media(float n1, float n2, float nr3).5 Marcar para revisão Interprete código abaixo e assinale a opção correta quanto ao valor retornado pela função recursividade com parâmetro de valor 4. #include int recursividade(int n) { if (n>0) { n = return n; } else return 1; } int main() { recursividade(4); } Assinale a opção correta. A 4 B 128 C 166 Marcar para revisão Interprete código abaixo e assinale a opção correta com relação à saída do programa: #include int func1(int lista[5]) { int r for (int i=0; ir) r=lista[i]; lista[i] = lista[i+1]; return } int func2(int lista[5]) int r = for (int i=0; if (lista[i] lista[i] lista[i+1]; return } main() { int printf ("\n %d } Assinale a resposta correta da saída do programa acima. A 13 101 B 13 13 43 43 D E 7 Marcar para revisão Você está codificando um programa e precisa fazer uma conversão de tipo string para tipo inteiro, tomar uma decisão, e invocar uma determinada função em relação ao valor inteiro. Você sabe que existem na biblioteca padrão, funções de conversão de tipos. Assinale a opção correta, que indica o arquivo cabeçalho que você precisa incluir no programa para resolver este problema. A B C D8 Marcar para revisão Com relação ao conceito de passagem de parâmetros, assinale a opção correta. Após término de seu funcionamento, a função tem que devolver um valor para o programa que a A invocou. número de parâmetros enviados para uma função pode ser diferente do número de parâmetros B existentes no cabeçalho da função, pois a função emprega os parâmetros que ela necessita. o código de uma função só é executado quando esta é invocada em alguma parte do programa a que C está de algum modo ligado. Leia programa abaixo, verifique que a função func3() faz e assinale qual das opções será impressa na saída após a execução. #include typedef struct pessoa { char nome[40]; int idade; float salario; }; void func3(struct pessoa struct pessoa struct pessoa { printf("%s %d f3.salario); } main() { struct pessoa = struct pessoa p2 = {"Alcogelson struct pessoa p3 = {"Paulo ) Assinale a opção correta. A Maria Covidiana 50 10000,00 B Alcogelson Medeiros 60 12500,00 Paulo Lokidown 51 12000,00 D Maria Covidiana 60 12500,00 E Maria Covidiana 51 12500,00Você 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. A B C D 1 Marcar para revisão A arquitetura de um microcontrolador deve ser constituída de pelo menos: A RAM, ROM, portas de E/S e temporizadores. B ROM, portas de E/S e temporizadores. C CPU, RAM, ROM, portas de E/S e temporizadores. 2 Marcar para revisão 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. A As asserções I e II são proposições verdadeiras e a II é uma justificativa correta da I.3 Marcar para revisão IDE (ambiente de desenvolvimento integrado) reúne recursos em um mesmo ambiente para facilitar o desenvolvimento de sistemas embarcados. Qual mínimo de recursos para um software ser considerado um IDE para desenvolvimento de aplicações embarcadas com microcontroladores? A Gerenciador de projeto e montador. B Compilador, depurador e editor de texto. Editor de texto, gerenciador de projeto e ferramentas de compilação. 4 Marcar para revisão 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. ADC. II DAC. III RS232. IV PWM. Qual opção indica o(s) componente(s) que você pode escolher para controlar motor DC? A ou II. B II ou IV. 5 Marcar para revisão "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, desenvolvimento de software para sistemas embarcados 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 desenvolvimento de sistemas embarcados." (STADZISZ, Paulo Cézar; RENAUX, Douglas Paulo Bertrand. Software Embarcado. Curitiba: Universidade Tecnológica Federal do Paraná, (s.d.).) texto apresentado nos leva a concluir que A 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, B como IDEs.6 Marcar para revisão 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ção do microcontrolador. Qual é o home dessa função? A loop() B input() C config() D setup() 7 Marcar para revisão Qual componente da CPU é utilizado para traduzir os códigos das instruções do programa em sequências de ações? A Decodificador de instruções. 8 Marcar para revisão Para os projetistas de sistemas embarcados, qual das opções é uma vantagem em se usar microcontroladores? A A possibilidade de acionamento direto de cargas com alta demanda de corrente. B A facilidade de programação somente com linguagem assembly. C desempenho superior em relação aos microprocessadores. D A integração de dispositivos dentro do chip do microcontrolador.9 Marcar para revisão 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 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 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? A Somente I e II estão corretas. 10 Marcar para revisão 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? A Parar programa pode reduzir tempo de processamento do sistema. B Parar programa pode consumir mais energia. C Parar o programa pode mudar os valores das variáveis na memória RAM. D Parar programa pode interferir no comportamento do sistema.