Buscar

quest

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 62 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 62 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 62 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

Quest
Linguagem e Técnicas de Programação (Universidade Paulista)
Digitalizar para abrir em Studocu
A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade
Quest
Linguagem e Técnicas de Programação (Universidade Paulista)
Digitalizar para abrir em Studocu
A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
https://www.studocu.com/pt-br/document/universidade-paulista/linguagem-e-tecnicas-de-programacao/quest/53313561?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
https://www.studocu.com/pt-br/course/universidade-paulista/linguagem-e-tecnicas-de-programacao/2999205?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
https://www.studocu.com/pt-br/document/universidade-paulista/linguagem-e-tecnicas-de-programacao/quest/53313561?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
https://www.studocu.com/pt-br/course/universidade-paulista/linguagem-e-tecnicas-de-programacao/2999205?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 Pergunta 1
0,1 em 0,1 pontos
Com base na Linguagem C, assinale a alternativa que 
apresenta a forma correta para imprimir a mensagem “Meu 
nome é Francisco, tenho 52 anos e meu aniversário é em 
12/06”:
Resposta 
Selecionada:
a. 
printf(“Meu nome é %s, tenho %d anos e o meu 
aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ;
Respostas: a. 
printf(“Meu nome é %s, tenho %d anos e o meu 
aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ;
b. 
printf(“Meu nome é %s, tenho %d anos e o meu 
aniversario é %s/%s”,”Francisco”,52,12,06) ;
c. 
print(“Meu nome é %s, tenho %d anos e o meu 
aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ;
d. 
printf(“Meu nome é %s tenho %d anos e o meu 
aniversario é %.2f/%s”,”Francisco”,52,”12”, 06) ;
e. 
printf(“Meu nome é %s tenho %d anos o meu 
aniversario é %.2f/%.2f”,”Francisco”,52,12,06) ;
Comentário
da 
resposta:
Resposta: A
Comentário: A alternativa A é a única que possui a 
sintaxe correta, pois o primeiro parâmetro é uma 
String (cadeia de caracteres) e sua máscara é %s, 
portanto, está correto. O segundo parâmetro é o 
número 52 e a máscara é %d, um número inteiro 
mostrando 52. O terceiro parâmetro é uma string 
“12” e a máscara é %s, portanto, mostra 12. O 
quarto parâmetro é uma string “06” e a máscara é 
%s, portanto, mostra 06.
 Pergunta 2
0,1 em 0,1 pontos
Com base na Linguagem C, assinale a alternativa que 
apresenta a sintaxe correta do comando scanf() para receber 
dois números inteiros. Considere num1 e num2 como sendo 
números inteiros:
Resposta 
Selecionada:
d. 
scanf(“%d %d”, 
&num1,&num2);
Respostas: a. 
scan(“%d %d”, 
&num1,&num2);
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
b. 
scanf(“%d %d”, 
num1,num2);
c. 
scanf(“%f %f”, 
&num1,&num2);
d. 
scanf(“%d %d”, 
&num1,&num2);
e. 
scanf(“%s %s”, 
&num1,&num2);
Comentári
o da 
resposta:
Resposta: D
Comentário: O comando scanf() é utilizado para a 
entrada de dados em C e possui uma sintaxe muito
bem definida. Para o recebimento de dois números 
inteiros o comando scanf() utiliza o especificador 
de formato para inteiros %d, como os dois números
são inteiros, a sintaxe correta é: scanf(“%d %d”, 
&num1,&num2); seguido do endereço das variáveis
correspondentes (&num1, &num2).
 Pergunta 3
0,1 em 0,1 pontos
Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que 
corresponda à saída correta do programa.
 
#include <stdio.h>
void main()
{
int x=3;
int y=15;
y/=x;
printf(“%d %d \n”, x, y);
x=y++;
printf(“%d %d \n”, x, y);
}
Resposta 
Selecionada:
b. 
3 5
5 6
Respostas: a. 
3 5
3 4
b. 
3 5
5 6
c. 
3 
15
4 
16
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
d. 
3 4
3 
15
e. 
4
 16
3
 15
Comentário da 
resposta:
Resposta: B
Comentário: Fazendo o teste de mesa para o algoritmo, 
teremos as saídas:
 
 Pergunta 4
0,1 em 0,1 pontos
Considere o programa a seguir, escrito em linguagem C, e selecione a 
alternativa que corresponda à saída correta do programa:
 
#include <stdio.h>
void main()
{
int a=15;
int b=3;
b/=a;
printf(“%d %d \n”, a, b);
a=b++;
printf(“%d %d \n”, a, b);
}
Resposta 
Selecionada:
c. 
15 
0
0 1
Respostas: a. 
3 5
5 6
b. 
15 
3
3 4
c. 
15 
0
0 1
d. 
3 6
5 6
e. 
3 5
3 4
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Comentário 
da resposta:
Resposta: C
Comentário: Fazendo o teste de mesa para o algoritmo, 
teremos as saídas:
 
Observação: a operação b/=a (o mesmo que b = b/a) possui
o valor zero como resposta, pois 3/15 = 0,2, e por ser 
declarado como inteiro, a variável b receberá apenas a 
parte decimal, ou seja, o valor 0 (zero).
 Pergunta 5
0,1 em 0,1 pontos
Considere o programa a seguir, escrito em linguagem C, e selecione a 
alternativa que corresponda à saída correta do programa:
 
#include <stdio.h>
void main()
{
int i = 15;
int j = 3;
j% = i;
printf(“%d %d \n”, i, j);
i = j++;
printf(“%d %d \n”, i, j);
}
Resposta 
Selecionada:
d. 
15 
3
3 
4
Respostas: a. 
15 
0
0 1
b. 
3 5
5 6
c. 
15 
4
4 
5
d. 
15 
3
3 
4
e. 
3 0
3 4
Comentário da 
resposta:
Resposta: D
Comentário: Fazendo o teste de mesa para o algoritmo, 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
teremos as saídas:
Observação: na operação j% = i (o mesmo que j = j % i) 
representa o resto inteiro da divisão entre j e i.
 Pergunta 6
0,1 em 0,1 pontos
Considere o programa a seguir, escrito em linguagem C, e selecione a 
alternativa que corresponda à saída correta do programa:
 
#include <stdio.h>
void main()
{
int num1 = 15;
int num2 = 3;
int num3;
num2 += num1;
num3 = num2;
num2 = 2;
printf("%d %d \n", num1, num2);
num1 = num2++;
printf("%d %d \n", num1, num2);
}
Resposta 
Selecionada:
e. 
15 
2
2 3
Respostas: a. 
15 
3
3 4
b. 
3 
18
4 5
c. 
3 2
2 3
d. 
18 
2
2 4
e. 
15 
2
2 3
Comentário da 
resposta:
Resposta: E
Comentário: Fazendo o teste de mesa para o programa
acima, as saídas serão:
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 Pergunta 7
0,1 em 0,1 pontos
Considere o programa a seguir, escrito em linguagem C, e 
selecione a alternativa que corresponda à saída correta do 
programa:
 
#include <stdio.h>
void main()
{
int a=15;
int b=3;
int c, d;
b += a;
c = b;
b = 2;
d = c / b;
printf("%d %d %d %d \n", a, b, c, d);
}
Resposta 
Selecionada:
b. 
15 2 18 
9
Respostas: a. 
15 3 18 
9
b. 
15 2 18 
9
c. 
15 18 2 
3
d. 
18 15 15 
9
e. 
18 2 9 
15
Comentário da 
resposta:
Resposta: B
Comentário: Fazendo o teste de mesa para o 
programa acima, as saídas serão:
 Pergunta 8
0,1 em 0,1 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
Considere o programa a seguir, escrito em linguagem C, e 
selecione a alternativa que corresponda à saída correta do 
programa:
 
#include <stdio.h>
void main()
{
int a=15;
int b=3;
int c, d;
c = a / b;
d = a % b;
printf("%d %d %d %d \n", a, b, c, d);
}
Resposta 
Selecionada:
d. 
15 3 5 
0
Respostas: a. 
15 3 0 
5
b. 
15 5 3 
1
c. 
5 3 15 
0
d. 
15 3 5 
0
e. 
3 15 3 
5
Comentário da 
resposta:
Resposta: D
Comentário: Fazendo o testede mesa para o 
programa acima, as saídas serão:
 Pergunta 9
0,1 em 0,1 pontos
Considere o programa abaixo, escrito em Linguagem C, e assinale a 
alternativa que corresponda com a saída correta do programa:
 
#include <stdio.h>
void main()
{
int a = 8;
int b;
b=++a;
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
printf(“%d %d\n”, a, b);
b = a++;
printf(“%d %d\n”,a, b);
}
Resposta 
Selecionada:
c. 
9 9
10 9
Respostas: a. 
8 8
10 8
b. 
8 9
10 
11
c. 
9 9
10 9
d. 
9 8
10 8
e. 
9 
10
10 
11
Comentário da 
resposta:
Resposta: C
Comentário: Fazendo o teste de mesa para o 
algoritmo, teremos como saída:
 Pergunta 10
0,1 em 0,1 pontos
Dado o seguinte programa:
 
#include <stdio.h>
void main()
{
int a=15;
int b=2;
b*=a;
printf(“%d %d\n”,a, b);
b=a--;
printf(“%d %d\n”,a, b);
}
Qual alternativa apresenta a saída correta?
Resposta 
Selecionada:
a. 
15 30
 14 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
15
Respostas: a. 
15 30
 14 
15
b. 
16 30
 14 
16
c. 
15 30
 13 
14
d. 
15 2
 14 1
e. 
15 2
 1 15
Comentário da 
resposta:
Resposta: A
Comentário: Fazendo o teste de mesa para o 
algoritmo, teremos como saída:
 Pergunta 1
0 em 0 pontos
A linguagem de programação C é uma linguagem estruturada, 
de “médio nível”, utilizada principalmente para o 
desenvolvimento de sistemas operacionais, planilhas 
eletrônicas e sistemas gerenciadores de bancos de dados. Com
base nestas informações, selecione a alternativa com as 
afirmações consideradas corretas:
Resposta 
Selecionada
:
e. 
Não possui comandos de entrada e saída de 
dados. Esta ação é realizada através de funções 
contidas na biblioteca padrão stdio.h.
Respostas: a. 
Escalabilidade do compilador, bibliotecas 
padronizadas, variedade de operadores, facilidade 
na sintaxe, acesso a hardware e otimização de 
aplicações.
b. 
Flexibilidade na sintaxe – tipos, declarações, 
expressões e funções.
c. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Não permite atribuir valores no momento da 
declaração da variável ou várias variáveis do 
mesmo tipo e na mesma linha.
d. 
O operador de incremento e decremento 
automático são operadores considerados 
convencionais que atuam sobre a própria variável,
incrementando ou decrementando o valor.
e. 
Não possui comandos de entrada e saída de 
dados. Esta ação é realizada através de funções 
contidas na biblioteca padrão stdio.h.
Comentário da 
resposta:
Resposta: 
e)
 Pergunta 2
0 em 0 pontos
Analise o pseudocódigo abaixo e assinale a alternativa que 
contenha o valor final das variáveis A e F, respectivamente.
Resposta 
Selecionada:
a. 
A = 6 e F = 
14.44
Respostas: a. 
A = 6 e F = 
14.44
b. 
A = 7 e F = 
14.44
c. 
A = 3 e F = 
14.11
d. 
A = 6 e F = 
9.0
e. 
A = 7 e F = 
14.22
Comentário da 
resposta:
Resposta: 
a)
 Pergunta 3
0 em 0 pontos
Analise o pseudocódigo abaixo e considere X e Y como 
variáveis inteiras, Z e W cadeias de caracteres
e T e K variáveis lógicas (booleanas), ao final da execução, 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
quais os valores que estarão associados
às variáveis X, T e K, respectivamente?
Resposta 
Selecionada:
d. 
X = 2, T = 0 (false) e K = 1 
(true);
Respostas: a. 
X = 3, T = 0 (false) e K = 1 
(true);
b. 
X = 3, T = 0 (false) e K = 0 
(false);
c. 
X = 3, T = 1 (true) e K = 0 
(false);
d. 
X = 2, T = 0 (false) e K = 1 
(true);
e. 
X = 2, T = 1 (true) e K = 1 
(true); 
Comentário da 
resposta:
Resposta: 
d)
 Pergunta 4
