Baixe o app para aproveitar ainda mais
Prévia do material em texto
Teste de Conhecimento avalie sua aprendizagem PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS Lupa Calc. EEX0138_202002335491_TEMAS Aluno: RODRIGO GONÇALVES RIBES Matr.: 202002335491 Disc.: PROGRAMAÇÃO APLI 2022.1 - 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. 1. 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. 23124= 4x23+4x32+4x11+4x20 23124= 2x23+3x22+1x21+2x20 23124= 2x103+3x102+1x101+2x100 23124= 2x163+3x162+1x161+2x160 23124= 2x43+3x42+1x41+2x40 Data Resp.: 29/03/2022 22:18:59 Explicação: Uma notação posicional é um sistema numeral no qual cada posição está relacionada à próxima por um multiplicador constante, chamado de base ou raiz desse sistema numeral. O valor de cada posição de dígito é o valor de seu dígito, multiplicado por uma potência da base. A potência é determinada pela posição do dígito. Nesse caso, como a base é 4, esse é o valor elevado à potência em cada posição. Assim, a alternativa A é a correta. 2. 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 menor valor fornecido pelo usuário. Retorna último valor fornecido pelo usuário. Retorna o maior valor fornecido pelo usuário. Retorna o segundo valor fornecido pelo usuário. Retorna o primeiro valor fornecido pelo usuário. Data Resp.: 29/03/2022 22:19:13 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. 3. Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? num_1 _1num _num1 1_num num_ Data Resp.: 29/03/2022 22:19:38 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. 4. 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? 1 byte; intervalo: -127 a 127. 1 byte; intervalo: 1 a 255. 2 bytes; intervalo: -127 a 126. 1 byte; intervalo: -128 a 127. 2 bytes; intervalo: -255 a 0. Data Resp.: 29/03/2022 22:19:52 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. 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: 9, -1 e 1 9, -1 e 24 4, 1 e 24 9, 1 e -1 4, -1 e 1 Data Resp.: 29/03/2022 22:19:57 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. 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("%c", &num); scanf("%lf", &num); scanf("%d", &num); scanf("%p", &num); scanf("%f", &num); Data Resp.: 29/03/2022 22:20:15 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). 7. 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. < math.h > < stdio.h > < ctype.h > < stdlib.h > < time.h > Data Resp.: 29/03/2022 22:20:27 Explicação: a biblioteca < stdlib.h > possui funções de propósito geral como conversão de tipos, alocação e liberação de memória, ordenamento e busca e controle de processos. 8. 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(int a , int 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(a , r) e area = 2*(PI * r * r) + a*(2*PI*r) float calcula_area(float a , float r) e area = (PI * r * r) + (2*PI*r) float calcula_area(float a , float r) e area = 2*(PI * r * r) + a*(2*PI*r) Data Resp.: 29/03/2022 22:20:57 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). 9. Qual componente da CPU é utilizado para traduzir os códigos das instruções do programa em sequências de ações? Sequenciador de códigos. Unidade lógica e aritmética. Decodificador de instruções. Tradutor de instruções. Sequenciador de instruções. Data Resp.: 29/03/2022 22:21:23 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. 10. 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? I ou II. Somente a II. II ou IV. II ou III. II, III ou IV. Data Resp.: 29/03/2022 22:21:44 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