Buscar

Gabarito prova presencial 1ª chamada Algoritmos e Técnicas de Programação

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

Gabarito prova presencial 1ª chamada Algoritmos e Técnicas de Programação.
Questão 1
A atribuição se refere ao ato de atribuir um(a) valor/informação a uma variável. 
Analise o algoritmo abaixo.
Algoritmo_Prova;
var
inteiro: x, z, y;
caracter: c;
inicio
x ← 15;
y ← 40;
z ← x;
x ← y;
y ← z;
c ← ‘x’;
escreva (x, y, c);
fim.
Quais os valores de x, y e c, respectivamente, que serão impressos na tela ao término da execução do algoritmo?
A) 40, 15, 40.
B) 40, 40, x.
C) 15, 40, 15.
D) 15, 40, x.
E) 40, 15, x.
Questão 2
As sub-rotinas são blocos de comandos que realizam tarefas específicas, ou seja, são conjuntos de instruções projetadas para cumprirem uma atividade singular. 
Neste contexto, analise as afirmativas abaixo.
I. Uma função é um bloco de instruções que realiza uma ação e retorna um valor ao programa principal (por exemplo, calcular a área de uma figura geométrica). 
II. Quando declaramos uma função, devemos informar qual o seu tipo, ou seja, qual o tipo do valor que será retornado ao programa principal.
III. Na chamada por referência é passado uma cópia da variável para a sub-rotina; qualquer alteração feita no parâmetro não reflete em alteração no argumento. 
IV. Na chamada por valor todas as alterações realizadas no parâmetro refletem em alterações no argumento. 
Estão corretas:
A) II e III, apenas.
B) I e III, apenas.
C) II e IV, apenas.
D) I e II, apenas.
E) I e IV, apenas
Questão 3
Analise a função abaixo codificada na linguagem C.
int x(int n) 
{
if (n == 1 ou n == 2) 
{
return n;
}
else
{
return x (n – 1) + n * x (n – 2); 
} 
}
Qual o valor de x (4) que a função, após ser executada, retornará?
A) 10.
B) 11.
C) 12.
D) 13.
E) 14.
Questão 4
Analise o algoritmo seguinte:
algoritmo prova;
var
real area, base maior, base menor, altura;
inicio
escreva ("Digite a Base maior");
leia (basemaior);
escreva ("Digite a Base menor");
leia (basemenor);
escreva ("Digite a altura");
leia (altura);
.......
.......
fim.
O algoritmo desta questão calcula a área do trapézio e sua fórmula é (b + B).h/2. 
Assinale a alternativa que corresponde as linhas do algoritmo que estão faltando.
A) area ← ((basemenor + basemaior)/altura)*2;
escreva ("A area do trapezio e", area);
B) area ← ((basemenor + basemaior))/2;
escreva ("A area do trapezio e", area);
C) area ← ((basemenor + basemaior)*altura)/2;
escreva ("A area do trapezio e", area);
D) altura ← ((basemenor + basemaior)*base)/2;
escreva ("A area do trapezio e", area);
E) area ← ((basemenor)*altura)/2;
escreva ("A area do trapezio e", area)
Questão 5
Cada linguagem adota um método particular para gerar o código executável.
Podemos destacar:
I. Compiladores;
II. Interpretadores;
III. Tradutores.
Neste contexto, analise as afirmativas abaixo e faça a correlação delas como os três métodos acima.
( ) O código é interpretado e executado em tempo real, sem a geração de código executável.
( ) São gerados códigos intermediários que não exigem tanto espaço de memória.
( ) Gera um código executável sem a necessidade de interpretar comando por comando.
( ) Independe da arquitetura que realizará a execução final, porém necessita de um método específico para sua geração.
( ) Caso o código fonte necessite de alterações, ele deverá ser editado e executado em máquinas de mesma arquitetura.
( ) Leem uma instrução do código fonte, transforma em código binário e executa; repete esse processo até que todas as instruções do código fonte sejam executadas.
Assinale a alternativa que apresenta a sequência correta.
A) II – III – I – III – I – II.
B) I – III – II – III – II – I.
C) I – II – I – III – II – I.
D) II – II – I – III – I – III.
E) II – I – III – III – I – II.
Questão 6
O algoritmo a seguir calcula a área do círculo A = πr2. 
Analise linha a linha da sua execução.
	1.
	algoritmo prova;
	2.
	var
	3.
	     real area, p1, raio;
	4.
	inicio
	5.
	     escreva ("Digite o raio do circulo");
	6.
	     leia (raio);
	7.
	     p1 ← 3.14;
	8.
	     area ← (p1*(pow(raio,2));
	9.
	     escreva ("A area do circulo e: ", raio);
	10.
	fim.
Em relação ao algoritmo apresentado, podemos afirmar que:
I. Na linha 7 do algoritmo é definida uma constante.
II. Na linha 8 do algoritmo é possível substituir por: area ← (p1*(raio*raio));
III. A linha 9 está escrita de forma errada e o correto é: escreva ("A area do circulo e:", area);.
Assinale a alternativa correta.
A) Apenas as afirmações I, II e III estão corretas.
B) Apenas a afirmação II está correta.
C) Apenas as afirmações I e II estão corretas.
D) Apenas a afirmação III está correta.
E) Apenas a afirmação I está correta.
Questão 7
Considere o programa em C dado abaixo. Forneça os valores para as varáveis que representam lados de um triângulo A = 10, B = 2, C = 1 e verifique se eles podem ser valores dos lados de um triângulo ou se não são valores válidos. Caso os valores sejam válidos, qual será o tipo de triângulo que o programa fornecerá?
Assinale a alternativa correta.
#include < stdio.h >
#include < stdlib.h >
int main()
{
float a,b,c;
printf("\nInforme a medida do lado a: ");
scanf("%f",&a);
printf("\nInforme a medida do lado b: ");
scanf("%f",&b);
printf("\nInforme a medida do lado c: ");
scanf("%f",&c);
if (a<(b+c) && b<(a+c) && c<(a+b))
{
if (a==b && b==c)
{
printf("\nO triangulo e Equilatero! \n");
}
else
{
if (a==b || b==c)
{
printf("\nO triangulo e Isosceles! \n");
}
else
{
printf("\nO triangulo e Escaleno! \n");
}
}
}
else
printf("\nAs medidas informadas nao formam um triangulo! \n");
return0;
}
A) Nenhuma mensagem será impressa!
B) O triângulo e equilátero!
C)As medidas informadas não formam um triangulo!
D) O triângulo e escaleno!
E) O triângulo e isósceles!
Questão 8
Considere a função, em linguagem C, dada abaixo.
int abc(numero)
{
   if (numero <= 1) 
   {
     return número;
   }
   else
   {
      return número*abc (número – 1)
   }
}
Assinale a opção que apresenta o resultado final de abc (4) após a execução da função acima.
A) 5.
B) 12.
C) 24.
D) 4.
E) 0.
Questão 9
As estruturas de dados homogêneas permitem agrupar diversas informações dentro de uma mesma variável. Este agrupamento ocorre obedecendo sempre ao mesmo tipo de dado. 
Considere o seguinte algoritmo:
Algoritmo_Prova;
var
inteiro: m[4,3];
inteiro: i,c;
inicio
para i ← 1 ate 3 passo 1 faca
para c ← 1 ate 4 passo 1 faca
m[i,c] ← i + c;
fim_para;
fim_para;
fim.
O valor do elemento m [1,3] é:
A) 1.
B) 5.
C) 3.
D) 4.
E) 2.
Questão 10
Em computação, pode-se dizer que um algoritmo é um procedimento para resolver um problema usando um número finito de instruções, envolvendo, frequentemente, a repetição de uma ou mais operações.
Analise as asserções abaixo sobre as propriedades de um algoritmo.
I. Um algoritmo deve sempre terminar após um número finito de etapas.
II. As propriedades de um algoritmo são: finitude, definição, entrada, saída e ambiguidade.
III. Cada passo de um algoritmo deve ser definido com precisão; as ações a serem executadas deverão ser especificadas rigorosamente e sem ambiguidades para cada caso. 
IV. Um problema pode ser resolvido apenas por um único algoritmo.
Estão corretas apenas as asserções:
A) I, II e IV.
B) II, III e IV.
C) I e III.
D) I e II.
E) II e IV.
Questão 11
Vetor é uma das estruturas que existe para o armazenamento de dados. Sua utilização é vasta devido a facilidade em ler e escrever dados e a velocidade com que as operações são realizadas, pois cada valor no vetor e armazenado sequencialmente na memória (MANZANO, 2015).
Considere as afirmações sobre os vetores e escolha a opção correta.
I – O vetor é uma estrutura de dados dinâmica, ou seja, seu tamanho pode ser redimensionado em tempo de execução.
II – Como o vetor é uma estrutura unidimensional, para acessar seus dados é preciso somente um índice.
III – Uma das características dos vetores é que eles podem armazenar dados de qualquer tipo.
A) Apenas a alternativa II está correta.
B) Apenas a alternativa III está correta.
C) Apenas as alternativas II e III estão corretas.
D) Apenas as alternativas I e II estão corretas.
E) Apenas a alternativa I está correta.
Questão12
Para definir uma função, empregamos a seguinte forma básica:
< tipo > < nome >([< tipo de parâmetros >][< parâmetros >]) 
}
//declarações;
//comandos;
}
De acordo com a forma de representação de uma função, analise as afirmativas abaixo.
I. < tipo > refere-se ao tipo de entrada que a função receberá; este tipo deve ser void se a função não tiver valor de entrada;
II. < nome > é o identificador da função no resto do programa;
III. < parâmetros > 
é uma lista de variáveis que representam valores de entrada para a função; 
IV. Dentro do corpo da função, a primeira seção é destinada à declaração das variáveis globais.
Estão corretas:
A) II e IV, apenas.
B) I e III, apenas.
C) I e II, apenas.
D) I e IV, apenas.
E) II e III, apenas.

Outros materiais