0 em 0 pontos
Considere o trecho de código abaixo, tendo como variáveis 
nome (cadeia de char), faltas (inteiro) e média (float). Qual das
alternativas abaixo imprime a seguinte frase:
Olá (nome), você tem (número de faltas) faltas e sua 
média é (média)!
Resposta 
Selecionada:
a. 
printf(“Olá %s, você tem %d faltas e sua média 
é %.2f \n”, nome, faltas, media);
Respostas: a. 
printf(“Olá %s, você tem %d faltas e sua média 
é %.2f \n”, nome, faltas, media);
b. 
printf(“Olá %s, você tem %d faltas e sua média 
é %.2f \n”, &nome, &faltas, &media);
c. 
printf(“Olá &nome, você tem &faltas faltas e sua
média é &media”, nome, faltas, media);
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
d. 
printf(“Olá %c, você tem %? faltas e sua média é
&media”, nome, faltas, media);
e. 
printf(“Olá %?, você tem %? faltas e sua média é
%?”, nome, faltas, media);
Comentário da 
resposta:
Resposta: 
a)
 Pergunta 1
0 em 0 pontos
Analise o fluxograma abaixo e responda à seguinte questão: 
Para que a frase “O maior é n2” seja impressa na tela, é 
necessário que: 
Resposta 
Selecionada:
d. 
n1 seja menor que n2 e n2 seja maior que 
n3.
Respostas: a. 
n1 seja maior que n2 e n1 seja maior que 
n3.
b. 
n2 seja menor que n1 e o n3 seja menor que
n2.
c. 
n1 seja maior que n2 e n2 seja menor que 
n3.
d. 
n1 seja menor que n2 e n2 seja maior que 
n3.
e. 
A ordem de leitura das variáveis seja 
alterada.
Comentário da 
resposta:
Resposta: 
d)
 Pergunta 2
0 em 0 pontos
Analise o pseudocódigo abaixo e selecione a alternativa que 
substitua a condição se(numero<0) então... Pela estrutura em 
linguagem C:
Resposta 
Selecionada:
c. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
if(numero <0)
 
printf(“negativo”)
Respostas: a. 
if(numero <0) then
 
printf(“negativo”)
b. 
if(numero > 0) 
then
 
printf(“negativo”)
c. 
if(numero <0)
 
printf(“negativo”)
d. 
if(n < 0)
 
printf(“negativo”)
e. 
else(numero <0)
 
printf(“negativo”)
Comentário da 
resposta:
Resposta: 
c)
 Pergunta 3
0 em 0 pontos
Com base no conceito do comando switch-case (Escolha-caso),
assinale a alternativa incorreta:
Resposta 
Selecionada
:
d. 
Ao encontrar a estrutura switch, o programa 
entende que virá uma expressão lógica (>, <, >=, 
<=). Caso essa expressão resulte em verdadeiro, é
executado o bloco de comandos dentro da 
estrutura.
Respostas: a. 
Estrutura que evita o encadeamento de 
condicionais.
b. 
Estrutura utilizada quando for necessário testar 
uma única expressão que produz um resultado 
dentre vários possíveis, ou então testar o valor de 
uma variável em que está armazenada uma 
determinada informação.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
c. 
Estrutura que compara o resultado obtido opção a 
opção, testando os valores individuais fornecidos 
de cada cláusula.
d. 
Ao encontrar a estrutura switch, o programa 
entende que virá uma expressão lógica (>, <, >=, 
<=). Caso essa expressão resulte em verdadeiro, é
executado o bloco de comandos dentro da 
estrutura.
e. 
Permite que uma variável seja testada através da 
operação de igualdade e comparada com uma lista
de valores.
Comentário da 
resposta:
Resposta: 
d)
 Pergunta 4
0 em 0 pontos
O comando if-else (se-senão), permite que uma determinada 
condição seja testada e, caso verdadeira, um bloco de 
comando será executado; e caso seja falta, um outro bloco de 
comandos será executado. Com base neste conceito, assinale 
a(s) alternativa(s) que apresente(m) erro de sintaxe:
Resposta 
Selecionada:
c. 
if(x >=5.0){...} else(y <= 
18){...}
Respostas: a. 
if(x < 0){...} else{...}.
b. 
if(x > 1 && y<5){...}
c. 
if(x >=5.0){...} else(y <= 
18){...}
d. 
if(x >= 2 || (x <=10){..}
e. 
if(x >= 2){...} if(y <=10)
{..}
Comentário da 
resposta:
Resposta: 
c)
 Pergunta 1
0,1 em 0,1 pontos
Analise o programa escrito em Linguagem C e assinale aalternativa que 
descreve a função correta do programa.
#include <stdio.h>
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
void main ( )
{
 int diaSemana;
 printf ("Digite o dia da semana: ");
 scanf ("%d", &diaSemana);
 switch (dia) {
 case 1:
 printf ("Domingo \n");
 break;
 case 2:
 printf ("Segunda-feira \n");
 break;
 case 3:
 printf ("Terça-feira \n");
 break;
 case 4:
 printf ("Quarta-feira \n");
 break;
 case 5:
 printf ("Quinta-feira \n");
 break;
 case 6:
 printf ("Sexta-feira \n");
 break;
 case 7:
 printf ("Sábado \n");
 break;
 default:
 printf("Dia inválido \n");
 }
}
Resposta 
Selecionada:
b. 
O programa recebe um número e apresenta o 
correspondente ao dia da semana.
Respostas: a. 
O programa recebe um número e informa se o dia será 
feriado.
b. 
O programa recebe um número e apresenta o 
correspondente ao dia da semana.
c. 
Segunda-feira corresponde ao número 1 na semana.
d. 
Domingo corresponde ao número 7 na semana.
e. 
Nenhuma das anteriores está correta.
Comentário 
da resposta:
Resposta: B
Comentário: o programa solicita ao usuário a entrada de um
número e verifica pelo comando switch-case o dia da 
semana correspondente, apresentando como saída 
a string que representa o dia da semana.
 Pergunta 2
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
0,1 em 0,1 pontos
Considere o código a seguir em linguagem C e, após fazer uma
análise pelos testes de mesa, assinale a alternativa correta que
descreve a função do programa. Escolha 3 números inteiros de
sua preferência e faça alguns testes.
#include <stdio.h>
void main (void)
{
 int a, b, c;
 int aux;
 
 printf("Digite três números inteiros: ");
 scanf("%d %d %d",&a, &b, &c);
 if(a>b)
 {
 aux=a;
 a=b;
 b=aux;
 }
 if(a>c)
 {
 aux=a;
 a=c;
 c=aux;
 }
 if(b>c)
 {
 aux=b;
 b=c;
 c=aux;
 }
 printf("%d %d %d", a, b, c);
}
Resposta 
Selecionada:
e. 
Recebe 3 números inteiros e apresenta a saída 
com os números em ordem crescente.
Respostas: a. 
Recebe 3 números inteiros e apresenta a saída 
com os números em ordem decrescente.
b. 
Recebe 3 números inteiros e apresenta a saída 
com os números fora de ordem.
c. 
Recebe 3 números inteiros e apresenta a saída 
com os números em ordem de entrada.
d. 
Recebe 3 números inteiros e apresenta a saída 
com os números em ordem inversa de entrada.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
e. 
Recebe 3 números inteiros e apresenta a saída 
com os números em ordem crescente.
Comentário
da 
resposta:
Resposta: E
Comentário: o programa recebe como entrada 3 
números e realiza alguns testes de forma 
independente, comparando-os de dois em dois, 
trocando os valores de posição, caso não estejam 
em ordem crescente.
 Pergunta 3
0,1 em 0,1 pontos
Considere o código escrito em Linguagem C e assinale a 
alternativa correta.
#include <stdio.h>
 
