Logo Passei Direto
Buscar

Exercicios 2025 - Programacao aplicada a sistemas eletricos

Ferramentas de estudo

Questões resolvidas

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
NOR
XOR
OR
NAND

Você chegou à expressão lógica (1) abaixo para implementar um circuito lógico de desligamento de uma máquina.
Porém, o 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?
Distributiva e idempotente
Associativa
De Morgan
Idempotente
Comutativa e distributiva

Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? _1num num_ _num1 1_num num_1

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 o segundo valor fornecido pelo usuário.
 Retorna o maior valor fornecido pelo usuário.
 Retorna o menor valor fornecido pelo usuário.
 Retorna último valor fornecido pelo usuário.

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

Dentre os operadores da linguagem C, o operador ternário (?) pode substituir a estrutura de condição if¿else. Dado a instrução abaixo: numero >= 0 ? numero++ : numero--; Se o valor da variável (numero) for -10, qual será o resultado do comando?
-11
10
-10
11
9

Um programa gera a sequência: 1 3 5 7 9. Qual das opções abaixo representa o código que gera a sequência acima? Obs: a variável n é do tipo inteira.
for(n=2; n<9; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+1) printf("%d '', n);
for(n=1; n<=10; n=n+1) printf("%d '', n);
for(n=1; n<=8; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+2) printf("%d '', n);

Segundo as regras de definição de variáveis, indique qual das variáveis abaixo tem nome correto.


 float 1b2c3;
 int 2idade;
 int num_cliente;
 double break;
 char 13Letra.

Com relação ao conceito de passagem de parâmetros, assinale a opção correta.


 Sempre que uma função é invocada (ou chamada), a função main() continua a executar suas instruções.
 O número de parâmetros enviados para uma função pode ser diferente do número de parâmetros existentes no cabeçalho da função, pois a função emprega os parâmetros que ela necessita.
 Após o término de seu funcionamento, a função tem que devolver um valor para o programa que a invocou.
 O código de uma função só é executado quando esta é invocada em alguma parte do programa a que está de algum modo ligado.
 Um programa em C não precisa da função main() escrita no seu código, quando existem outras funções presentes no programa.

Uma função é composta de duas partes: o cabeçalho e o 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 o valor da média. Assinale abaixo a opção correta que descreve o cabeçalho da função calcula_media:
float calcula_media(int n1, float n2, float nr3).
float calcula_media(float n1, float n2, float nr3).
int calcula_media(float n1, float n2, float nr3).
void calcula_media(float n1, float n2, float nr3).
float calcula_media(int n1, int n2, int nr3).

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

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
NOR
XOR
OR
NAND

Você chegou à expressão lógica (1) abaixo para implementar um circuito lógico de desligamento de uma máquina.
Porém, o 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?
Distributiva e idempotente
Associativa
De Morgan
Idempotente
Comutativa e distributiva

Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? _1num num_ _num1 1_num num_1

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 o segundo valor fornecido pelo usuário.
 Retorna o maior valor fornecido pelo usuário.
 Retorna o menor valor fornecido pelo usuário.
 Retorna último valor fornecido pelo usuário.

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

Dentre os operadores da linguagem C, o operador ternário (?) pode substituir a estrutura de condição if¿else. Dado a instrução abaixo: numero >= 0 ? numero++ : numero--; Se o valor da variável (numero) for -10, qual será o resultado do comando?
-11
10
-10
11
9

Um programa gera a sequência: 1 3 5 7 9. Qual das opções abaixo representa o código que gera a sequência acima? Obs: a variável n é do tipo inteira.
for(n=2; n<9; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+1) printf("%d '', n);
for(n=1; n<=10; n=n+1) printf("%d '', n);
for(n=1; n<=8; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+2) printf("%d '', n);

Segundo as regras de definição de variáveis, indique qual das variáveis abaixo tem nome correto.


 float 1b2c3;
 int 2idade;
 int num_cliente;
 double break;
 char 13Letra.

Com relação ao conceito de passagem de parâmetros, assinale a opção correta.


 Sempre que uma função é invocada (ou chamada), a função main() continua a executar suas instruções.
 O número de parâmetros enviados para uma função pode ser diferente do número de parâmetros existentes no cabeçalho da função, pois a função emprega os parâmetros que ela necessita.
 Após o término de seu funcionamento, a função tem que devolver um valor para o programa que a invocou.
 O código de uma função só é executado quando esta é invocada em alguma parte do programa a que está de algum modo ligado.
 Um programa em C não precisa da função main() escrita no seu código, quando existem outras funções presentes no programa.

Uma função é composta de duas partes: o cabeçalho e o 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 o valor da média. Assinale abaixo a opção correta que descreve o cabeçalho da função calcula_media:
float calcula_media(int n1, float n2, float nr3).
float calcula_media(float n1, float n2, float nr3).
int calcula_media(float n1, float n2, float nr3).
void calcula_media(float n1, float n2, float nr3).
float calcula_media(int n1, int n2, int nr3).

Prévia do material em texto

Você acertou 10 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 Marcar para revisão
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?
2312 = 2x4 +3x4 +1x4 +2x44
3 2 1 0
2312 = 4x2 +4x3 +4x1 +4x24
3 2 1 0
2312 = 2x2 +3x2 +1x2 +2x24
3 2 1 0
2312 = 2x16 +3x16 +1x16 +2x164
3 2 1 0
2312 = 2x10 +3x10 +1x10 +2x104
3 2 1 0
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Em um sistema de numeração posicional, cada posição de um número é
associada a uma potência da base do sistema. Neste caso, a base é 4.
Portanto, o valor de cada posição do número 2312 na base 4 é o valor do
dígito naquela posição multiplicado por 4 elevado à potência
correspondente à posição do dígito. Começando da direita para a
esquerda, as potências são 0, 1, 2 e 3, respectivamente. Assim, a notação
posicional correta do número 2312 na base 4 é dada pela alternativa A:
2x4 +3x4 +1x4 +2x4 .3 2 1 0
Questão 1 de 10
Corretas (10)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Bases Para Programação De Sistemas… Sair
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 1/9
A
B
C
D
E
A
B
2 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?
NOR
NAND
AND
XOR
OR
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
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 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, o 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?
Idempotente
Associativa
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 2/9
C
D
E
A
B
C
D
E
Distributiva e idempotente
De Morgan
Comutativa e distributiva
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Teoremas de De Morgan são basicamente dois conjuntos de regras ou leis
desenvolvidas a partir das expressões booleanas para AND, OR e NOT
usando duas variáveis de entrada, A e B. Essas duas regras ou teoremas
permitem que as variáveis de entrada sejam negadas e convertidas de uma
forma de função booleana em uma forma oposta. O segundo teorema,
usado neste caso, afirma que duas (ou mais) variáveis NAND juntas são
iguais aos dois termos invertidos (complemento) em uma operação lógica
OR, o que nos leva à expressão:   = + . A lei idempotente é aplicada
quando é realizada uma operação AND ou OR consigo mesma. A
associativa trabalha com 3 variáveis. Já na comutativa, não importa em
que ordem usamos as variáveis.
¯AB̄ ¯A B̄
4 Marcar para revisão
Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes
de variável abaixo está errado?
1_num
_num1
num_1
num_
_1num
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 3/9
A
B
C
D
E
Gabarito Comentado
Na linguagem de programação C, os nomes de variáveis devem seguir
certas regras. Eles podem conter letras (maiúsculas e minúsculas), dígitos
e o símbolo sublinhado ('_'). No entanto, é importante notar que a primeira
letra de uma variável deve ser uma letra ou um sublinhado. Portanto, a
opção '1_num' não está de acordo com essas regras, pois começa com um
número. Isso resultaria em um erro de compilação. Portanto, a alternativa A
é a resposta correta.
5 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 o
resultado de X + Y na base octal?
116
126
201
156
207
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Para resolver essa questão, é necessário converter o valor Y, que está na
base hexadecimal, para a base decimal. O valor Y = 34 na base
hexadecimal é igual a 52 na base decimal, pois 3x16 + 4x16 = 52. Agora,
somamos X e Y, que estão na base decimal, resultando em 86. Para
converter o resultado da base decimal para a base octal, dividimos 86 por
8, obtendo um quociente de 10 e um resto de 6. O valor 6 será o dígito
menos significativo na representação em octal. Em seguida, dividimos o
quociente (10) novamente por 8, obtendo um novo quociente de 1 e um
resto de 2. O número 2 será o segundo dígito a ser coletado para formar o
número em octal. Por fim, o quociente 1, por ser menor que 8, fornecerá o
dígito mais significativo do número em octal. Portanto, o resultado de X + Y
na base octal é 126.
1 0
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 4/9
A
B
C
D
E
6 Marcar para revisão
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 o primeiro valor fornecido pelo usuário.
Retorna último valor fornecido pelo usuário.
Retorna o segundo valor fornecido pelo usuário.
Retorna o maior valor fornecido pelo usuário.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
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
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 5/9
A
B
C
D
E
retorno é o maior valor dos três. Portanto, a função sempre retorna o maior
valor passado pelo usuário.
7 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.
Qual alternativa abaixo corresponde aos dispositivos que podem controlar um
sistema embarcado sem software embarcado?
1-3
4-5
1-2
5-6
3-5
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Essencialmente, um FPGA é um circuito de hardware que um usuário pode
programar para realizar uma ou mais operações lógicas. Os FPGAs são
circuitos integrados formados por conjuntos de circuitos em forma de array
ou matrizes. Esses circuitos, ou matrizes, são grupos de portas lógicas
programáveis, memória ou outroselementos. Assim, o projetista pode
descrever seu hardware de controle, que não terá um software embarcado
ou firmware. Os ASICs seguem a mesma abordagem de criação de um
hardware de controle específico. Porém, eles são projetados e fabricados
sem possibilidade de serem reprogramados, como os FPGAs. Assim,
funcionam da mesma forma durante toda a vida útil.
8 Marcar para revisão
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 6/9
A
B
C
D
E
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
I, III e IV
II e III
II, III e IV
Somente a II
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Um sistema de tempo real é aquele que precisa responder a um evento ou
solicitação dentro de um prazo estritamente definido. Esses sistemas são
previsíveis e, portanto, determinísticos. Quando um sistema opera em um
sistema operacional, ele não é considerado de tempo real, com exceção
dos sistemas operacionais de tempo real, conhecidos como RTOS.
Sistemas embarcados que não possuem um sistema operacional, como os
sistemas bare metal (microcontroladores) ou os baseados em dispositivos
FPGA, são considerados de tempo real. A afirmação IV é incorreta, pois o
Linux não é um sistema de tempo real. Portanto, as afirmações corretas
são I, II e III, o que corresponde à alternativa A.
9 Marcar para revisão
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, 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.
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 7/9
A
B
C
D
E
A
B
C
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 verdadeiras, mas a II não é uma
justificativa correta da I.
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 falsas.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Os programas escritos em linguagem de montagem são específicos para
um determinado processador, que possui uma arquitetura diferente de
outros processadores. Isso significa que a linguagem de montagem não
oferece portabilidade entre os sistemas. Para superar essa limitação,
surgiram várias linguagens de alto nível, incluindo a linguagem C. Entre
essas linguagens, a linguagem C ganhou ampla aceitação e continua
sendo a preferida para o desenvolvimento de sistemas embarcados. A
portabilidade é uma característica que permite que um programa seja
utilizado em um sistema operacional ou arquitetura diferente daquele em
que foi criado, sem a necessidade de grandes modificações. Portanto, as
asserções I e II são verdadeiras e a II justifica corretamente a I.
10 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 o
consumo. Qual a expressão simplificada?
ABC+A C+ABB̄ C̄
AB+B+C
A+BC
AB+C
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 8/9
D
E
B+C̄
A(B + C)
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Iniciamos com a expressão original, ABC+A C+AB . A primeira regra que
aplicamos é ABC + ABC = ABC, o que nos permite reescrever a expressão
como: ABC+ABC+A C+AB . Em seguida, aplicamos a regra Distributiva
entre as expressões 1 e 3; 2 e 4, resultando em: AC(B+ )+AB(C+ ).
Utilizando a regra que afirma que C + = 1 e B + = 1, simplificamos a
expressão para AC+AB. Por fim, fatoramos a expressão, chegando à
resposta final: A(B + C). Portanto, a expressão simplificada que utiliza
menos portas lógicas é A(B + C).
B̄ C̄
B̄ C̄
B̄ C̄
C̄ B̄
11/12/25, 10:32 AM estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4bff248bbce1812bcda7/gabarito/ 9/9
Você acertou 10 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 Marcar para revisão
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 1
9, -1 e 1
4, 1 e 24
9, 1 e -1
9, -1 e 24
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Para resolver as expressões, devemos seguir a ordem de precedência dos
operadores matemáticos. Vamos calcular cada expressão:
Exp1 = 24 - 3 * 5. Primeiro, realizamos a multiplicação, resultando em 15.
Depois, subtraímos 15 de 24, obtendo 9.
Exp2 = (4 - 2 * 6) / 4 + 1. Dentro do parênteses, primeiro realizamos a
multiplicação, resultando em 12. Subtraímos 12 de 4, obtendo -8. Depois,
dividimos -8 por 4, resultando em -2. Por fim, somamos -2 com 1, obtendo
-1.
Questão 1 de 10
Corretas (10)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Linguagem C: Recursos Básicos Sair
11/12/25, 10:35 AM estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/ 1/9
A
B
C
D
E
Exp3 = 6 / ((2 + 11) % 3) * 4. Dentro do parênteses mais interno, somamos
2 e 11, resultando em 13. Depois, calculamos o módulo de 13 por 3,
resultando em 1. Dividimos 6 por 1, obtendo 6. Por fim, multiplicamos 6 por
4, resultando em 24.
Portanto, os resultados das expressões Exp1, Exp2 e Exp3 são,
respectivamente, 9, -1 e 24.
2 Marcar para revisão
Com relação à utilização do comando IF-else e do comando switch-case,
podemos afirmar que:
Tanto o comando if quanto o comando switch permitem que o teste de
condição não esteja limitado a valores constantes.
A instrução if não permite a utilização de mais de uma condição.
O comando if permite que o teste de condição não esteja limitado a
valores constantes.
No switch, quando o valor da expressão não for igual a nenhuma das
opções apresentadas pelo case, então é executado o comando break.
A instrução switch não é adequada para substituir comandos if
consecutivos e encadeados.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A alternativa correta é a letra C. O comando if, de fato, permite que o teste
de condição não esteja limitado a valores constantes. Isso significa que, ao
contrário do comando switch, que apenas compara a expressão com
valores constantes, o comando if pode avaliar expressões mais complexas
e variáveis. Por exemplo, em uma condição com valor constante, teríamos:
if (letra =='A'). No entanto, o comando if permite condições mais
complexas, como: if (A >= B), que é uma condição com expressão
relacional. Portanto, o comando if oferece maior flexibilidade na avaliação
de condições.
3 Marcar para revisão
11/12/25, 10:35 AM estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/ 2/9
A
B
C
D
E
A
B
C
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("%f", &num);
scanf("%lf", &num);
scanf("%c", &num);
scanf("%d", &num);
scanf("%p", &num);
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Na linguagem de programação C, a função scanf() é utilizada para ler uma
variável pelo teclado. Cada tipo de variável requer um especificador de
formato específico. No caso de uma variável do tipo inteiro (int), como é o
caso da variável 'num' mencionada no enunciado, o especificador de
formato correto é "%d". As outras alternativas apresentam especificadores
de formato que não são adequados para variáveis do tipo int. "%f" é
utilizado para variáveis do tipo float, "%lf" para long float, "%c" para char
e "%p" para ponteiros. Portanto, a alternativa correta é a D, que apresenta
o uso correto da função scanf() para a variável 'num'.
4 Marcar para revisão
Dentre os operadores da linguagem C, o operador ternário (?) pode substituir a
estrutura de condição if-else. Dado a instrução abaixo:
numero >= 0 ? numero++ : numero--;
Se o valor da variável (numero) for -10, qual será o resultado do comando?
10
11
9
11/12/25, 10:35 AM estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/ 3/9
D
E
A
B
C
-11
-10
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A instrução em questão é um exemplo de operador ternário na linguagem
C. Este operador funciona como uma forma compacta de uma estrutura de
condição if-else. A expressão antes do sinal de interrogação (?) é a
condição a ser verificada. Se essa condição for verdadeira, a expressão
antes dos dois pontos (:) é executada. Caso contrário, a expressão após os
dois pontos é executada.
No caso específico da instrução dada, a condição é 'numero >= 0'. Se essa
condição for verdadeira, 'numero++' é executado, o que significa que o
valor da variável 'numero' é incrementado em uma unidade. Se a condição
for falsa, 'numero--' é executado, o que significa que o valor da variável
'numero' é decrementado em uma unidade.
Como o valor da variável 'numero' é -10, a condição 'numero >= 0' é falsa.
Portanto, 'numero--' é executado, e o valor da variável 'numero' é
decrementado em uma unidade, resultando em -11. Portanto, a resposta
correta é a alternativa D.
5 Marcar para revisão
Analise o código abaixo.
Int n = 1;
while (npor 7). A sintaxe do if é apenas para opção verdadeira, não tem a
alternativa else.
if ( ((numero % 2)==0) || ((numero % 7)==0) ) printf("O número é
divisível por 2 e por 7");
if ( ((numero % 2)==0) == ((numero % 7)==0) ) printf("O número é
divisível por 2 e por 7");
if ( ((numero % 2)==0) = ((numero % 7)==0) ) printf("O número é
divisível por 2 e por 7");
if ( ((numero % 2) ==0) && (numero % 7)==0) ) printf("O número é
divisível por 2 e por 7");
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A alternativa correta é a letra E. A questão pede para verificar se um
número é divisível por 2 e por 7. Para isso, é necessário que o número seja
divisível por ambos ao mesmo tempo. Na programação, isso é
representado pelo operador lógico E (&&). Portanto, a expressão correta é
((numero % 2) ==0) && (numero % 7)==0). O operador % retorna o resto
da divisão do número por 2 e por 7, respectivamente. Se ambos os restos
forem zero, significa que o número é divisível por 2 e por 7. As outras
alternativas utilizam operadores aritméticos (>= e professor);.
printf("%s - %s", disciplina.curso, banco_dados.professor);.
printf("%s - %s", banco_dados.curso, banco_dados.professor);.
printf("%s - %s", disciplina.curso, disciplina.professor);.
printf("%s - %s", banco_dados->curso, banco_dados->professor);.
11/12/25, 10:35 AM estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/ 8/9
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Para acessar os campos de uma variável do tipo struct em C, utilizamos a
sintaxe nome_da_variável.nome_do_campo. Nesse caso, a variável é
"banco_dados" e os campos são "curso" e "professor". Portanto, para
acessar esses campos e imprimi-los, devemos usar "banco_dados.curso"
e "banco_dados.professor". O operador "->" é usado quando temos um
ponteiro para a struct, o que não é o caso aqui. Portanto, a alternativa
correta é a C: printf("%s - %s", banco_dados.curso,
banco_dados.professor);.
11/12/25, 10:35 AM estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690a8eebd897804ac18bf366/gabarito/ 9/9
Você acertou 10 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 Marcar para revisão
Com relação ao conceito de passagem de parâmetros, assinale a opção
correta.
Após o término de seu funcionamento, a função tem que devolver um
valor para o programa que a invocou.
O número de parâmetros enviados para uma função pode ser
diferente do número de parâmetros 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 está de algum modo ligado.
Sempre que uma função é invocada (ou chamada), a função main()
continua a executar suas instruções.
Um programa em C não precisa da função main() escrita no seu
código, quando existem outras funções presentes no programa.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A alternativa correta é a letra C. No contexto da programação, uma função
só é executada quando é chamada ou invocada em alguma parte do
programa. Isso significa que o código contido na função permanece inativo
até que a função seja explicitamente chamada. Portanto, a afirmação "O
código de uma função só é executado quando esta é invocada em alguma
parte do programa a que está de algum modo ligado" está correta e condiz
com o conceito de passagem de parâmetros em programação.
Questão 1 de 10
Corretas (10)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Linguagem C: Funções Sair
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 1/11
A
B
C
D
E
2 Marcar para revisão
Interprete o código abaixo e assinale a opção correta quanto ao 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.
4
128
16
64
32
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A função recursividade calcula o valor de 2 , sendo n o expoente. Assim,
como o parâmetro recebido de função é 4, o valor retornado é 2 = 16.
n
4
3 Marcar para revisão
Analise o 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,
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 2/11
A
B
C
D
E
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(a , 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(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)
float calcula_area(int a , int r)     e     area = 2*(PI * r * r) + a*(2*PI*r)
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A função calcula_area necessita de dois parâmetros do tipo float, que são
números reais. Estes parâmetros são a altura, representada pela variável a,
e o raio, representado pela variável r. Portanto, os parâmetros devem ser
definidos como (float a , float r). A área total do cilindro é calculada pela
soma da área da base superior (PI * r * r), da área da base inferior (PI * r *
r) e da área da superfície lateral a*(2*PI*r). Assim, a expressão que
representa a área total é area = 2*(PI * r * r) + a*(2*PI*r).
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 3/11
A
B
C
D
E
4 Marcar para revisão
Analise o programa abaixo e responda a opção correta:
01: #include
02:
03: int f1 (intx, 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.
10;   6,2;  10.
10;   6,2;  21.
21;   6,2;  10.   
21;   6,0;  10.
20;   6,0;  11.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A função f1 é chamada três vezes no programa. A cada chamada, os
valores de x e y são passados como argumentos e a variável res é
calculada de acordo com as condições estabelecidas na função. A tabela
abaixo mostra os valores de x, y e res após cada chamada da função.
Chamada
da
f1(10,2) f1(5,0) f1(8,4)
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 4/11
Função
Variável x y res x y res x y res
Valor 10 2 21 5 0 6,2 8 4 10
Portanto, a sequência correta dos valores da variável res após as
chamadas da função f1 é 21; 6,2; 10, correspondendo à alternativa C.
5 Marcar para revisão
Verifique o código do programa abaixo, observando o escopo de visibilidade
das variáveis:
1:  #include
2:
3:  int A = 200;   //  variavel global
4:  int B = 444;   //  variavel global
5:
6:  void escopo1() {
7:   int A;
8:   A = -200;
9:   printf("Valor da variavel local   A dentro da função escopo1: %d\n", A);
10: printf("Valor da variavel global B dentro da função escopo1: %d\n", B);
11: }
12:
13: main() {
14:
15: printf("Valor da variavel global A dentro do main(): %d\n", A);
16: printf("Valor da variavel global B dentro de main(): %d\n", B);
17: int A = 10;
18: printf("Valor da variavel local  A dentro do main(): %d\n", A);
19: A = 20;
20: escopo1();
21: printf("Valor da variavel local  A dentro do main(): %d\n", A);
22: }
Assinale a opção correta que será impressa ao longo da execução do
programa.
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 5/11
A
B
C
D
E
Valor da variavel global A dentro do main(): 200
Valor da variavel global B dentro de main(): 444
Valor da variavel local   A dentro do main(): 10
Valor da variavel local   A dentro da função escopo1: -200
Valor da variavel global B dentro da função escopo1: 444
Valor da variavel local   A dentro do main(): 10
Valor da variavel global A dentro do main(): 200
Valor da variavel global B dentro de main(): 444
Valor da variavel local   A dentro do main(): 10
Valor da variavel local   A dentro da função escopo1: -200
 Valor da variavel global B dentro da função escopo1: 444
Valor da variavel local   A dentro do main(): 20
Valor da variavel global A dentro do main(): 200
Valor da variavel global B dentro de main(): 444
Valor da variavel local   A dentro do main(): 10
Valor da variavel local   A dentro do main(): 20
Valor da variavel local   A dentro da função escopo1: -200
Valor da variavel global B dentro da função escopo1: 444
Valor da variavel global B dentro de main(): 444
Valor da variavel global A dentro do main(): 200
Valor da variavel local   A dentro do main(): 10
Valor da variavel local   A dentro da função escopo1: -200
Valor da variavel global B dentro da função escopo1: 444
Valor da variavel local   A dentro do main(): 20
Valor da variavel global A dentro do main(): 200
Valor da variavel global B dentro de main(): 444
Valor da variavel local   A dentro do main(): 10
Valor da variavel local   A dentro da função escopo1: 20
Valor da variavel global B dentro da função escopo1: 444
Valor da variavel local   A dentro do main(): 10
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
O resultado do programa na ordem correta (identificado por linha) de
execução dos comandos é a seguinte:
Linha 15:   Valor da variavel global A dentro do main(): 200
Linha 16:   Valor da variavel global B dentro de main(): 444
Linha 18:   Valor da variavel local   A dentro do main(): 10
Linha 9:     Valor da variavel local   A dentro da função escopo1: -200
Linha 10:   Valor da variavel global B dentro da função escopo1: 444
Linha 21:   Valor da variavel local   A dentro do main(): 20
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 6/11
A
B
C
D
E
6 Marcar para revisão
Uma função é composta de duas partes: o cabeçalho e o 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 o valor da média. Assinale abaixo a opção correta
que descreve o cabeçalho da função calcula_media:
float calcula_media(int n1, float n2, float nr3).
int calcula_media(float n1, float n2, float nr3).
void calcula_media(float n1, float n2, float nr3).
float calcula_media(int n1, int n2, int nr3).
float calcula_media(float n1, float n2, float nr3).
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Para definir o cabeçalho da função calcula_media(), é necessário seguir
alguns passos: (1) Definir o tipo da função: como a função precisa retornar
um número real, o tipo da função deve ser float; (2) Definir o nome da
função, que neste caso é calcula_media; (3) Definir o tipo dos três
parâmetros (n1, n2 e nr3) que a função vai receber, que neste caso são
todos do tipo float. Portanto, o cabeçalho da função corretamente definido
é: float calcula_media(float n1, float n2, float nr3).
7 Marcar para revisão
Leia o programa abaixo, verifique o 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 f1, struct pessoa f2, struct pessoa f3)
 {
   printf("%s %d %.2f\n",f1.nome, f2.idade, f3.salario);
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 7/11
A
B
C
D
E
 }
 main()
 {
   struct pessoa p1 = {"Maria Covidiana",50,10000.00};
   struct pessoa p2 = {"Alcogelson Medeiros",51,12000.00};
   struct pessoa p3 = {"Paulo Lokidown",60,12500.00};
   func3(p1,p2,p3);    }
Assinale a opção correta.
Maria Covidiana 50  10000,00
Alcogelson Medeiros 60  12500,00
Paulo Lokidown  51  12000,00
Maria Covidiana 60  12500,00
Maria Covidiana 51  12500,00
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A função func3() recebe três estruturas como parâmetros. Cada estrutura
representa uma pessoa com nome, idade e salário. A função imprime o
nome da primeira estrutura (f1), a idade da segunda estrutura (f2) e o
salário da terceira estrutura (f3). No caso, as estruturas passadas são p1,
p2 e p3, respectivamente. Portanto, a saída será "Maria Covidiana", que é
o nome em p1, "51", que é a idade em p2, e "12500,00", que é o salário em
p3. Assim, a saída correta é "Maria Covidiana 51 12500,00".
8 Marcar para revisão
Analise o código abaixo com relação ao escopo das variáveis e o resultado do
programa após a execução:
1: #include
2:
3: int imprimir(int X, int Y)
4:{
5: X--;
6: Y++;
7: printf("Valor de X = %d, Y = %d\n", X, Y);
8:}
9:
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 8/11
A
B
C
D
E
10: main () {
11: intX,Y;
12: X = 100;
13: Y = X - 40;
14: imprimir(X,Y);
15: printf ("Valor de X = %d, Y = %d\n", X, Y);
16: }
Assinale a resposta correta da saída do programa acima.
Valor de X = 100, Y = 60
Valor de X = 100, Y = 60
Valor de X = 99, Y = 61
Valor de X = 100, Y = 60
Valor de X = 100, Y = 60
Valor de X = 99, Y = 61
Valor de X = 99, Y = 60
Valor de X = 100, Y = 61
Valor de X = 100, Y = 60
Valor de X = 60, Y = 61
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Na linha 14, a função imprimir(X,Y) é chamada, recebendo como
parâmetros X=100 e Y=60. Após a execução dos comandos nas linhas 5 e
6, X = 99 e Y = 61. No entanto, essas são variáveis locais na função
imprimir, ou seja, suas alterações não afetam os valores de X e Y fora da
função. Portanto, quando o comando "printf ("Valor de X = %d, Y = %d\n",
X, Y);" é executado na linha 15, ele imprime o resultado "Valor de X = 100,
Y = 60", que são os valores originais de X e Y na função main. Assim, a
saída correta do programa é "Valor de X = 100, Y = 60" duas vezes, como
indicado na alternativa A.
9 Marcar para revisão
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.
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 9/11
A
B
C
D
E
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
O arquivo é a escolha correta para resolver as duas tarefas
propostas. Este arquivo de cabeçalho define funções de propósito geral,
que incluem a conversão de tipos e a geração de números aleatórios. Além
disso, ele também oferece funções para alocação e liberação de memória,
ordenamento e busca, e controle de processos. Portanto, para converter
uma variável do tipo string em inteiro e gerar um número aleatório, as
funções contidas no arquivo são as mais adequadas.
10 Marcar para revisão
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;
   r = lista[0];
for (int i=0; ir) r=lista[i];
  lista[i] = lista[i+1];
return r;
}
int func2(int lista[5])  {
   int r;
   r = lista[0];
for (int i=0; ir)
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]
11/12/25, 10:37 AM estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4e8bd897804ac1a99832/gabarito/ 11/11
Você acertou 10 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 Marcar para revisão
Some professional integrated development environments (IDEs) offer a
simulator option, which allows you to run and evaluate your program without
any target hardware in the IDE. These simulators provide an environment with
abundant interrupt resources and advanced functions, such as virtual
interrupts. These simulators work as a ________________.
compiler.
assembler.
interpreter.
editor.
debugger.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Considering that a good simulator for microcontrollers allows analyzing
data, simulating interrupts and, ultimately, correcting errors in embedded
software, it can be considered a source-level debugger (allows the
program to be stopped) for embedded systems. A simulator allows you to
debug your software, as well as improve your understanding of the
microcontroller and the programming language used.
Questão 1 de 10
Corretas (10)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Linguagem C Nos Sistemas Embarcados Sair
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 1/9
A
B
C
D
E
2 Marcar para revisão
O IDE (ambiente de desenvolvimento integrado) reúne recursos em um mesmo
ambiente para facilitar o desenvolvimento de sistemas embarcados. Qual o
mínimo de recursos para um software ser considerado um IDE para
desenvolvimento de aplicações embarcadas com microcontroladores?
Gerenciador de projeto e montador.
Compilador, depurador e editor de texto.
Editor de texto, gerenciador de projeto e ferramentas de compilação.
Editor de texto e compilador.
Gerenciador de projeto e depurador.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Para que um software seja considerado um Ambiente de Desenvolvimento
Integrado (IDE) para o desenvolvimento de aplicações embarcadas com
microcontroladores, ele precisa ter, no mínimo, um editor de texto, um
gerenciador de projeto e ferramentas de compilação. O editor de texto é
utilizado para escrever o código-fonte do programa. O gerenciador de
projeto é responsável por organizar e gerenciar os arquivos-fonte do
projeto. As ferramentas de compilação são usadas para transformar o
código-fonte escrito pelo programador em um programa executável.
Embora depuradores sejam comumente encontrados nos melhores IDEs,
eles não são essenciais para o desenvolvimento de sistemas mais simples,
portanto, não são um requisito mínimo para um software ser considerado
um IDE.
3 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 nome dessa
função?
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 2/9
A
B
C
D
E
A
B
C
loop()
input()
config()
setup()
output()
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A função correta é a setup(). Esta função é chamada uma única vez
quando o programa é iniciado. Sua principal função é inicializar os modos
dos pinos, configurar a comunicação serial e realizar outras configurações
necessárias para o projeto. É importante ressaltar que a função setup()
deve ser incluída em um programa para Arduino, mesmo que não haja
instruções a serem executadas. Isso ocorre porque a função setup() é
fundamental para a inicialização e configuração adequada do
microcontrolador.
4 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 simultaneamenteem 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 verdadeiras e a II é uma
justificativa correta da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição
falsa.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 3/9
D
E
A
B
C
D
E
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 falsas.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A asserção I é verdadeira, pois um analisador lógico é um instrumento que
permite capturar, exibir e medir vários sinais eletrônicos simultaneamente
em um circuito digital, sendo útil na depuração de rastreamento em tempo
real. A asserção II também é verdadeira, pois o analisador lógico pode
avaliar sinais do sistema embarcado sem alterar ou interferir no
desempenho do processo. Isso ocorre porque o analisador lógico 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. Portanto, a II é uma justificativa
correta da I, pois explica o motivo pelo qual o analisador lógico pode ser
usado na depuração de rastreamento em tempo real.
5 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?
Decodificador de instruções.
Tradutor de instruções.
Unidade lógica e aritmética.
Sequenciador de instruções.
Sequenciador de códigos.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 4/9
A
B
C
D
E
As instruções do software de um sistema embarcado são armazenadas na
memória de programa. Durante a execução das instruções pela CPU, os
códigos dessas instruções são buscados na memória. Posteriormente,
esses códigos necessitam ser decodificados. O componente responsável
por essa decodificação é o decodificador de instruções. Este é um circuito
combinacional presente no processador, cuja função é converter um
código de instrução em uma sequência de ações que executam o que a
instrução determina. Portanto, a alternativa correta é a "A", que menciona o
decodificador de instruções como o componente da CPU responsável por
essa tradução.
6 Marcar para revisão
A arquitetura de um microcontrolador deve ser constituída de pelo menos:
RAM, ROM, portas de E/S e temporizadores.
ROM, portas de E/S e temporizadores.
CPU, RAM, ROM, portas de E/S e temporizadores.
CPU, portas de E/S e temporizadores.
CPU, RAM, ALU e temporizadores.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A arquitetura de um microcontrolador é uma combinação de vários
componentes que trabalham juntos para executar tarefas. Os componentes
mínimos que um microcontrolador deve possuir internamente são a
Unidade Central de Processamento (CPU), a memória de dados (RAM), a
memória de programa (ROM), as portas de Entrada/Saída (E/S) e os
temporizadores. A CPU é o cérebro do microcontrolador, responsável por
executar as instruções do programa. A RAM e a ROM são tipos de memória
que armazenam dados e programas, respectivamente. As portas de E/S
permitem a comunicação do microcontrolador com outros dispositivos,
enquanto os temporizadores são usados para controlar o tempo de
execução das tarefas. Portanto, a alternativa correta é a C: CPU, RAM,
ROM, portas de E/S e temporizadores.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 5/9
A
B
C
D
E
7 Marcar para revisão
Avalie as asserções a seguir e a relação sugerida entre elas. I. Uma das
características cruciais em alguns sistemas embarcados é a tolerância a falhas
PORQUE II. Existem certas aplicações para sistemas embarcados que são
críticas e as falhas podem ser fatais. A respeito dessas asserções, assinale a
alternativa correta.
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 verdadeiras, mas a II não é uma
justificativa correta da I.
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 falsas.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Com a utilização massiva de sistemas embarcados baseados em
tecnologia digital nos sistemas críticos, como os de controle de aeronaves
e de usinas nucleares, por exemplo, as consequências podem ser graves
se ocorrer uma falha de uma função crítica. Um sistema embarcado
projetado para ser tolerante a falhas funcionará mesmo se houver uma ou
mais falhas (com base no projeto) em componentes do sistema.
8 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 o 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 o canal de comunicação serial do
microcontrolador permite inspecionar sinais mais rapidamente do que com
LEDs ou analisador lógico.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 6/9
A
B
C
D
E
A
B
C
Quais afirmações estão corretas?
Somente I e II estão corretas.
Somente I e III estão corretas.
Somente II e III estão corretas.
Somente a II está correta.
Somente a I está correta.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A afirmação I está correta, pois o uso de um LED piscando pode, de fato,
fornecer informações sobre o que está acontecendo em um sistema
embarcado, especialmente em sistemas mais simples e lentos. A afirmação
II também está correta, pois um analisador lógico, que registra sinais
digitais, é capaz de inspecionar sinais mais rapidamente do que um LED
piscando. No entanto, a afirmação III está incorreta. Embora a emissão de
informações através do canal de comunicação serial do microcontrolador
seja uma técnica válida de depuração, ela não permite inspecionar sinais
mais rapidamente do que com LEDs ou um analisador lógico. Portanto, as
afirmações I e II estão corretas, enquanto a afirmação III está incorreta.
9 Marcar para revisão
Para os projetistas de sistemas embarcados, qual das opções é uma vantagem
em se usar microcontroladores?
A possibilidade de acionamento direto de cargas com alta demanda
de corrente.
A facilidade de programação somente com linguagem assembly.
O desempenho superior em relação aos microprocessadores.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 7/9
D
E
A
B
A integraçãode dispositivos dentro do chip do microcontrolador.
A versatilidade de rodar várias aplicações ao mesmo tempo.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A alternativa correta é a letra D, que afirma que a integração de
dispositivos dentro do chip do microcontrolador é uma vantagem para
projetos em sistemas embarcados. Isso ocorre porque essa integração
torna os projetos geralmente mais baratos, mais fáceis de programar,
ocupando menos espaço na placa e consumindo menos energia. As
demais alternativas não são verdadeiras, portanto, não representam
vantagens para a programação de sistemas embarcados. A alternativa A é
incorreta porque microcontroladores não são projetados para acionar
diretamente cargas com alta demanda de corrente. A alternativa B também
é falsa, pois a programação de microcontroladores não se limita à
linguagem assembly. A alternativa C é equivocada, pois
microcontroladores não possuem desempenho superior aos
microprocessadores. Por fim, a alternativa E é falsa, pois
microcontroladores não são projetados para rodar várias aplicações
simultaneamente.
10 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, o 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.).)
O texto apresentado nos leva a concluir que
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, como IDEs.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 8/9
C
D
E
Programar para sistemas embarcados não necessita mais de expertise
em eletrônica.
As IDEs utilizadas em computadores de uso geral podem ser utilizadas
agora em sistemas embarcados.
As IDEs vieram para tornar o desenvolvimento de sistemas
embarcados mais complexo.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Com o aumento da complexidade dos sistemas embarcados, a
necessidade de aplicação de processos e técnicas de engenharia de
software se tornou mais evidente. Isso significa que, além do
conhecimento em eletrônica, os profissionais dessa área precisam estar
familiarizados com ferramentas mais completas, como as IDEs, que são
específicas para o desenvolvimento de sistemas embarcados. Essas
ferramentas facilitam a implementação de técnicas de engenharia de
software, simplificando o processo e aumentando a produtividade.
Portanto, a alternativa B está correta, pois afirma que programar para
sistemas embarcados se tornou uma atividade que exige ferramentas mais
completas, como as IDEs.
11/12/25, 10:38 AM estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/690b4de9248bbce1812c7e5c/gabarito/ 9/9

Mais conteúdos dessa disciplina