Prévia do material em texto
Questão 1
A estrutura de repetição para é utilizada quando se sabe o número de vezes em
que um trecho do algoritmo deve ser repetido.
Observe o algoritmo a seguir:
Algoritmo_Prova;
var
inteiro: i, x, a, cont;
inicio
a ← 0;
cont ← 0;
para i ← 1 ate 5 passo 1 faca
escreva("Digite o valor de x:");
leia(x);
se (x > a) entao
a ← x;
cont ← cont + 1;
fim_se;
fim_para;
escreva(a,cont);
fim.
Assinale a alternativa que contém o que será impresso, respectivamente,
para a e cont quando as entradas forem 2, 9, 5, 3, 7.
A) 7 e 0.
B) 7 e 2.
C) 9 e 1.
D) 9 e 2.
E) 5 e 2.
Questão 2
De acordo com a Sanepar, um pequeno buraco de 2 milímetros em um
encanamento de água desperdiça 3,2 mil litros de água em um dia. Um analista da
empresa escreveu o algoritmo em pseudocódigo, dado abaixo, para calcular o
desperdício de água em função de buracos em encanamentos.
Algoritmo_Prova;
var
inteiro: dias;
real: largura, desperdicio;
inicio
escreva("Digite a largura do buraco em milimetros: ");
leia(largura);
escreva("Digite o numero de dias do vazamento: ");
leia(dias);
se (...I...) entao
...II...;
escreva("Em ", dias, "dias foram desperdicados ", desperdicio, "mil litros de
agua.");
senao
escreva("Você digitou algum dado inválido.");
fim_se;
fim.
O comando que preenche corretamente as lacunas:
A) ...II...: desperdicio ← (largura/2.0) * 3.2 * dias;
B) ...I...: (largura > 0 ou dias > 0);
C) ...I...: (largura > 0 e desperdicio > 0);
D) ...II...: desperdicio ← (largura/3.2) * 2.0 * dias;
E) ...II...: desperdicio ← desperdicio + (largura/2.0) * 3.2;
Questão 3
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 as alternativas II e III estão corretas.
B) Apenas a alternativa II está correta.
C) Apenas as alternativas I e II estão corretas.
D) Apenas a alternativa I está correta.
E) Apenas a alternativa III está correta.
Questão 4
Sobre a estrutura condicional de seleção de casos, analise a afirmação abaixo e
complete as lacunas apresentadas.
A estrutura condicional de seleção de casos, __________, testa sucessivamente o
valor de uma expressão contra uma lista de constantes __________. Quando os
valores são avaliados, o comando é executado. Caso nenhum dos valores seja
encontrado, o comando __________ será executado e os comandos são
executados até o ponto que o comando __________ for localizado.
Assinale a alternativa que preenche as lacunas corretamente, na ordem em que
aparecem.
A) switch – numéricas ou de caracteres – default – break.
B) switch-case – inteiras ou de caracteres – break – default.
C) switch-case – inteiras ou de caracteres – default – break.
D) switch-case – numéricas ou de caracteres – default – break.
E) switch – numéricas ou de caracteres – break – default.
Questão 5
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) 3.
B) 4.
C) 2.
D) 1.
E) 5.
Questão 6
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: x[20];
inicio
para i ← 1 ate 10 passo 1 faca
x[i] ← i*3;
fim_para;
fim.
Assinale a alternativa que contém os dados armazenados em cada posição do
vetor, da primeira até a última, respectivamente, após a execução do código.
A) 2, 4, 6, 8, 10, 12, 14, 16, 18, 20.
B) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
C) 3, 6, 9, 12, 15, 18, 21, 24, 27, 30.
D) 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
E) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Questão 7
Analise o código abaixo na linguagem C.
#include < stdio.h >
#include < conio.h >
int main()
{
int X, Y, Z;
X = 1;
Y = 3;
Z = 4;
if (X == 1)
prinft("verdadeiro - ");
else
prinft ("falso - ");
if (Y == 3)
prinft ("verdadeiro - ");
else
prinft ("falso - ");
if (Z == 5)
prinft ("verdadeiro");
else
prinft ("falso");
return 0;
}
A alternativa correta, quanto à saída produzida, é:
A) falso – falso – verdadeiro.
B) verdadeiro – verdadeiro – falso.
C) falso – verdadeiro – verdadeiro.
D) verdadeiro – falso – falso.
E) falso – verdadeiro – falso.
Questão 8
Considere o seguinte trecho de um programa em português estruturado que utiliza
estruturas lógicas.
quantidade ← 0;
x ← 0;
escreva("Digite um valor numérico: ");
leia(valor);
enquanto (valor > 0) faca
se (valor > x) entao
x ← valor;
quantidade ← 1;
senao
se (valor = x) entao
quantidade ← quantidade + 1;
fim_se;
fim_se;
escreva("Digite um novo valor:");
leia(valor);
fim_enquanto;
escreva ("x = ", x);
escreva ("quantidade = ", quantidade);
É correto dizer que:
A) se forem lidos vários valores positivos, a variável x armazena o maior deles e a
variável quantidade conta quantas vezes ele se repetiu.
B) caso sejam lidos dois ou mais valores positivos, a variável quantidade sempre
será maior que 1.
C) o trecho utiliza estrutura condicional recursiva, pois há um
comando se_então dentro de outro se_então.
D) os comandos dentro da estrutura de repetição sempre serão executados pelo
menos uma vez.
E) se o primeiro valor lido for negativo, será impresso x = 0 e quantidade = 1.
Questão 9
A linguagem de programação é a linguagem de comunicação de ideias entre o
computador e as pessoas.
Neste contexto, analise as afirmativas abaixo marcando V para as verdadeiras e F
para as falsas.
( ) A linguagem de máquina apresenta vários inconvenientes pois todas as
operações são escritas como conjuntos de uns e zeros para que possam ativar
diretamente os dispositivos eletrônicos do computador.
( ) Os ambientes em que escrevemos nosso código na linguagem C possuem um
programa que é capaz de transformar esse código em um escrito em linguagem de
máquina. Este programa é chamado interpretador.
( ) Se existir erro de semântica em um código significa que algum comando ou
instrução existente no programa foi escrito de maneira incorreta e o programa não
poderá ser executado.
( ) Quando existem erros de sintaxe em um código significa que alguma instrução
não está fazendo o que queríamos que fizesse e os resultados apresentados pelo
programa não serão corretos.
Assinale a alternativa que apresenta a sequência correta.
A) F – F – V – F.
B) V – V – V – V.
C) F – V – V – V.
D) V – F – F – F.
E) V – F – V – F.
Questão 10
A atribuição se refere ao ato de atribuir um(a) valor/informação a uma variável.
Analise o algoritmo abaixo, em português estruturado, e diga o que será impresso
na tela ao término de sua execução.
Algoritmo_Prova;
var
inteiro: x, z, y;
inicio
x ← 5;
y ← 20;
z ← y – x*2;
escreva(z);
x ← 20;
y ← x – z/2;
escreva(y);
fim.
Assinale a alternativa que fornece os valores na ordem apresentada no algoritmo
acima.
A) 20 e 0.
B) 10 e 15.
C) 20 e 20.D) 20 e 10.
E) 15 e 10.
Questão 11
Analise o programa abaixo:
#include < stdio.h >
#include < conio.h >
int main()
{
int X, S;
S = 0;
X = 1;
while ( X != 0)
{
printf("Escreva o valor de X: ");
scanf("%d", &X);
S = S + X;
}
printf("Soma = %d ", S);
return 0;
}
Assinale a alternativa correta.
A) A estrutura de repetição será finalizada quando o usuário fornecer zero para a
variável X.
B) O algoritmo tem por função efetuar a leitura de 10 números sendo eles positivos
ou negativos (-1 sai da estrutura de repetição).
C) O algoritmo tem por função fazer a leitura de cinco números positivos.
D) O algoritmo tem por função fazer a leitura de cinco números negativos.
E) O algoritmo tem por função efetuar a soma dos números primos.
Questão 12
As variáveis são muito úteis para o armazenamento de diversos tipos de dados.
No contexto dos tipos de estruturas de dados, analise as afirmativas abaixo.
I. A variável do tipo vetor possui a estrutura de uma tabela contendo apenas 1
coluna e N linhas ou N colunas e 1 linha.
II. A variável do tipo matriz possui a estrutura de uma tabela contendo N colunas e
M linhas.
III. Ponteiro é um tipo de variável composta heterogênea.
IV. Podemos manipular variáveis e outros recursos pelo endereço de memória
utilizando registros.
Assinale a alternativa correta.
A) Somente as alternativas I e III estão corretas.
B) Somente a alternativa III está correta.
C) Somente a alternativa II está correta.
D) Somente a alternativa I está correta.
E) Somente as alternativas I e II estão corretas.
Questão 13
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) I e III, apenas.
B) II e III, apenas.
C) I e II, apenas.
D) I e IV, apenas.
E) II e IV, apenas.
Questão 14
Analise as funções abaixo.
(I):
int fat(int n)
{
if (n==0)
return 1;
else
return n*fat(n-1);
}
(II):
int fat(int n)
{
int i = 0;
int f = 1;
for(i = 1; i <= n; i++)
f = f*i;
return f;
}
(III):
int fib(int n)
{
int f1 = 0;
int f2 = 1;
int f3, i;
for (i = 1; i <= n; i++)
{
f3 = f2 + f1;
f1 = f2;
f2 = f3;
}
return f1;
}
(IV):
void torre (int n, char a, char b, cahr c)
{
if (n > 0)
{
torre(n – 1, a, b, c);
printf("mover de %c para %c", a, b);
torre(n – 1, c, b, a);
}
}
São funções recursivas as funções dadas em:
A) II e IV, apenas.
B) I e III, apenas.
C) I e II, apenas.
D) II e III, apenas.
E) I e IV, apenas.
Questão 15
As variáveis e as constantes são locais reservados na memória para
armazenamento dos dados e cada uma possui um nome próprio para sua
identificação.
Sobre os conceitos de variáveis e constantes, analise as afirmativas abaixo.
I. Em um algoritmo, uma constante é um espaço físico na memória, identificada por
um nome, que pode sofrer alteração durante a execução do programa.
II. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas
a "nomes", chamados identificadores, durante o tempo de desenvolvimento.
III. O escopo de uma variável é definido pelos blocos onde a variável pode ser
utilizada; variáveis diferentes declaradas no mesmo escopo não precisam ter
nomes diferentes.
IV. É uma boa prática de programação sempre inicializar as variáveis para evitar
que recebam dados que estejam na memória.
Assinale a alternativa correta.
A) Apenas as afirmativas I e II estão corretas.
B) Apenas as afirmativas II e IV estão corretas.
C) Apenas as afirmativas II e III estão corretas.
D) Todas as afirmativas estão corretas.
E) Apenas as afirmativas I e III estão corretas.
Questão 16
Variáveis podem armazenar conjuntos de informações em vetores e/ou matrizes
desde que os elementos desses conjuntos sejam do mesmo tipo, mas, em muitos
casos, é necessário trabalhar com um conjunto de dados de tipos distintos.Para
resolver esse problema, poderá ser usada uma estrutura de dados chamada de
registro.
Classifique cada uma das seguintes afirmações em "V" (se verdadeira) ou "F" (se
falsa).
( ) Um registro reúne uma coleção de informações de um objeto.
( ) Cada informação é considerada um atributo ou campo de registro.
( ) Um atributo pode ser definido como qualquer tipo de dado primitivo ou como
uma outra estrutura de dados.
( ) Ao definir um tipo de dado registro, contendo os atributos adequados ao objeto
que você está tratando no algoritmo, as posições de memória para armazenar as
informações ainda não foram reservadas.
Assinale a alternativa que corresponde à sequência correta de indicações.
A) F - V - V - V.
B) F - F - F - V.
C) V - F - F - V.
D) V - V - V - V.
E) V - V - F - F.