void main()
{
 int idade;
 printf("Digite sua idade: ");
 scanf("%d", &idade);
 if((idade >= 18) && (idade <=67)){
 printf("Permitido doar sangue \n");
 }else{
 printf("Não é permitido doar sangue \n");
 }
}
Resposta 
Selecionada:
b. 
Uma pessoa de 89 não pode doar 
sangue.
Respostas: a. 
Uma pessoa de 68 pode doar sangue.
b. 
Uma pessoa de 89 não pode doar 
sangue.
c. 
Uma pessoa de 17 pode doar sangue.
d. 
Uma pessoa de 67 não pode doar 
sangue.
e. 
Uma pessoa de 35 não pode doar 
sangue.
Comentário 
da resposta:
Resposta: B
Comentário: o programa recebe a idade de uma 
pessoa e informa se ela pode doar sangue ou não, 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
analisando a sua idade. Para doar sangue, é 
necessário ter entre 18 e 67 anos.
 Pergunta 4
0,1 em 0,1 pontos
Considere o código escrito em Linguagem C e assinale a 
alternativa que corresponda ao objetivo (função) dele:
#include <stdio.h>
void main()
{
 int x, y;
 printf("Digite o primeiro numero: ");
 scanf("%d", &x);
 printf("Digite o segundo numero: ");
 scanf("%d", &y);
 if(x > y){
 printf("O número = %d \n", x);
 }else{
 printf("O número = %d \n", y);
 }
}
Resposta 
Selecionada:
a. 
A função do programa é identificar o maior 
número recebido.
Respostas: a. 
A função do programa é identificar o maior 
número recebido.
b. 
A função do programa é identificar o menor 
número recebido.
c. 
A função do programa é identificar o número 
par.
d. 
A função do programa é identificar o número 
ímpar.
e. 
Nenhuma das anteriores está correta.
Comentário
da 
resposta:
Resposta: A
Comentário: o programa recebe dois números 
inteiros (por meio das variáveis “x” e “y”) e realiza 
um teste relacional utilizando a condicional SE (IF). 
Se “x” for maior que “y”, o número apresentado é 
“x”, senão o número apresentado é “y”, 
identificando assim o maior número digitado. Nesse
exemplo não é verificado se os números são iguais,
sendo necessária a adição de mais um teste 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
relacionado para essa verificação.
 Pergunta 5
0,1 em 0,1 pontos
Considere o código escrito em Linguagem C e, pelo teste de 
mesa, assinale a alternativa que corresponda à saída correta 
do programa, considerando como entrada o número 57.
#include <stdio.h>
void main()
{
 int num, resto;
 printf("Digite um numero: ");
 scanf("%d", &num);
 resto = num % 2;
 if(resto == 1){
 printf("O número %d é impar \n", num);
 }else{
 printf("O número %d é par \n", num);
 }
}
Resposta 
Selecionada:
c. 
O número 57 é 
ímpar.
Respostas: a. 
O número 57 é par.
b. 
O número 1 é 
ímpar.
c. 
O número 57 é 
ímpar.
d. 
O número 1 é par.
e. 
O número 50 é par.
Comentário 
da resposta:
Resposta: C
Comentário: a variável “resto” recebe o resto da 
divisão de 57 por 2. Se o resto for igual a 1 (no 
teste da condicional resto = 1), o número é ímpar,
senão o número é par.
 Pergunta 6
0,1 em 0,1 pontos
Considere o programa escrito em Linguagem C:
# include <stdio.h>
void main () {
 int ano, resto;
 printf( "Digite o ano: ");
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 scanf("%d", &ano);
 if(ano% 100 == 0){
 if (ano% 400 == 0){
 printf("O Ano %d é bissexto \n \n", ano);
 }else{
 printf(" O Ano %d não é bissexto \n \n", ano);
 }
 }else{
 if (ano%4 == 0){
 printf("O Ano %d é bissexto \n \n", ano);
 }else{
 printf(" O Ano %d não é bissexto \n", ano);
 }
 } 
}
 
Tendo como entrada os anos 1995, 1996 e 1997; dessa forma, 
podemos afirmar que:
Resposta 
Selecionada:
a. 
1995 não é bissexto, 1996 é bissexto e 1997 
não é bissexto.
Respostas: a. 
1995 não é bissexto, 1996 é bissexto e 1997 
não é bissexto.
b. 
1995 não é bissexto, 1996 não é bissexto e 
1997 não é bissexto.
c. 
1995 é bissexto, 1996 não é bissexto e 1997 
não é bissexto.
d. 
1995 é bissexto, 1996 é bissexto e 1997 não é 
bissexto.
e. 
1995 não é bissexto, 1996 não é bissexto e 
1997 é bissexto.
Comentário
da 
resposta:
Resposta: A
Comentário: a resposta correta é a alternativa A, 
pois o programa informa se o ano é bissexto ou 
não de acordo com as entradas digitadas pelo 
usuário. Para a primeira condicional, nenhum ano 
dividido por 400 tem resto 0, porém:
o resto da divisão de 1995 por 4 é 3, dessa forma, 
o ano não é bissexto;
o resto da divisão de 1996 por 4 é 0, dessa forma, 
o ano é bissexto;
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
o resto da divisão de 1997 por 4 é 1, dessa forma, 
o ano não é bissexto.
 Pergunta 7
0,1 em 0,1 pontos
Considere o programa escritoem Linguagem C:
#include <stdio.h>
void main ( )
{
 char ch;
 printf ("Estado civil: ");
 scanf ("%c", &ch);
 switch(ch) {
 case 'C':
 printf ("Casado \n");
 break;
 case 'S':
 printf ("Solteiro \n");
 break;
 case 'D':
 printf ("Divórcio \n");
 break;
 case 'V':
 printf ("Viúvo \n");
 break;
 default:
 printf("Inválido \n");
 break;
 }
}
 
Executando o mesmo programa 3 vezes com as entradas “C”, 
“s” e “V”, quais serão as saídas, respectivamente?
Resposta 
Selecionada:
d. 
Casado, Inválido e 
Viúvo.
Respostas: a. 
Casado, Divórcio e 
Viúvo.
b. 
Casado, Solteiro.
c. 
Casado, Solteiro e 
Viúvo.
d. 
Casado, Inválido e 
Viúvo.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
e. 
Casado, Viúvo.
Comentári
o da 
resposta:
Resposta: D
Comentário: o programa recebe (entrada) um 
caractere pela variável “ch”, realizando alguns 
testes com o comando switch-case. Para a primeira 
entrada “C” digitada, a saída será Casado, na 
segunda entrada “s”, a saída será Inválido, pois a 
linguagem C faz diferença entre a letra maiúscula e
a letra minúscula ( Case sensitive) e, na terceira 
entrada “V”, a saída será Viúvo. O 
comando break presente em cada case
fará com que o programa aborte (pare) a sua 
execução sempre que esse comando for executado.
 Pergunta 8
0,1 em 0,1 pontos
Considere o programa escrito em linguagem C e faça uma 
análise por meio do teste de mesa para encontrar o valor da 
variável “z” no final da execução do programa.
#include <stdio.h>
void main()
{
 int x, y, z;
 x = 5;
 y = 7;
 z = 3;
 if((y - 1) > 2){
 y = y + 2;
 }else{
 y = y - 2;
 }
 z = z + x + y;
}
Resposta 
Selecionada:
e. 
17.
Respostas: a. 
16.
b. 
14.
c. 
15.
d. 
12.
e. 
17.
Comentário da Resposta: E
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
resposta: Comentário: pelo teste de mesa, é possível 
identificar os seguintes valores para as variáveis
x, y e z:
 Pergunta 9
0,1 em 0,1 pontos
Considere o programa escrito em linguagem C e, por meio do 
teste de mesa, faça uma análise do programa a seguir e 
assinale a alternativa que corresponda à saída correta do 
programa, tendo como valores de entrada: 5, 6 e 12.
void main()
{
 int totalFaltas;
 float n1, n2, media;
 
 printf("Digite a 1 a nota: ");
 scanf("%f", &n1 );
 
 printf("Digite a 2 a nota: ");
 scanf("%f", &n2);
 
 printf("Digite o total de faltas: ");
 scanf("%d", &totalFaltas);
 
 media = (n1 + n2) / 2;
 
 if(media >= 5){
 printf("Aprovado por nota");
 if(totalFaltas <= 10) {
 printf("e esta aprovado. \n");
 }else{
 printf(", mas reprovou por falta. \n") ;
 }
 }else{
 printf("Nota abaixo da media.");
 }
}
Resposta 
Selecionada:
b. 
Você passou por nota, mas reprovou por 
falta.
Respostas: a. 
Você passou por nota e está aprovado.
b. 
Você passou por nota, mas reprovou por 
falta.
c. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Reprovou por falta.
d. 
Está aprovado.
e. 
Nota abaixo da média.
Comentário
da 
resposta:
Resposta: B
Comentário: a média é calculada com a soma de 
n1 e n2 ((5 + 6) / 2 = 5,5) e a quantidade de faltas 
é 12. Fazendo uma análise do programa anterior, 
se a média for maior ou igual a 5 e se o total de 
faltas é maior que 10, o aluno estará reprovado por
falta.
 Pergunta 10
