Baixe o app para aproveitar ainda mais
Prévia do material em texto
22/11/2022 09:22 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/5 Teste de Conhecimento avalie sua aprendizagem 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. 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? PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS Lupa Calc. EEX0138_201802384227_TEMAS Aluno: ANDRÉ GUSTAVO CONTAO DE OLIVEIRA Matr.: 201802384227 Disc.: PROGRAMAÇÃO APLI 2022.2 - F (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 02317BASES PARA PROGRAMAÇÃO DE SISTEMAS EMBARCADOS 1. 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 e a II é 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, mas a II não é uma justificativa correta da I. As asserções I e II são proposições falsas. 2. 156 116 201 207 126 Data Resp.: 22/11/2022 09:16:14 Explicação: javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 22/11/2022 09:22 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/5 Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? 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? 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: 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. 3. num_1 _1num 1_num _num1 num_ Data Resp.: 22/11/2022 09:14:11 Explicação: Um nome de variável só pode ter letras (maiúsculas e minúsculas), dígitos e símbolo sublinhado ''_''. Outra regra é que a primeira letra de uma variável deve ser uma letra ou um sublinhado. Desta forma, somente a opção 1_num não atende às regras, pois começa com número, gerando um erro de compilação. RECURSOS BÁSICOS 4. 2 bytes; intervalo: -127 a 126. 1 byte; intervalo: -127 a 127. 1 byte; intervalo: 1 a 255. 1 byte; intervalo: -128 a 127. 2 bytes; intervalo: -255 a 0. Data Resp.: 22/11/2022 09:16:34 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. 5. 4, -1 e 1 9, -1 e 24 9, -1 e 1 22/11/2022 09:22 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/5 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? 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. Interprete o código abaixo e assinale a opção correta com relação à saída do programa: #include int func1(int lista[5]) { int i, r; 4, 1 e 24 9, 1 e -1 Data Resp.: 22/11/2022 09:19:29 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 6. scanf("%d", &num); scanf("%f", &num); scanf("%lf", &num); scanf("%c", &num); scanf("%p", &num); Data Resp.: 22/11/2022 09:20:10 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). FUNÇÕES 7. < stdio.h > < stdlib.h > < string.h > < math.h > < ctype.h > Data Resp.: 22/11/2022 09:20:29 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. 8. 22/11/2022 09:22 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/5 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. 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? 13 13 13 101 35 100 101 13 43 43 Data Resp.: 22/11/2022 09:20:51 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] 02574LINGUAGEM C NOS SISTEMAS EMBARCADOS 9. Parar o programa pode reduzir o tempo de processamento do sistema. Parar o programa pode alterar os registradores da CPU. Parar o programa pode interferir no comportamento do sistema.Parar o programa pode consumir mais energia. Parar o programa pode mudar os valores das variáveis na memória RAM. Data Resp.: 22/11/2022 09:21:25 Explicação: 22/11/2022 09:22 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/5 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 nome dessa funçã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. 10. setup() input() loop() config() output() Data Resp.: 22/11/2022 09:21:30 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. Não Respondida Não Gravada Gravada Exercício inciado em 22/11/2022 09:13:23.
Compartilhar