Buscar

Exercícios - Linguagem C_ funções

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 12 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 12 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 9, do total de 12 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

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
1 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);
 }
 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
Questão 1
de
10
Corretas �10�
Em branco �0�
1 2 3 4 5
6 7 8 9 10
Exercicio Linguagem C� Funções Sair
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 1/12
C
D
E
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".
2 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,
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()
{
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 2/12
A
B
C
D
E
    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).
3 Marcar para revisão
Analise o programa abaixo e responda a opção correta:
01� #include
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 3/12
A
B
C
D
E
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.
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 é
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 4/12
A
B
C
D
E
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
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
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.
4 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.
< math.h >
< ctype.h >
< stdio.h >
< stdlib.h >
< string.h >
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 5/12
A
B
C
D
E
O arquivo < stdlib.h > é 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 < stdlib.h > são as mais
adequadas.
5 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 é
26/04/2024, 14:37estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 6/12
A
B
C
D
E
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.
6 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�
10� main () {
11� int X,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
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 7/12
A
B
C
D
E
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.
7 Marcar para revisão
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 >
< ctype.h >
< stdio.h >
< stdlib.h >
< time.h >
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o
gabarito comentado!
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 8/12
A
B
C
D
E
Gabarito Comentado
A biblioteca < stdlib.h > é a correta para este caso. Ela é uma biblioteca
padrão da linguagem de programação C que inclui funções envolvendo
alocação de memória, controle de processos, conversões e outras. Neste
caso, para a conversão de uma string para um inteiro, a função atoi()
desta biblioteca seria a mais adequada. Além disso, ela também contém
funções para tomar decisões e invocar outras funções, tornando-a a
escolha ideal para resolver o problema proposto.
8 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
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 9/12
A
B
C
D
E
são todos do tipo float. Portanto, o cabeçalho da função corretamente
definido é: float calcula_media(float n1, float n2, float nr3�.
9 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!
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 10/12
A
B
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
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; i<5; i++)
  if (lista[i]>r) r=lista[i];
  lista[i] = lista[i+1];
return r;
}
int func2(int lista[5])  {
   int r;
   r = lista[0];
for (int i=0; i<5; i++)
  if (lista[i]
  lista[i] = lista[i+1];
return r;
}
main()
{
int lista[5] = �100, 35, 101, 43, 13�;
printf ("\n %d %d\n",func1(lista),func2(lista));
}
Assinale a resposta correta da saída do programa acima.
13  101
13   13
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 11/12
C
D
E
43  43
35 100
101 13
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
A função func1 retorna o maior valor do vetor. A instrução  if (lista[i]>r)
r=lista[i]; armazena o maior valor na variável r. A função func2 retorna o
menor valor do vetor. A instrução  if (lista[i]
26/04/2024, 14:37 estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/662be5cb139d33d91491d18e/gabarito/ 12/12

Continue navegando