0,1 em 0,1 pontos
O programa, escrito em linguagem C, solicita ao usuário que 
entre com uma idade e realiza alguns testes relacionais. 
Considerando duas execuções, tendo como entrada as idades 
36 e 10, assinale a alternativa que corresponda à saída correta
do programa.
#include <stdio.h>
main()
{
 int idade;
 printf("Digite a idade: ");
 scanf("%d",&idade);
 if (idade <10){
 printf ("A idade %d é classificada como CRIANÇA \n \n ", 
idade);
 }
 else if ((idade >=10) && (idade <=14)){
 printf ("A idade %d é classificada como INFANTIL \n \n ", 
idade);
 }
 else if ((idade >=15) && (idade <=17)){
 printf ("A idade %d é classificada como JUVENIL \n \n ", 
idade);
 }
 else if (idade >=18) {
 printf ("A idade %d é classificada como ADULTO \n \n ", 
idade);
 }
 else{
 printf ("Classificação inválida);
 }
}
Resposta 
Selecionada:
c. 
ADULTO e 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
INFANTIL.
Respostas: a. 
ADULTO e 
CRIANÇA.
b. 
JUVENIL e 
INFANTIL.
c. 
ADULTO e 
INFANTIL.
d. 
ADULTO E JUVENIL.
e. 
VELHO E CRIANÇA.
Comentário
da 
resposta:
Resposta: C
Comentário: o programa solicita ao usuário que 
digite uma idade e realiza diversos testes 
relacionais compostos. A idade de 36 anos é 
classificada como ADULTO, pois é maior ou igual a 
18 e a idade de 10 anos é classificada como 
INFANTIL, pois a primeira condição é válida para os 
casos de maior ou igual a 10 e menor ou igual a 14.
A primeira condição admite como verdadeiro 
exclusivamente a idade menor que 10, dessa 
forma, não é classificada como CRIANÇA.
 Pergunta 1
0,1 em 0,1 pontos
A função calcular () recebe por parâmetros 3 valores do tipo float, realiza 
um cálculo (potência) e retorna ao resultado. Assinale a alternativa que 
apresenta o resultado correto da operação.
 
#include<stdio.h>
#include<math.h>
 
float calcular (float x, float y, float z)
{
 return (pow(x,2)+(y+z));
}
 
void main()
{
 printf("Resultado: %.2f \n", calcular(2,3,4));
 printf("\n \n");
}
Resposta 
Selecionada:
d. 
Resultado: 
11.00
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Respostas: a. 
Resultado: 
8.00
b. 
Resultado: 
9.00
c. 
Resultado: 
10.00
d. 
Resultado: 
11.00
e. 
Resultado: 
12.00
Comentário
da 
resposta:
Resposta: D
Comentário: a função calcular() recebe três valores do 
tipo float e retorna o quadrado do 1º + a soma dos outros 
dois números. Na função main(), o comando printf() se 
encarrega de receber o retorno da função e imprimir o 
resultado na tela (saída de dados).
 Pergunta 2
0,1 em 0,1 pontos
Analise o programa e assinale a alternativa que apresenta a 
saída correta considerando a entrada “Universidade Paulista”.
Resposta 
Selecionada:
c. 
3 – a, 2 – e, 3 – i, 0 – o, 1
– u
Respostas: a. 
2 – a, 3 – e, 3 – i, 0 – o, 1
– u
b. 
3 – a, 2 – e, 3 – i, 0 – o, 0
– u
c. 
3 – a, 2 – e, 3 – i, 0 – o, 1
– u
d. 
4 – a, 2 – e, 2 – i, 0 – o, 1
– u
e. 
3 – a, 2 – e, 3 – i, 1 – o, 0
– u
Comentário 
da resposta:
Resposta: C
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
Comentário: o programa recebe do usuário 
(teclado) uma mensagem e imprime quantas 
letras A, E, I, O, U há nessa mensagem, 
considerando minúsculas e maiúsculas.
 Pergunta 3
0,1 em 0,1 pontos
Analise o programa escrito em Linguagem C e assinale a 
alternativa que representa os elementos contidos na diagonal 
principal da matriz:
#include <stdio.h>
void main(){
 int lin, col, cont = 0, mat[4][4];
 for (lin=0; lin<=3; lin++)
 {
 for (col=0; col<=3;col++)
 {
 mat[lin][col] = cont++;
 } 
 }
 printf("Matriz \n");
 for (lin=0; lin<=3; lin++)
 {
 for (col=0; col<=3; col++)
 printf("%d \t", mat[lin][col]);
 printf("\n \n");
 }
 printf("\n \n Diagonal principal \n \n");
 for (lin=0; lin<=3; lin++)
 {
 printf("%d ", mat[lin][lin]);
 }
 printf("\n \n");
}
Resposta 
Selecionada:
d. 
0 5 10 
15
Respostas: a. 
1 2 3 4
b. 
0 1 2 3
c. 
2 4 6 8
d. 
0 5 10 
15
e. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest0 3 6 9
Comentário
da 
resposta:
Resposta: D
Comentário: o programa utiliza a primeira 
estrutura de repetição aninhada para preencher a 
matriz utilizando o contador “cont” e, na 
sequência, imprime a diagonal da matriz, isto é, os
elementos na matriz em que a linha é igual à 
coluna.
 Pergunta 4
0,1 em 0,1 pontos
Considere o código escrito em Linguagem C e, por meio de um 
teste de mesa, assinale a alternativa que corresponda à saída 
do programa:
#include<stdio.h>
 
void main()
{
 int vet[10], x, y=0;
 for(x=0; x<=9; x++)
 {
 vet[x]=y+2;
 y=y+2;
 }
 for(x=0; x<=9; x++)
 printf("%d ", vet[x]);
 printf("\n \n");
}
Resposta 
Selecionada:
d. 
2 4 6 8 10 12 14 16 18 
20.
Respostas: a. 
0 1 2 3 4 5 6 7 8 9.
b. 
1 3 5 7 9 11 13 15 17 19
21.
c. 
4 8 12 16 20 24 28 32 
36.
d. 
2 4 6 8 10 12 14 16 18 
20.
e. 
0 4 8 12 16 20 24 28 32.
Comentário 
da resposta:
Resposta: D
Comentário: o programa cria um vetor de 10 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
posições e o preenche com os números pares de 2
a 20, apresentando o conteúdo do vetor como 
saída.
 Pergunta 5
0,1 em 0,1 pontos
Considere o programa a seguir escrito em Linguagem C, possui uma 
função verificavogal(char M) que recebe um caractere por parâmetro e 
informa se ele é uma vogal ou uma consoante. Para que o programa 
execute corretamente sua tarefa, é preciso adicionar os códigos nas linhas 
6 e 8, respectivamente. Assinale a alternativa que apresente os comandos 
corretos para completar o programa:
Resposta 
Selecionada:
e. 
return(1);
 return(0);
Respostas: a. 
return(0);
 return(1);
b. 
return(true);
 return(false);
c. 
return(vogal);
 
return(consoante)
;
d. 
exit(0);
 exit(1);
e. 
return(1);
 return(0);
Comentário
da 
resposta:
Resposta: E
Comentário: a função verificavogal() recebe um caractere por
parâmetro, realiza um teste relacional e retorna um número 
inteiro. Para a linha 6, o retorno do valor 1 indica uma vogal; 
e na linha 8, o retorno do valor 0 indica uma consoante.
 Pergunta 6
0,1 em 0,1 pontos
Considere o programa escrito em Linguagem C. O usuário digita um texto 
como entrada e o apresenta como saída excluído as vogais.
 
Para que o programa execute corretamente e atinja o seu objetivo, será 
necessário preencher as linhas 8 e 11, respectivamente. Assinale a 
alternativa que apresente os comandos de forma adequada a especificação 
do programa:
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Resposta 
Selecionada:
b. 
tam = strlen(cadeia);
 if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 
'i' && cadeia[x] != 'o' && cadeia[x] != 'u' )
Respostas: a. 
tam = cadeia;
 if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 
'i' && cadeia[x] != 'o' && cadeia[x] != 'u' )
b. 
tam = strlen(cadeia);
 if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 
'i' && cadeia[x] != 'o' && cadeia[x] != 'u' )
c. 
tam = strlen();
 if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 
'i' && cadeia[x] != 'o' && cadeia[x] != 'u' )
d. 
tam = strlen(cadeia);
 if (cadeia[x] == 'a' && cadeia[x] == 'e' && cadeia[x] 
== 'i' && cadeia[x] == 'o' && cadeia[x] == 'u' )
e. 
tam = strlen(cadeia);
 if (cadeia[x] != 'a' || cadeia[x] != 'e' || cadeia[x] != 'i' ||
cadeia[x] != 'o' || cadeia[x] != 'u' )
Comentário 
da resposta:
Resposta: B
Comentário: a função strlen() – linha 8 retorna o tamanho 
do texto (cadeia). Por outro lado, a linha 11 possui uma 
estrutura condicional para verificar cada um dos caracteres,
ignorando as vogais.
 Pergunta 7
0,1 em 0,1 pontos
O programa a seguir escrito em Linguagem C solicita ao 
usuário o cadastro de 5 produtos, imprimindo-os na sequência 
por meio dos campos “código” e o “nome da cada produto”. O 
programa também permite a consulta do preço de um produto 
tendo como entrada o código dele. Para que o programa 
execute e faça corretamente sua função, é preciso adicionar os
comandos corretos nas linhas 19 e 26, respectivamente. 
Assinale a alternativa que corresponda aos comandos corretos 
para a execução do programa.
Resposta 
Selecionada:
b. 
scanf("%d %s %f", &produtos[i].codigo, 
produtos[i].nome, &produtos[i].preco);
 if (produtos[i].codigo == codigo_digitado)
