Buscar

PROGRAMAÇÃO APLI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aluno: 
	
	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.
	02317BASES PARA PROGRAMAÇÃO DE SISTEMAS EMBARCADOS
	 
		
	
		1.
		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 o consumo. Qual a expressão simplificada?
ABC+A¯BB¯C+AB¯CC¯
	
	
	
	A+BC
	
	
	A(B + C)
	
	
	B+¯CC¯
 
	
	
	AB+B+C
	
	
	AB+C
	Data Resp.: 23/03/2022 09:48:22
		Explicação:
Partindo da expressão original, ABC+A¯BB¯C+AB¯CC¯, deve-se usar as regras a seguir: aplicando a regra ABC + ABC = ABC, reescrevemos a expressão: ABC+ABC+A¯BB¯C+AB¯CC¯. Aplicando a regra Distributiva entre as expressões 1 e 3; 2 e 4, temos: AC(B+¯BB¯)+AB(C+¯CC¯). Usando C + ¯CC¯ = 1 e B +¯BB¯ = 1, temos AC+AB. E por final, fatorando, temos: A(B + C).
	
	
	 
		
	
		2.
		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?
	
	
	
	AND
	
	
	NAND
	
	
	XOR
	
	
	OR
	
	
	NOR
	Data Resp.: 23/03/2022 09:48:29
		Explicação:
A soma lógica é comumente conhecida como adição booleana, pois uma função OR produz o termo somado de duas ou mais variáveis ​​de entrada, ou constantes. Assim, a equação booleana para uma porta OR de 2 entradas é dada como: Q = A + B, ou seja, Q é igual a A OU B.
	
	
	 
		
	
		3.
		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.
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
	
	
	II e III
	
	
	I, III e IV
	
	
	Somente a II
	
	
	II, III e IV
	Data Resp.: 23/03/2022 09:48:38
		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.
	
	
	RECURSOS BÁSICOS
	 
		
	
		4.
		Uma variável chamada vetor pode armazenar até 4 (quatro) valores do tipo inteiro. Foi definida com a seguinte declaração:
int vetor[4];
A figura abaixo representa o armazenamento do vetor na memória do computador.
 
Posição de memória       1000                 1004                1008               1012
Valor                                                                                                                 
Índice do vetor                 vetor ()             vetor(1)           vetor(2)           vetor(3)
Foram executadas as seguintes instruções listadas abaixo: 
1. for (int i = 0; i < 4; i++) vetor[i] = 0;
2. vetor[1] = 10;    vetor[3] = 20;
3. vetor[1] = vetor[3]/vetor[1];
4. vetor[0] = vetor[1] + vetor[2];
Qual das opções abaixo representa a sequência armazenada no vetor (vetor[0], vetor[1], vetor[2], vetor[3]) após a execução das instruções acima:
 
	
	
	
	2  0   0  20
	
	
	2  2   0  10
	
	
	2  2   0  22
	
	
	2  2   0  20
	
	
	0  2   0  20
	Data Resp.: 23/03/2022 09:48:44
		Explicação:
A tabela abaixo apresenta os valores armazenados em cada elemento após a execução dos comandos em cada linha.
	Nr da linha
	vetor[0]
	vetor[1]
	vetor[2]
	vetor[3]
	1
	0
	0
	0
	0
	2
	0
	10
	0
	20
	3
	0
	2
	0
	20
	4
	2
	2
	0
	20
	
	
	 
		
	
		5.
		Interprete o programa abaixo e marque a opção que corresponde ao que o programa resolve.
main()  {
int i;
char palavras[4][30];
for(i=0;i<4;i++)   {
printf("Informe palavra %d: '',i+1);
gets(palavras[i]);
}
for(i=3;i>=0;i--)
  printf("%s\n'',palavras[i]);
}
Assinale a opção correta:
	
	
	
	O programa lê e imprime a concatenação de três palavras.
	
	
	O programa lê quatro palavras e imprime em ordem inversa às palavras.
	
	
	O programa lê e imprime a concatenação de quatro palavras.
	
	
	O programa lê e imprime três palavras.
	
	
	O programa lê e imprime quatro palavras.
	Data Resp.: 23/03/2022 09:48:54
		Explicação:
O programa declara duas variáveis, i e palavra, sendo palavra uma matriz de 4 linhas e 30 colunas. Logo em seguida, a estrutura de repetição for é composta de 2 instruções, a primeira instrução printf imprime na tela a informação: Informe a palavra e em seguida a instrução gets ler a palavra informada e armazena na variável palavras. Após 4 loop na primeira estrutura de repetição for, uma segunda estrutura de repetição for é utilizada para imprimir na tela as 4 palavras armazenadas
	
	
	 
		
	
		6.
		Analise o código abaixo.
Int n = 1;
while (n <= 7)
 {
      printf("n=%d\n",n);
      n = n + 1;     
}
 
Após a verificação, escolha uma das opções abaixo que tenha a mesma saída que o comando while.
	
	
	
	for(n=1; n<=7; n--)  printf("n=%d\n¿¿,n);
	
	
	for(n=1; n<6; n++)  printf("n=%d\n",n);
	
	
	for(n=2; n<=7; n+-)  printf("n=%d\n'',n);
	
	
	for(n=1; n<=6; n++)  printf("n=%d\n",n);
	
	
	for(n=1; n<=7; n++)  printf("n=%d\n",n);
	Data Resp.: 23/03/2022 09:49:02
		Explicação:
A sintaxe do comando é for(inicialização; condição; incremento) comando(s);
Para gerar a sequência 1 2 3 4 5 6 7, a inicialização começa n=1. O valor é incrementado de 1, por isso n=n+1. E a repetição termina quando n<=7, isto é, quando chegou ao valor n=7.
	
	
	FUNÇÕES
	 
		
	
		7.
		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 = 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 = (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(int a , int r)     e     area = 2*(PI * r * r) + a*(2*PI*r)
	Data Resp.: 23/03/2022 09:49:11
		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).
	
	
	 
		
	
		8.
		Interprete o código abaixo e assinale a opção correta quantoao valor retornado pela função recursividade com 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.
	
	
	
	32
	
	
	4
	
	
	16
	
	
	64
	
	
	128
	Data Resp.: 23/03/2022 09:49:16
		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.
	
	
	02574LINGUAGEM C NOS SISTEMAS EMBARCADOS
	 
		
	
		9.
		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?
	
	
	
	Parar o programa pode reduzir o tempo de processamento do sistema.
	
	
	Parar o programa pode alterar os registradores da CPU.
	
	
	Parar o programa pode mudar os valores das variáveis na memória RAM.
	
	
	Parar o programa pode consumir mais energia.
	
	
	Parar o programa pode interferir no comportamento do sistema.
	Data Resp.: 23/03/2022 09:49:25
		Explicaçã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.
		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.
	
	
	
	As asserções I e II são proposições falsas.
	
	
	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 verdadeiras e a II é uma justificativa correta da I.
	
	
	A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
	Data Resp.: 23/03/2022 09:49:31
		Explicação:
Verificar sinais com analisadores lógicos é um método de depuração que não lê registros que podem causar um efeito colateral no dispositivo, atrasando o processamento, como ocorre, por exemplo, com a depuração por impressão de dados por porta serial. O impacto do depurador no dispositivo é bem definido. Existe o controle sobre o que acontece com o depurador e como ele afeta o dispositivo de destino. Assim, como não afeta o determinismo do dispositivo, o analisador lógico pode ser usado na depuração de rastreamento em tempo real.

Outros materiais