Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS Aluno(a): 202108526411 Acertos: 4,0 de 10,0 30/03/2022 1a Questão Acerto: 1,0 / 1,0 Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? num_1 num_ _1num 1_num _num1 Respondido em 30/03/2022 21:44:29 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. 2a Questão Acerto: 0,0 / 1,0 O programa em C a seguir chama uma função chamada func(), passando os três valores fornecidos pelo usuário. O que a função func() retorna? Retorna o primeiro valor fornecido pelo usuário. Retorna último valor fornecido pelo usuário. Retorna o menor valor fornecido pelo usuário. Retorna o segundo valor fornecido pelo usuário. Retorna o maior valor fornecido pelo usuário. Respondido em 01/04/2022 18:38:45 Explicação: A função func() recebe três valores fornecidos pelo usuário e os guarda nas variáveis num1, num2 e num3. Dentro da função, é testado se a primeira variável é maior que segunda em if (num1 > num2). Se for maior, testa em seguida se num1 é maior que num3. Em caso afirmativo, retorna a variável num1 com return num1, que é o maior valor dos três fornecidos. Se o teste if (num1 > num3) falha, a função retorna num3, que nesse caso será o maior dos três números. Assim, em todos os testes condicionais, o retorno é o maior valor dos três. Portanto, a função sempre retorna o maior valor passado pelo usuário. 3a Questão Acerto: 0,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. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 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. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Respondido em 01/04/2022 18:40:17 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. 4a Questão Acerto: 0,0 / 1,0 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? 2 bytes; intervalo: -127 a 126. 1 byte; intervalo: -127 a 127. 1 byte; intervalo: -128 a 127. 2 bytes; intervalo: -255 a 0. 1 byte; intervalo: 1 a 255. Respondido em 01/04/2022 18:57:22 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. 5a Questão Acerto: 1,0 / 1,0 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: 4, 1 e 24 9, -1 e 24 9, 1 e -1 4, -1 e 1 9, -1 e 1 Respondido em 01/04/2022 18:55:49 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 6a Questão Acerto: 1,0 / 1,0 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? scanf("%d", &num); scanf("%p", &num); scanf("%lf", &num); scanf("%c", &num); scanf("%f", &num); Respondido em 01/04/2022 18:56:07 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). 7a Questão Acerto: 0,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; 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(float a , float r) e area = (PI * r * r) + (2*PI*r) 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(float a , float r) e area = (PI * r * r) + a*(2*PI*r) float calcula_area(int a , int r) e area = 2*(PI * r * r) + a*(2*PI*r) Respondido em 01/04/2022 18:54:44 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). 8a Questão Acerto: 0,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: } 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. 21; 6,0; 10. 21; 6,2; 10. 10; 6,2; 10. 10; 6,2; 21. 20; 6,0; 11. Respondido em 01/04/2022 18:54:01 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 9a Questão Acerto: 0,0 / 1,0 Qual componente da CPU é utilizado para traduzir os códigos das instruções do programa em sequências de ações? Decodificador de instruções. Tradutor de instruções. Sequenciador de códigos. Sequenciador de instruções. Unidade lógica e aritmética. Respondido em 01/04/2022 18:48:20 Explicação: As instruções do software de um sistema embarcado são armazenadas na memória de programa. Quando a CPU está executando as instruções, os códigos dessas instruções são buscados na memória e, em seguida, esses códigos precisam ser decodificados. O decodificador de instruções de um processador é um circuito combinacional, cujo objetivo é traduzir um código de instrução para uma sequência de ações que executa o que a instrução indica. 10a Questão Acerto: 1,0 / 1,0 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. I - ADC. II - DAC. III - RS232. IV - PWM. Qual opção indica o(s) componente(s) que você pode escolher para controlar o motor DC? Somente a II. II ou IV. I ou II. II, III ou IV. II ou III. Respondido em 01/04/2022 18:52:34 Explicação: Tanto um conversor digital para analógico (DAC) como um PWM (modulador por largura de pulsos) podem ser usados para controlar a velocidade de um motor DC, pois ambos permitem regular a quantidade de tensão nos terminais de um motor. Além disso, ambos podem ser componentes internos aos microcontroladores. O controle de velocidade por modulação de largura de pulso funciona acionando o motor com uma série de pulsos ''Ligado-Desligado'' e variando o ciclo de trabalho, que é a fração de tempo em que a tensão de saída está ''Ligada'' em comparação com quando está ''Desligada'', mantendo a frequência constante. O DAC é um dispositivo que transforma dados digitais em um sinal analógico, um valor de tensão contínua, o que também pode ser usado para controlar a velocidade do motor.
Compartilhar