Respostas: a. 
scanf("%d %s %f", produtos[i].codigo, 
produtos[i].nome, produtos[i].preco);
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
 if (produtos[i].codigo == codigo_digitado) {
b. 
scanf("%d %s %f", &produtos[i].codigo, 
produtos[i].nome, &produtos[i].preco);
 if (produtos[i].codigo == codigo_digitado)
c. 
scanf("%d %c %f",&produtos[i].codigo, 
produtos[i].nome, &produtos[i].preco);
 if (produtos[i].codigo = codigo_digitado) {
d. 
scanf("%s %s %s", 
&produtos[i].codigo,produtos[i].nome, 
&produtos[i].preco);
 if (produtos[i].codigo == codigo_digitado) {
e. 
scanf("%d %s %f",&produtos[i].codigo, 
&produtos[i].nome, &produtos[i].preco);
 if (produtos[i].codigo != codigo_digitado) {
Comentário
da 
resposta:
Resposta: B
Comentário: o programa permite o cadastro de 5 
produtos por meio de uma estrutura ( struct) – 
linhas 17 a 19, imprimindo-os na sequência. O 
programa também permite a consulta do preço de 
um produto tendo como entrada o código dele – 
linhas 26 a 28.
 Pergunta 8
0,1 em 0,1 pontos
O programa a seguir possui uma estrutura ( struct) para 
cadastrar o nome, a altura, o peso e o sexo de algumas 
pessoas. Com os dados cadastrados, o programa localiza um 
determinado registro por meio do campo NOME e imprime o 
seu IMC.
 
Para que o programa execute corretamente sua tarefa, 
selecione a alternativa que melhor se enquadre nas linhas 15 e
25.
Resposta 
Selecionada:
a. 
Pessoa 
pessoas[QUANTIDADE_DE_PESSOAS];
if (strcmp (pessoas[i].nome, 
nomeloc)==0){
Respostas: a. 
Pessoa 
pessoas[QUANTIDADE_DE_PESSOAS];
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
if (strcmp (pessoas[i].nome, 
nomeloc)==0){
b. 
Pessoa[QUANTIDADE_DE_PESSOAS];
 if (strcmp (pessoas[i].nome, 
nomeloc)==0){
c. 
pessoas[3];
 if (strcomp (pessoas[i].nome, 
nomeloc)==0){
d. 
Pessoa 
pessoas[QUANTIDADE_DE_PESSOAS];
 if (strcmp (pessoas[i].nome, nomeloc)!
=0){
e. 
pessoas[QUANTIDADE_DE_PESSOAS];
 if (pessoas[i].nome && nomeloc)==0){
Comentário
da 
resposta:
Resposta: A
Comentário: o programa declara um vetor 
(pessoas) – linha 15, de tamanho 3 (quantidade de 
pessoas) e do tipo Pessoa; na linha 25 realiza a 
comparação entre o nome solicitado para 
localização com os nomes cadastrados no vetor.
 Pergunta 9
0,1 em 0,1 pontos
O programa a seguir preenche uma matriz inteira de 4 x 4 e 
imprime todos os elementos, exceto aqueles da diagonal 
principal.
Para que o programa execute corretamente sua tarefa, 
devemos preencher as linhas 11, 13 e 15, respectivamente. 
Assinale a alternativa que possua os comandos adequados 
para que o programa execute de forma correta.
Resposta 
Selecionada:
a. 
d) for (lin=0; lin<=3; lin+
+)
 for (col=0; col<=3; 
col++)
 if (lin != col)
Respostas: a. 
d) for (lin=0; lin<=3; lin+
+)
 for (col=0; col<=3; 
col++)
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
 if (lin != col)
b. 
for (lin=0; lin<=4;lin++)
 for (col=0; col<=4; 
col++)
 if (lin == col)
c. 
for (lin=0; lin<=3;lin++)
 for (col=0; col<=3; 
col++)
 if (lin == col)
d. 
for (lin=0; lin<3;lin++)
 for (col=0; col<3; 
col++)
 if (lin != col)
e. 
for (lin=1; lin<=4; lin++)
 for (col=1; col<=4; 
col++)
 if (lin != col)
Comentário
da 
resposta:
Resposta: A
Comentário: o programa preenche a matriz “mat” 
com os valores de “cont” e, na sequência, apenas 
os elementos em que a linha e a coluna são 
diferentes.Sendo os índices diferentes, os 
elementos na diagonal principal não serão 
impressos.
 Pergunta 10
0,1 em 0,1 pontos
O programa escrito em Linguagem C possui uma estrutura de 
repetição para solicitar ao usuário 8 números inteiros e 
preencher o vetor “vet” por meio do comando scanf() – linha 8.
Em seguida, o programa solicita ao usuário que digite um 
número, pesquisando se o mesmo se encontra no vetor. Se o 
número existir, o programa imprimirá a posição do vetor em 
que o número se encontra e, caso não exista, a mensagem 
“Este número não existe” será impressa ao usuário.
Para que o programa execute corretamente sua tarefa, será 
necessário preencher as linhas 13 e 16, respectivamente. 
Assinale a alternativa que melhor atenda as especificações do 
programa:
Resposta 
Selecionada:
b. 
for(x=0; x<8; x++)
 printf("\n O número %d esta na posição %d: 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
", num, x);
Respostas: a. 
for(x=0;x<=8;x++)
 printf("\n O número %d esta na posição %d: 
", num, x);
b. 
for(x=0; x<8; x++)
 printf("\n O número %d esta na posição %d: 
", num, x);
c. 
for(x=0; x<8; x++)
 printf("\n O número %d esta na posição %d: 
", x, num);
d. 
for(x=1; x<8; x++)
 printf("\n O número %d esta na posição %d: 
", num, x);
e. 
for(x=0; x<num; x++)
 printf("\n O número %d esta na posição %d: 
", num, x);
Comentário
da 
resposta:
Resposta: B
Comentário: a linha 13 – for(x=0; x<8; x++) – 
deve percorrer o vetor inteiro, isto é, da posição 0 
(inicial) até a última posição do vetor (índice 7). A 
linha 16 imprime em qual posição do vetor 
(posição controlada por “x”) o número (“num”) foi 
inserido no vetor.
 Pergunta 1
0,1 em 0,1 pontos
 A função troca() recebe dois ponteiros e faz a troca dos 
valores entre duas variáveis, porém esse código possui um 
erro. Assinale a alternativa que corresponda ao erro nesta 
função:
void troca (int *i, int *j)
{
 int *temp;
 *temp = *i;
 *i = *j;
 *j = *temp;
}
Resposta 
Selecionada:
a. 
As variáveis "i" e “j” não precisavam ser um 
ponteiro.
Respostas: a. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
As variáveis "i" e “j” não precisavam ser um 
ponteiro.
b. 
A variável “i” deveria ser um contador.
c. 
A variável “j” deveria acumular o valor de “i”.
d. 
A variável "temp" não precisava ser um 
ponteiro.
e. 
Não existe nenhum erro na função.
Comentário 
da resposta:
Resposta: A
Comentário: a variável "temp" não precisava ser 
um ponteiro, já que apenas precisa armazenar um
valor inteiro, sem precisar apontar para algum 
lugar. O código correto seria:
void troca (int *i, int *j) {
 int temp;
 temp = *i;
 *i = *j;
 *j = temp;
}
 Pergunta 2
0,1 em 0,1 pontos
Analise a função caracteres() e identifique a alternativa que 
melhor descreve a tarefa executada por ela. Faça um teste 
manual para compreender a lógica do programa.
 
char * caracteres(char *s1, char *s2) {
 int i, j, w, n = 0, encontrado;
 char *s3;
 for (i = 0; s1[i] != '\0'; i++) {
 for (j = 0; s2[j] != '\0'; j++) {
 if (s1[i] == s2[j]) {
 n++;
 break;
 }
 }
 }
 s3 = malloc((n + 1) * sizeof(char));
 n = 0;
 for (i = 0; s1[i] != '\0'; i++) {
 for (j = 0; s2[j] != '\0'; j++) {
 if (s1[i] == s2[j]) {
 encontrado = 0;
 for (w = 0; w < n; w++) {
 if (s3[w] == s1[i]) {
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 encontrado = 1;
 break;
 } 
 }
 if (encontrado == 0) {
 s3[n] = s1[i];
 n++;
 break;
 }
 } 
 }
 } 
 s3[n] = '\0';
 return s3;
}
Resposta 
Selecionada:
c. 
Recebe por parâmetro duas cadeias s1 e s2 e 
retorna uma nova cadeia s3 que contém todos os 
caracteres que aparecem em s1 e em s2.
Respostas: a. 
Recebe por parâmetro duas cadeias s1 e s2 e 
retorna uma nova cadeia s3 que contém todas as 
vogais que aparecem em s1 e em s2.
b. 
Recebe por parâmetro duas cadeias s1 e s2 e 
retorna uma nova cadeia s3 que contém todas as 
consoantes que aparecem em s1 e em s2.
c. 
Recebe por parâmetro duas cadeias s1 e s2 e 
retorna uma nova cadeia s3 que contém todos os 
caracteres que aparecem em s1 e em s2.
d. 
Lê duas cadeias s1 e s2 e retorna uma nova 
cadeia s3 que é a maior cadeia entre s1 e em s2.
e. 
Lê duas cadeias s1 e s2 e retorna uma nova 
cadeia s3 que é a menor cadeia entre s1 e em s2.
Comentário
da 
resposta:
Resposta: C
Comentário: a função recebe por parâmetro duas 
cadeias s1 e s2 (ponteiros para char) e retorna 
uma nova cadeia s3 (ponteiro para char), 
concatenando as duas cadeias em uma só, ou seja,
juntando todos os caracteres de s1 e de s2 em s3.
 Pergunta 3
0,1 em 0,1 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
Analise o programa escrito em Linguagem C que possui uma 
função incr_vetor() que recebe um ponteiro para um inteiro e 
um inteiro. Assinale a alternativa que apresenta a saída correta
do programa:
#include <stdio.h>
 
void incr_vetor (int *v , int tam) {
 int i;
 for (i = 0; i < tam; i++)
 v[i]++;
}
 
void main ()
{
 int a[ ] = {1, 3, 5};
 incr_vetor(a, 3);
 printf("%d %d %d\n", a[0], a[1], a[2]); 
}
Resposta 
Selecionada:
a. 
2 4 
6.
Respostas: a. 
2 4 
6.
b. 
0 1 
2.
c. 
1 2 
3.
d. 
1 3 
5.
e. 
3 6 
9.
Comentário
da 
resposta:
Resposta: A
Comentário: o programa possui uma 
função incr_vetor(int *v , int tam ) que recebe um 
ponteiro para um inteiro e um inteiro, tendo como 
saída do programa os valores 2 4 6, pois os 
elementos do vetor serão incrementados dentro da
função.
 Pergunta 4
0,1 em 0,1 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Ao declarar um vetor, para dimensioná-lo, é necessário saber 
de antemão quantos elementos deveriam compô-lo. Temos de 
prever o número máximo de elementos no vetor durante o 
processo da codificação.
 
Com base nesses dados, avalie as afirmações seguintes:
I. O predimensionamento do vetor é um fator que limita a 
programação.
II. Podemos superdimensionar o vetor, pois nunca estamos 
sujeitos a ter falta de memória.
III. Podemos reservar a memória, isto é, solicitar ao programa 
que aloque dinamicamente um espaço na memória durante 
sua execução.
 
É correto apenas o que se afirma em:
Resposta 
Selecionada:
e. 
I e III, 
apenas.
Respostas: a. 
I, apenas.
b. 
II, apenas.
c. 
III, apenas.
d. 
I e II, 
apenas.
e. 
I e III, 
apenas.
Comentári
o da 
resposta:
Resposta: E
Comentário: visando a resolver o problema de 
“prever” o número máximo de elementos em um 
vetor, uma solução seria superdimensionar o seu 
tamanho para tentar contornar essa falta de 
elementos livres durante a execução do programa. 
Porém, isso acarreta desperdício de memória, o que
é inaceitável em diversas aplicações, 
principalmente nos aplicativos portáteis, em que 
sempre estamos sujeitos a ter falta de memória.
 Pergunta 5
0,1 em 0,1 pontos
Considere o programa a seguir escrito em Linguagem C que 
deve receber uma string
de caracteres e uma letra. Para isso, o programa possui uma 
função que devolve um vetor de inteiros contendo as posições 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
(índices no vetor da string) em que a letra foi encontrada e um 
inteiro contendo o tamanho do vetor criado (total de letras 
iguais encontradas). Para que o programa execute 
corretamente a sua função, é preciso adicionar comandos nas 
linhas 11 e 25, respectivamente. Assinale a alternativa que 
apresenta corretamente esses comandos:
Resposta 
Selecionada:
b. 
indices = (int *) malloc(n* 
sizeof(int));
 indices = acha_caractere(frase, 'a',
&n);
Respostas:a. 
indices = (int) malloc(n sizeof(int));
 indices = acha_caractere(frase, 'a',
&n);
b. 
indices = (int *) malloc(n* 
sizeof(int));
 indices = acha_caractere(frase, 'a',
&n);
c. 
indices = (int *) malloc(n* 
sizeof(int));
 indices = acha_caractere(frase, 'a',
n);
d. 
indices = (int *) malloc(n* 
sizeof(int));
 indices = acha_caractere(frase, 'a',
*n);
e. 
indices = (int ) malloc(n sizeof(int));
 indices = acha_caractere(frase, 'a',
n);
Comentári
o da 
resposta:
Resposta: B
Comentário: o programa possui uma função – linhas
4 a 20. Porém, na linha 11 é preciso alocar 
memória para os índices e na linha 25 chamar a 
função acha_caractere(), passando as informações 
necessárias (frase, 'a', &n) por parâmetro, 
retornando os índices – linha 19.
 Pergunta 6
0,1 em 0,1 pontos
O programa a seguir tem como objetivo calcular o fatorial de 
um número n. Considere as entradas 0, 1 e 5 e assinale a 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
alternativa que apresenta corretamente a saída para cada uma
das entradas.
 
#include <stdio.h>
 
int f1(int n)
{
 if (n == 0)
 return (1);
 else
 return(n * f1(n-1));
}
 
void main(){
 int a, b;
 printf("Digite um valor inteiro:");
 scanf("%d", &a);
 b = f1(a);
 printf("%d \n", b);
}
Resposta 
Selecionada:
e. 
1, 1, 120.
Respostas: a. 
0, 1, 5.
b. 
1, 2, 3.
c. 
5, 10, 15.
d. 
10, 20, 
120.
e. 
1, 1, 120.
Comentário
da 
resposta:
Resposta: E
Comentário: o programa executa a função f1() de 
forma recursiva retornando com o resultado 
quando o n foi igual a zero. Enquanto o valor de n 
for diferente de zero, a função é chamada de forma
recursiva pelo código return(n * f1(n-1));
 Pergunta 7
0,1 em 0,1 pontos
O programa a seguir tem como objetivo calcular o fatorial de 
um número n. Considere as entradas 0, 1 e 5 e assinale a 
alternativa que apresenta corretamente a saída para cada uma
das entradas.
 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
#include <stdio.h>
 
void f2(int n)
{
 if (n == 0)
 printf("zero ");
 else
 {
 printf("%d ", n);
 f2(n-1);
 }
}
 
void main(){
 int a;
 printf("Digite um valor inteiro:");
 scanf("%d", &a);
 f2(a);
}
Resposta 
Selecionada:
d. 
Zero; 1 Zero; 5 4 3 2 1 
Zero
Respostas: a. 
0; 0 1; 0 1 2 3 4 5
b. 
0; 1 0; 5 4 3 2 1 0
c. 
1; 1 2; 1 2 3 4 5
d. 
Zero; 1 Zero; 5 4 3 2 1 
Zero
e. 
Zero; Zero 1; Zero 1 2 3 
4 5
Comentário
da 
resposta:
Resposta: D
Comentário: o programa executa a função f2() de 
forma recursiva retornando com o resultado 
quando o n foi igual a zero. Enquanto o valor de n 
for diferente de zero, a função é chamada de 
forma recursiva pelo código f2(n-1).
 Pergunta 8
0,1 em 0,1 pontos
O programa a seguir tem como objetivo calcular o fatorial de 
um número n. Considere as entradas 0, 1 e 5 e assinale a 
alternativa que apresenta corretamente a saída para cada uma
das entradas.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 
#include <stdio.h>
 
int func (int n)
{
 if (n == 0)
 return(0);
return(n + func(n-1));
}
 
void main(){
 int a, b;
 printf("Digite um valor inteiro:");
 scanf("%d", &a);
 b= func(a);
 printf ("%d \n", b);
}
Resposta 
Selecionada:
a. 
0, 1, 
15.
Respostas: a. 
0, 1, 
15.
b. 
0, 0, 3.
c. 
1, 1, 
15.
d. 
1, 2, 3.
e. 
3, 2, 1.
Comentário
da 
resposta:
Resposta: A
Comentário: o programa executa a 
função func() de forma recursiva retornando com o 
resultado quando o n foi igual a zero. Enquanto o 
valor de n for diferente de zero, a função é 
chamada de forma recursiva pelo código return(n 
+ func(n-1)).
 Pergunta 9
0,1 em 0,1 pontos
O programa a seguir tem como objetivo calcular o fatorial de 
um número n. Considere as entradas 0, 1 e 5 e assinale a 
alternativa que apresenta corretamente a saída para cada uma
das entradas.
 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
#include <stdio.h>
 
int func (int n)
{
 if (n == 0)
 return(0);
 return(3*n + func(n-1));
}
 
void main(){
 int a, b;
 printf("Digite um valor inteiro:");
 scanf("%d", &a);
 b= func(a);
 printf ("%d \n", b);
}
Resposta 
Selecionada:
b. 
0, 3, 
45.
Respostas: a. 
0, 1, 
15.
b. 
0, 3, 
45.
c. 
1, 1, 
15.
d. 
0, 3, 
15.
e. 
1, 3, 9.
Comentário
da 
resposta:
Resposta: B
Comentário: o programa executa a 
função func() de forma recursiva retornando com o 
resultado quando o n foi igual a zero. Enquanto o 
valor de n for diferente de zero, a função é 
chamada de forma recursiva pelo 
código return(3*n + func(n-1)).
 Pergunta 10
0,1 em 0,1 pontos
O programa realiza comparações entre duas strings
verificando qual das duas aparece primeiro no dicionário, 
porém há um erro neste código. Assinale a alternativa que 
apresenta o erro no programa a seguir:
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 
#include <stdio.h>
#include <string.h>
 
void main()
{
 char *a, *b;
 *a = "abacate";
 *b = "uva";
 if (strcmp(a, b) < 0 )
 printf ("%s vem antes de %s no dicionário \n", a, b);
 else
 printf ("%s vem depois de %s no dicionário \n", a, b);
}
Resposta 
Selecionada:
c. 
As variáveis “a” e “b” não precisavam ser 
ponteiros na atribuição de valores.
Respostas: a. 
O teste da condicional nunca pode ser menor 
que 0.
b. 
Estão faltando as chaves para identificar os 
blocos na condicional.
c. 
As variáveis “a” e “b” não precisavam ser 
ponteiros na atribuição de valores.
d. 
As variáveis “a” e “b” deveriam ser declaradas 
como string e não char.
e. 
O programa não possui erro.
Comentário 
da resposta:
Resposta: C
Comentário: as variáveis “a” e “b” não precisaria 
ser ponteiros na atribuição de valores, tendo 
dessa forma um erro de sintaxe. Uma solução 
desse problema seria:
#include <stdio.h>
#include <string.h>
 
void main()
{
 char *a, *b;
 a = "abacate";
 b = "uva";
 if (strcmp(a,b) < 0 )
 printf ("%s vem antes de %s no dicionário \n", 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
a, b);
 else
 printf ("%s vem depois de %s no dicionário 
\n", a, b);
}
 Pergunta 1
0,2 em 0,2 pontos
Considerando a função de inserção de um nó em uma estrutura de dados 
“Lista Ligada”, escrita em Linguagem C, é correto afirmar que:
 
No* insere (No* lista, int num) {
No* novo_no = (No*) malloc (sizeof(No));
novo_no.info = num;
novo_no.proximo = lista;
return novo_no;
}
Resposta 
Selecionada:
a. 
A função irá retornar um endereço que conterá um tipo 
No.
Respostas: a. 
A função irá retornar um endereço que conterá um tipo 
No.
b. 
Não precisamos alocar um espaço na memória para criar 
um nó.
c. 
Uma vez criado o novo nó, devemos liberar a memória 
para ter condições de receber os dados.
d. 
A função retorna o endereço do nó criado sem precisar 
fazer a inserção.
e. 
A função declara diretamente a estrutura do nó.
Comentário 
da resposta:
Resposta: A
Comentário: A função insere() recebe, por parâmetro, um 
ponteiro para a lista (No) e um inteiro através da 
variável num, retornando para a função um ponteiro 
(novo_no), ou seja, um endereço do tipo No.
 Pergunta 2
0,2 em 0,2 pontos
Considere um determinado programa executando as seguintes 
operações, sequencialmente:
 
I – Lê vários caracteres no teclado e cada caractere lido é 
colocado dentro de uma pilha.
II – Esvazia a pilha e coloca cada elemento, um depois do 
outro, dentro de uma outra pilha.
III – Esvazia a pilha e coloca cada elemento, um depois do 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
outro, dentro de umafila.
IV – Esvazia a fila e imprime cada elemento, um depois do 
outro.
 
Assumindo que foram inseridos os seguintes elementos: A B C 
D, assinale a alternativa que apresente os elementos 
impressos na ordem correta:
Resposta 
Selecionada:
a. 
A B C 
D.
Respostas: a. 
A B C 
D.
b. 
A A B 
B.
c. 
D C B 
A.
d. 
C B A 
D.
e. 
D A C 
B.
Comentário 
da resposta:
Resposta: A
Comentário: Analisando o teste de mesa, é 
possível observar todo o sequenciamento dos 
elementos, tanto na pilha quanto na fila, e o 
estado após a manipulação dos elementos.
 Pergunta 3
0,2 em 0,2 pontos
Considere um determinado programa, executando as seguintes
operações, sequencialmente:
 
I – Lê vários caracteres no teclado e cada caractere lido é 
colocado dentro de uma pilha.
II – Esvazia a pilha e coloca cada elemento, um depois do 
outro, dentro de uma fila.
III – Esvazia a fila e coloca cada elemento, um depois do outro, 
dentro de uma outra pilha.
IV – Esvazia a pilha e imprime cada elemento, um depois do 
outro.
 
Assumindo que foram inseridos os seguintes elementos: w x y 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
z, assinale a alternativa que apresente os elementos impressos
na ordem correta:
Resposta 
Selecionada:
e. 
w x y 
z.
Respostas: a. 
w x x 
z.
b. 
z y x 
w.
c. 
x y w 
z.
d. 
w w z 
z.
e. 
w x y 
z.
Comentário 
da resposta:
Resposta: E
Comentário: Analisando o teste de mesa, é 
possível observar todo o sequenciamento dos 
elementos, tanto na pilha quanto na fila e o estado
após a manipulação dos elementos.
 Pergunta 4
0,2 em 0,2 pontos
Na estrutura de dados do tipo Fila, os acessos aos elementos 
seguem uma regra fixa. Nessa estrutura, o primeiro elemento 
que entra é o primeiro que sai ( First-In-First-Out – FIFO). A 
ideia fundamental da fila é que só é possível inserir um novo 
elemento no final da fila e só é possível retirar o elemento que 
está no início da fila, e para isso são definidos os seguintes 
comandos:
• retira (p): Retira um elemento no início da fila.
• insere (p, n): Insere um elemento no fim da fila.
Considerando uma estrutura de dados tipo Fila “f”, inicialmente
vazia, será executada a seguinte sequência de comandos:
 
insere(f, 10);
insere(f, 20);
insere(f, 30);
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
insere(f, 40);
printf(“Primeiro elemento: %d \n”, retira(f));
printf(“Segundo elemento: %d \n”, retira(f));
insere(f, 50);
insere(f, 60);
printf(“Terceiro elemento: %d \n”, retira(f));
 
Após a execução dos comandos acima, assinale a alternativa 
que apresenta o elemento no início da fila e qual é o valor da 
soma de todos os elementos restantes nesta fila, 
respectivamente:
Resposta 
Selecionada:
c. 
40 e 
150.
Respostas: a. 
10 e 50.
b. 
30 e 
100.
c. 
40 e 
150.
d. 
30 e 
180.
e. 
40 e 60.
Comentário
da 
resposta:
Resposta: C
Comentário: Analisando o teste de mesa, linha a 
linha, é possível verificar a sequência dos 
comandos entra e sai de acordo com a sequência 
previamente definida. A última linha apresenta o 
elemento 40 como sendo o primeiro elemento da 
fila e o número 150 representando a soma de todos
os elementos restantes na fila.
 Pergunta 5
0,2 em 0,2 pontos
Na estrutura de dados do tipo Fila, os acessos aos elementos 
seguem uma regra fixa. Essa estrutura, o primeiro elemento 
que entra, é o primeiro que sai ( First-In-First-Out – FIFO). A 
ideia fundamental da fila é que só é possível inserir um novo 
elemento no final da fila e só é possível retirar o elemento que 
está no início da fila, e para isso são definidos os seguintes 
comandos:
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
• retira (p): Retira um elemento no início da fila.
• insere (p, n): Insere um elemento no fim da fila.
Considerando uma estrutura de dados tipo Fila “f”, inicialmente
vazia, será executada a seguinte sequência de comandos:
 
insere(f, 12);
insere(f, 8);
printf(“Primeiro elemento: %d\n”, retira(f));
insere(f, 3);
insere(f, 4);
printf(“Segundo elemento: %d\n”, retira(f));
insere(f, 9);
insere(f, 6);
 
Após a execução dos comandos acima, assinale a alternativa 
que apresenta o elemento no início da fila e qual é o valor da 
soma de todos os elementos restantes nesta fila, 
respectivamente:
Resposta 
Selecionada:
b. 
3 e 22.
Respostas: a. 
6 e 7.
b. 
3 e 22.
c. 
3 e 19.
d. 
12 e 
42.
e. 
6 e 15.
Comentário
da 
resposta:
Resposta: B
Comentário: Analisando o teste de mesa, linha a 
linha, é possível verificar a sequência dos 
comandos entra e sai de acordo com a sequência 
previamente definida. A última linha apresenta o 
elemento 3 como sendo o primeiro elemento da fila
e o número 22 representando a soma de todos os 
elementos restantes na fila.
 Pergunta 6
0,2 em 0,2 pontos
Na estrutura de dados do tipo Fila, os acessos aos elementos 
seguem uma regra fixa. Nessa estrutura, o primeiro elemento 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
que entra é o primeiro que sai ( First-In-First-Out – FIFO). A 
ideia fundamental da fila é que só é possível inserir um novo 
elemento no final da fila e só é possível retirar o elemento que 
está no início da fila e, para isso, são definidos os seguintes 
comandos:
• retira (p): Retira um elemento no início da fila.
• insere (p, n): Insere um elemento no fim da fila.
Considerando uma estrutura de dados tipo Fila “f”, inicialmente
vazia, será executada a seguinte sequência de comandos:
 
insere(f, 1);
printf(“Primeiro elemento: %d\n”, retira(f));
insere(f, 2);
insere(f, 3);
printf(“Segundo elemento: %d\n”, retira(f));
insere(f, 4);
insere(f, 5);
insere(f, 6);
 
Após a execução dos comandos acima, assinale a alternativa 
que apresenta o elemento no início da fila e qual é o valor da 
soma de todos os elementos restantes nesta fila, 
respectivamente:
Resposta 
Selecionada:
e. 
3 e 
18.
Respostas: a. 
6 e 7.
b. 
3 e 
22.
c. 
3 e 
19.
d. 
6 e 
15.
e. 
3 e 
18.
Comentário
da 
resposta:
Resposta: E
Comentário: Analisando o teste de mesa, linha a 
linha, é possível verificar a sequência dos 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
comandos entra e sai, de acordo com a sequência 
previamente definida. A última linha apresenta o 
elemento 3 como sendo o primeiro elemento da fila
e o número 18 representando a soma de todos os 
elementos restantes na fila.
 Pergunta 7
0,2 em 0,2 pontos
Uma estrutura de dados do tipo Pilha possui uma regra de 
inserção dos elementos, em que o último que entra na 
sequência é o primeiro a sair ( Last-In-First-Out
– LIFO) e para a manipulação desses dados, são definidos dois 
comandos básicos:
• POP (p): Retira o elemento no topo da pilha.
• PUSH (p, n): Insere um número “n” em uma estrutura de 
dados do tipo pilha “p”.
Considerando uma estrutura de dados tipo Pilha “p”, 
inicialmente vazia, serão executados os seguintes comandos:
PUSH (p, 10)
PUSH (p, 3) 
PUSH (p, 5) 
PUSH (p, 6)
POP (p)
POP (p)
PUSH (p, 12)
PUSH (p, 1)
POP (p)
 
Após a execução da sequência dos comandos acima, assinale a
alternativa que apresenta o elemento do TOPO da Pilha e qual 
é o valor da soma de todos os elementos restantes nesta pilha,
respectivamente.
Resposta 
Selecionada:
b. 
12 e 
25.
Respostas: a. 
1 e 10.
b. 
12 e 
25.
c. 
1 e 22.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
d. 
12 e 
15.
e. 
10 e 
13.
Comentári
o da 
resposta:
Resposta: B
Comentário: Analisando o teste de mesa, coluna a 
coluna, é possível verificar a sequência dos 
comandos pop() e push() de acordo com a 
sequência previamente definida. A última coluna 
apresenta o elemento 12 como sendoo TOPO da 
pilha e o número 25 representando a soma de 
todos os elementos na pilha nesta mesma coluna.
 Pergunta 8
0,2 em 0,2 pontos
Uma estrutura de dados do tipo Pilha possui uma regra de 
inserção dos elementos, em que o último que entra na 
sequência é o primeiro a sair ( Last-In-First-Out
– LIFO) e para a manipulação desses dados, são definidos dois 
comandos básicos:
• POP(p): Retira o elemento no topo da pilha.
• PUSH(p, n): Insere um número “n” em uma estrutura de 
dados do tipo pilha “p”.
Considerando uma estrutura de dados tipo pilha “p”, 
inicialmente vazia, serão executados os seguintes comandos:
PUSH (p, 8)
PUSH (p, 2)
POP (p)
PUSH (p, 1)
PUSH (p, 4) 
PUSH (p, 6)
POP (p)
 
Após a execução da sequência dos comandos acima, assinale a
alternativa que apresenta o elemento do TOPO da Pilha e qual 
é o valor da soma de todos os elementos restantes nesta pilha,
respectivamente.
Resposta 
Selecionada:
d. 
4 e 
13.
Respostas: a. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
4 e 
15.
b. 
8 e 
13.
c. 
6 e 
19.
d. 
4 e 
13.
e. 
8 e 
19.
Comentári
o da 
resposta:
Resposta: D
Comentário: Analisando o teste de mesa, coluna a 
coluna, é possível verificar a sequência dos 
comandos pop e push de acordo com a sequência 
previamente definida. A última coluna apresenta o 
elemento 4 como sendo o TOPO da pilha e o 
número 13 representando a soma de todos os 
elementos na pilha nesta mesma coluna.
 Pergunta 9
0,2 em 0,2 pontos
Uma estrutura de dados do tipo Pilha possui uma regra de 
inserção dos elementos, em que o último que entra na 
sequência é o primeiro a sair ( Last-In-First-Out
– LIFO) e, para a manipulação desses dados, são definidos dois 
comandos básicos:
• POP(p): Retira o elemento no topo da pilha.
• PUSH(p, n): Insere um número “n” em uma estrutura de 
dados do tipo pilha “p”.
Considerando uma estrutura de dados tipo pilha “p”, 
inicialmente vazia, serão executados os seguintes comandos:
PUSH (p, 6)
POP (p)
PUSH (p,12)
PUSH (p, 11)
PUSH (p,5) 
PUSH (p,4)
POP (p)
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
 
Após a execução da sequência dos comandos acima, assinale a
alternativa que apresenta o elemento do TOPO da Pilha e qual 
é o valor da soma de todos os elementos restantes nesta pilha,
respectivamente.
Resposta 
Selecionada:
a. 
5 e 28.
Respostas: a. 
5 e 28.
b. 
6 e 16.
c. 
6 e 17.
d. 
4 e 32.
e. 
12 e 
19.
Comentári
o da 
resposta:
Resposta: A
Comentário: Analisando o teste de mesa, coluna a 
coluna, é possível verificar a sequência dos 
comandos pop e push de acordo com a sequência 
previamente definida. A última coluna apresenta o 
elemento 5 como sendo o TOPO da pilha e o 
número 28 representando a soma de todos os 
elementos na pilha nesta mesma coluna.
 Pergunta 10
0,2 em 0,2 pontos
Uma lista ligada é um conjunto linear de nós conectados de 
forma unidirecional. Cada nó é composto por um conjunto de 
dados e um ponteiro indicando o endereço do elemento 
seguinte. Na manipulação de listas, precisamos de três 
operações fundamentais. Assinale a alternativa que 
corresponda com essas operações:
Resposta 
Selecionada:
b. 
Inserção, busca e 
remoção.
Respostas: a. 
Insert, function e
delete.
b. 
Inserção, busca e 
remoção.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
c. 
String, nó e delete.
d. 
Nó, ponteiro e lista.
e. 
Função, memória e 
criação.
Comentário
da 
resposta:
Resposta: B
Comentário: O conjunto de funções que manipulam
um determinado dado também é conhecido como 
Tipo Abstrato de Dados (TAD). Assim, as operações 
que fazem um conjunto de nós funcionarem dentro 
de um certo padrão (inserção, busca, remoção, 
criação, destruição, impressão) formam um TAD.
 Pergunta 1
0,2 em 0,2 pontos
Com base no conceito de árvores binárias, para percorrer uma árvore não vazia em 
ordem, é correto afirmar que:
 
I. Na primeira iteração, percorre-se a subárvore direita em ordem simétrica.
II. Na segunda iteração, visita-se a raiz.
III. Na terceira iteração, percorre-se a subárvore esquerda em ordem simétrica.
Resposta 
Selecionada:
e. 
A sequência não está 
correta.
Respostas: a. 
Apenas I está correta.
b. 
Apenas I e II estão 
corretas.
c. 
Apenas III está correta.
d. 
Apenas II e III estão 
corretas.
e. 
A sequência não está 
correta.
Comentário da 
resposta:
Resposta: E
Comentário: De acordo com o conceito de árvores binárias em 
ordem, para percorrer uma árvore será necessário:
1. ir para a SAE (subárvore esquerda);
2. ler o nó;
3. ir para a SAD (subárvore direita).
 Pergunta 2
0,2 em 0,2 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
Considere a árvore binária abaixo e assinale a alternativa que apresenta a sequência 
correta através do percurso em ordem:
 
Resposta 
Selecionada:
b. 
A B C D E F G H
I.
Respostas: a. 
F B A D C E H G
I.
b. 
A B C D E F G H
I.
c. 
A C E D B G I H
F.
d. 
F B H A D G I C 
E.
e. 
E C I G D A H B
F.
Comentário 
da resposta:
Resposta: B
Comentário: De acordo com o conceito de árvores binárias, para 
percorrer uma árvore em ordem serão necessários os seguintes 
passos:
1. ir para a SAE (subárvore esquerda);
2. ler o nó;
3. ir para a SAD (subárvore direita).
 Pergunta 3
0,2 em 0,2 pontos
De acordo com a definição das estruturas de Árvores Binárias, 
é correto afirmar:
 
I. São estruturas de dados unidimensionais que permitem a 
representação em hierarquias.
II. Existe um nó denominado raiz, que pode ramificar-se (ou 
não) em subárvores.
III. Uma árvore binária é um caso especial de árvore em que 
um pai tem no máximo dois filhos.
Resposta 
Selecionada:
e. 
Apenas II e III estão 
corretas.
Respostas: a. 
Apenas I está correta.
b. 
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
Apenas II está correta.
c. 
Apenas III está correta.
d. 
Apenas I e II estão 
corretas.
e. 
Apenas II e III estão 
corretas.
Comentário 
da 
resposta:
Resposta: E
Comentário: De acordo com o conceito de árvores 
binárias, são estruturas de dados 
multidimensionais que permitem a representação 
de hierarquias, ou a representação em vários 
níveis.
 Pergunta 4
0,2 em 0,2 pontos
De acordo com a definição das estruturas de Árvores Binárias, 
assinale a alternativa que apresenta os nós percorridos para 
buscar o nó “D” através do percurso em pré-ordem:
Resposta 
Selecionada:
c. 
F B D.
Respostas: a. 
A B D.
b. 
C D.
c. 
F B D.
d. 
F B A 
D.
e. 
E D.
Comentário
da 
resposta:
Resposta: C
Comentário: De acordo com a definição de árvores 
binárias, para a realização de uma busca na árvore,
devemos saber que os valores menores estão na 
SAE (subárvore esquerda) e os números maiores, 
na SAD (subárvore direita). Dessa forma, a busca 
inicia no nó raiz, segue para a esquerda e na 
sequência, à direita, encontrando assim, o nó “D”.
 Pergunta 5
0,2 em 0,2 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
De acordo com a definição das estruturas de árvores binárias, 
assinale a alternativa que apresenta as folhas da árvore 
abaixo:
Resposta 
Selecionada:
e. 
A C E G I.
Respostas: a. 
F B H.
b. 
A B D C E H G
I.
c. 
B D H F.
d. 
B D H.
e. 
A C E G I.
Comentário 
da resposta:
Resposta: E
Comentário: De acordo com o conceito de árvores
binárias, como os nós A, C, E, G e I não têm 
ramificações, são chamados de folhas.
 Pergunta 6
0,2 em 0,2 pontos
De acordo com a definição das estruturas de árvores binárias, 
assinale a alternativa que apresenta a altura da árvore abaixo:
Resposta 
Selecionada:
b. 
3.
Respostas: a. 
2.
b. 
3.
c. 
4.
d. 
5.
e. 
9.
Comentário 
da resposta:Resposta: B
Comentário: De acordo com a definição de árvores
binárias, a quantidade de nós percorridos da raiz 
(sem contá-la) até a folha mais distante determina
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
a altura ou níveis da árvore.
 Pergunta 7
0,2 em 0,2 pontos
O diagrama abaixo representa uma árvore binária com o percurso em pós-ordem 
(pós-fixo). Assinale a alternativa que corresponda com a sequência correta do 
percurso correto em pós-ordem.
 
Resposta 
Selecionada:
c. 
A C E D B G I H
F.
Respostas: a. 
F B A D C E H G
I.
b. 
A B C D E F G H
I.
c. 
A C E D B G I H
F.
d. 
F B H A D G I C 
E.
e. 
E C I G D A H B
F.
Comentário da 
resposta:
Resposta: C
Comentário: Com base no conceito de árvores binárias em pós-
ordem, a sequência correta é:
1. ir para a SAE (subárvore esquerda);
2. ir para a SAD (subárvore direita);
3. ler o nó.
 Pergunta 8
0,2 em 0,2 pontos
O diagrama abaixo representa uma árvore binária com o percurso em pré-ordem. 
Assinale a alternativa que corresponda com a sequência correta do percurso correto 
em pré-ordem.
 
Resposta 
Selecionada:
a. 
F B A D C E H G
I.
Respostas: a. 
F B A D C E H G
I.
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
b. 
A B C D E F G H
I.
c. 
A C E D B G I H
F.
d. 
F B H A D G I C 
E.
e. 
E C I G D A H B
F.
Comentário da 
resposta:
Resposta: A
Comentário: Para percorrer uma árvore em pré-ordem, será 
necessário manter a seguinte sequência:
1. ler o nó;
2. ir para a SAE (subárvore esquerda);
3. ir para a SAD (subárvore direita).
 Pergunta 9
0,2 em 0,2 pontos
Para percorrer uma árvore binária não vazia em pós-ordem, é correto afirmar que:
 
I. primeiro, será necessário percorrer a subárvore esquerda em ordem posterior.
II. segundo, será necessário percorrer a subárvore esquerda em ordem anterior.
III. terceiro, visita-se o nó raiz.
Resposta 
Selecionada:
d. 
Apenas I e III estão 
corretas.
Respostas: a. 
Apenas I está correta.
b. 
Apenas II está correta.
c. 
Apenas III está correta.
d. 
Apenas I e III estão 
corretas.
e. 
Apenas II e III estão 
corretas.
Comentário da 
resposta:
Resposta: D
Comentário: De acordo com o conceito de árvores binárias em 
pós-ordem, para percorrer uma árvore será necessário:
1. ir para a SAE (subárvore esquerda);
2. ir para a SAD (subárvore direita);
3. ler o nó.
 Pergunta 10
0,2 em 0,2 pontos
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
Para percorrer uma árvore binária não vazia em pré-ordem, é correto afirmar que:
 
I. A primeira iteração será no nó raiz.
II. A segunda iteração ocorrerá na subárvore esquerda em ordem prévia.
III. A terceira iteração ocorrerá na subárvore direita em ordem prévia.
Resposta 
Selecionada:
e. 
Todas as alternativas estão 
corretas.
Respostas: a. 
Apenas I está correta.
b. 
Apenas II está correta.
c. 
Apenas III está correta.
d. 
Apenas II e III estão corretas.
e. 
Todas as alternativas estão 
corretas.
Comentário da 
resposta:
Resposta: E
Comentário: De acordo com o conceito de árvores binárias em 
pré-ordem, para percorrer uma árvore será necessário:
1. ler o nó;
2. ir para a SAE (subárvore esquerda);
Baixado por julia (jg304258@gmail.com)
lOMoARcPSD|32728594
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10
	Pergunta 1
	Pergunta 2
	Pergunta 3
	Pergunta 4
	Pergunta 5
	Pergunta 6
	Pergunta 7
	Pergunta 8
	Pergunta 9
	Pergunta 10

Outros materiais