Buscar

provas analise e desenvolvimento de sistemas

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Document Cloud/Provas_De_Desenvolvimento_de_Software2017.pdf
/////////////////////// Prova A1 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602459313) Fórum de Dúvidas (1) Saiba (1) 
 
Sobre estrutura de dados, identifique o que está correto afirmar. 
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e 
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um 
elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e 
pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo 
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o 
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos 
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo 
princípio LIFO (last in first out). 
 
 
II, III, IV e V. 
 I, II e III. 
 
I, III e V. 
 
I, III, IV e V. 
 
II, IV e V. 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201602983098) Fórum de Dúvidas (1) Saiba (1) 
 
 Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais 
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de 
aluno da turma. 
 
 Fila 
 Árvore 
 Grafo 
 Lista 
 Pilha 
 
 
 
 3a Questão (Ref.: 201602983090) Fórum de Dúvidas (1) Saiba (1) 
 
 Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade 
a cidade. Qual a estrutura de dados mais adequada para modelar este problema ? 
 
 Pilha 
 Fila 
 Grafo 
 Árvore 
 Lista 
 
 
 
 4a Questão (Ref.: 201603005719) Fórum de Dúvidas (1) Saiba (1) 
 
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou 
informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação 
de dados associados a estas estruturas. 
Verifique as seguintes sentenças: 
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. 
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. 
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. 
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. 
Marque a alternativa CORRETA: 
 
 
Todas as alternativas estão corretas. 
 
As alternativas I e III estão corretas. 
 As alternativas I e II estão corretas 
 
As alternativas III e IV estão corretas. 
 
As alternativas II e IV estão corretas. 
 
 
 
 5a Questão (Ref.: 201602594440) Fórum de Dúvidas (1) Saiba (1) 
 
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados 
ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de 
manipulação dados associados a estas estruturas. Verifique as seguintes sentenças: 
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. 
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes 
foram armazenados. 
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
Marque a alternativa CORRETA: 
 
 
Todas as alternativas estão corretas. 
 
As alternativas I e III estão corretas. 
 
As alternativas II e IV estão corretas. 
 
As alternativas III e IV estão corretas. 
 As alternativas I e II estão corretas 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201602980492) Fórum de Dúvidas (1) Saiba (1) 
 
Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na 
Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto 
de nós e conexões entre eles. 
 
 
Pilhas Encadeadas 
 Grafos 
 
Filas Encadeadas 
 
Listas Encadeadas. 
 
Vetores 
 
 
 
 7a Questão (Ref.: 201603069154) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução 
assinale a alternativa que representa a resposta final. 
cin >> a; 
cin >> b; 
cin >> c; 
cin >> d; 
 
cout << a; 
cout << b; 
cout << c; 
cout << d; 
 
cout << d; 
cout << c; 
cout << b; 
cout << a; 
 
 
Após a impressão dos valores pela ordem teremos duas filas. 
 
Após a impressão dos valores pela ordem teremos uma fila e um grafo. 
 Após a impressão dos valores pela ordem teremos uma fila e uma pilha. 
 
Após a impressão dos valores pela ordem teremos duas pilhas. 
 
Após a impressão dos valores pela ordem teremos uma pilha e uma fila. 
 
 
 
 8a Questão (Ref.: 201603005747) Fórum de Dúvidas (1) Saiba (1) 
 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que 
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na 
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada 
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos 
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória. 
 
 
Fila Sequencial 
 Lista Sequencial 
 
Pilha Encadeada 
 
Pilha Sequencial 
 
Lista Encadeada 
 
/////////////////////// Prova A2 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602459349) Fórum de Dúvidas (1) Saiba (1) 
 
Assinale a opção certa. 
 Quando não se escreve o protótipo de uma função ... 
 
 
A chamada da função não poderá ser feita em qualquer hipótese. 
 É preciso definir a função antes do programa principal. 
 
O programa não funcionará de forma alguma. 
 
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. 
 
A chamada da função poderá ser feita em qualquer hipótese. 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201602392213) Fórum de Dúvidas (1) Saiba (1) 
 
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de 
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e 
marque corretamente a alternativa que descreve as funcionalidades desta. 
int funcao(float v[], float vl, int n) 
{ 
 for (int i = 0; i < n; i++) 
 if (v[i] == vl) 
 return i; 
 return -1; 
} 
 
 
Retorna -1 se o valor de n foi encontrado. 
 
Resulta em erro, se o valor de vl não estiver dentro de v. 
 
Retorna -1 se o valor de vl estiver dentro de v. 
 Retorna a posição de v se o valor vl foi encontrado. 
 
Retorna o valor de vl se o valor n foi encontrado.
Gabarito Comentado 
 
 
 3a Questão (Ref.: 201602596862) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
 
 
 Auxiliar = 100 Numero1 = 900 Numero2 = 20 
 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 
 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 
 Auxiliar = 100 Numero1 = 900 Numero2 = 80 
 Auxiliar = 101 Numero1 = 900 Numero2 = 20 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602594447) Fórum de Dúvidas (1) Saiba (1) 
 
Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, 
isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. 
Então considere o seguinte código: 
#include< iostream > 
using namespace std; 
 
int main( ) 
{ 
 float a=10.0; 
 float b=4.0; 
 cout < < media(a,b); 
 return 0; 
} 
float media(float x, float y) { return (x+y)/2;} 
 
Marque a alternativa CORRETA: 
 
 O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da 
função float media(float x, float y)antes da função principal. 
 
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser 
armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o 
resultado. 
 
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém 
a chamada se deu com identificadores "a" e "b". 
 
O código compila normalmente, pois como a descrição da função float media(float x, float y)está 
posicionada após a função int main ( ), não há necessidade do uso de protótipos. 
 
O código compila normalmente e apresenta como resultado o valor 7.0 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602392217) Fórum de Dúvidas (1) Saiba (1) 
 
A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar 
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo 
assim, qual das situações abaixo representa melhor o conceito das variáveis globais. 
 
 
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao 
tentar chamar esta variável em outra função é mencionado um warning. 
 
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome 
apresentando o mesmo valor. 
 
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor 
poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído 
na função "mostra". 
 Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado 
em qualquer outra função do programa. 
 
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável 
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201602392216) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções 
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome 
e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os 
parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. 
Quando se envia o endereço estamos ativando a função por meio de: 
 
 
Envio de valor. 
 Ponteiros. 
 
Passagem por valor. 
 
Envio de inteiro. 
 
Registro. 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602383732) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função: 
 
 
Por teste e por reforço. 
 
Por inferência e por valor. 
 
Por memória e por disco. 
 
Por reforço e por referência. 
 Por valor e por referência 
 
 Gabarito Comentado 
 
 
 8a Questão (Ref.: 201603005737) Fórum de Dúvidas (1) Saiba (1) 
 
Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a 
técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. 
Esta técnica tem como principal elemento: 
 
 
Os Grafos 
 
As Estruturas de Dados 
 
As Filas 
 As funções 
 
Os Vetores 
 
/////////////////////// Prova A3 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602596892) Fórum de Dúvidas (0) Saiba (0) 
 
Com relação à struct, é correto afirmar que : 
 
 Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do 
mesmo tipo. 
 Cada elemento da struct é denominado membro ou campo, sendo que a struct pode 
armazenar elementos de tipos diferentes ou não. 
 Cada elemento da struct é chamado componente. 
 A struct é sempre definida dentro da main. 
 Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, 
de um tipo de dados distinto de outro campo. 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201603063781) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a opção correta, considerando 
 
struct Livro { 
int codigo; 
float preco; 
} liv; 
 
 
Livro.codigo = 12345; 
 liv.preco = 30.70; 
 
Livro->liv.codigo = 12345; 
 
liv->preco = 30.70; 
 
Livro.liv.codigo = 12345; 
 
 
 
 3a Questão (Ref.: 201602392184) Fórum de Dúvidas (0) Saiba (0) 
 
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura 
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de 
uma estrutura do tipo Struct? 
 
 
Nome da estrutura seta tipo do campo 
 
Nome da estrutura ponto tipo do campo 
 
Nome da estrutura seta nome do campo 
 Nome da estrutura ponto nome do campo 
 
Nome da estrutura vírgula tipo do campo 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201603005742) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob 
uma lógica e associados por um nome. 
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma 
estrutura como: 
struct aluno { 
string nome; 
float nota; 
}; 
 
Suponha ainda que exista um vetor desta estrutura, definido como: 
 
aluno vet [100]; 
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste 
vetor. 
 
 
vet[10]=aluno.5.7; 
 
aluno.vet[10]=5.7; 
 vet[10].nota=5.7; 
 
vet[10].aluno.nota=5.7 ; 
 
aluno.vet[10].nota=5.7; 
 
 
 
 5a Questão (Ref.: 201602962053) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob 
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras 
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda 
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de 
forma correta a media 6.0 para o quarto elemento deste vetor. 
 
 vet[3].media=6.0; 
 
aluno[10]=6.0; 
 
aluno[3].10=6.0;
vet[3].aluno=6.0; 
 
aluno[3].media=6.0; 
 
 
 
 6a Questão (Ref.: 201602391677) Fórum de Dúvidas (0) Saiba (0) 
 
Qual das seguintes estruturas de dados é classificada como heterogênea? 
 
 Registro 
 
Pilha 
 
Vetor 
 
Loop 
 
Fila 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201603031531) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, 
agrupados sob uma lógica e associados por um nome. 
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de 
uma estrutura como: 
 
 struct aluno { 
 string nome; 
 float nota; 
}; 
 
Suponha ainda que exista um vetor desta estrutura, definido como: 
 aluno vet [ 100]; 
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento 
deste vetor. 
 
 
aluno.vet[10]=5.7; 
 
aluno.vet[10].nota=5.7; 
 
vet[10].aluno.nota=5.7 ; 
 vet[10].nota=5.7; 
 
vet[10]=aluno.5.7; 
 
/////////////////////// Prova A4 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602391856) Fórum de Dúvidas (1) Saiba (0) 
 
Marque a afirmativa correta para a "Busca ou pesquisa binária". 
 
 Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e 
verificando se o dado está no meio ou, antes do meio ou depois do meio. 
 
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. 
 
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. 
 
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e 
verificando se o dado está no meio ou, antes do meio ou depois do meio. 
 
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201603005744) Fórum de Dúvidas (1) Saiba (0) 
 
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial 
e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes 
estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= 
{10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e 
também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o 
que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que 
expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca 
binária, respectivamente, até encontrarem o 70. 
 
 6 e 2 
 
5 e 5 
 
6 e 1 
 
6 e 4 
 
7 e 1 
 
 
 
 3a Questão (Ref.: 201602977310) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo de 
ordenação, só usa a memória principal: 
 
 Ordenação Interna 
 
Ordenação Simples 
 
Ordenação Simples Externa 
 
Ordenação Externa 
 
Ordenação Eficiente 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602980484) Fórum de Dúvidas (1) Saiba (0) 
 
Analisando o trecho de código a seguir: 
inicio=0; 
fim= tamanho - 1; 
meio=(inicio+fim)/2; 
while(procura != nomeVetor[meio] && inicio != fim) 
{ 
 if(procura > nomeVetor[meio]) 
 inicio=meio+1; 
 else 
 fim=meio; 
 meio=(inicio+fim)/2; 
} 
if(nomeVetor[meio]==procura) 
 cout<<"\n....: "< < outroVetor[meio]<<endl; 
else 
 cout<<"\nDado nao encontrado\n";</endl; 
Pode-se afirmar que: 
 
 
trata-se da implementação do algortimo de busca sequencial 
 trata-se da implementação do algortimo de busca binária. 
 
trata-se da implementação do algortimo de ordenação por inserção. 
 
trata-se da implementação do algortimo de ordenação por seleção. 
 
trata-se da implementação do algortimo de ordenação bolha. 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602392189) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. 
Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome 
do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples. 
 
 
Binária 
 
Hash 
 
Seleção 
 Bolha 
 
Inserção 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201602392192) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de 
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos 
os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do 
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de: 
 
 Seleção 
 
Binária 
 
Bolha 
 
Hash 
 
Inserção 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602395249) Fórum de Dúvidas (1) Saiba (0) 
 
Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer 
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam 
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio 
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso 
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior 
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O 
algoritmo que utiliza esta metodologia é: 
 
 
Bolha 
 
Inserção 
 Pesquisa binária 
 
Seleção 
 
Pesquisa sequencial 
 
 Gabarito Comentado 
 
 
 8a Questão (Ref.: 201602980481) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Sabendo-se que o método de ordenção bolha ou bubble sort realiza a troca de elementos adjacentes até que 
todos os elementos de um vetor esteja ordenado. Então, se submetermos a sequencia de inteiros armazenada 
em um vetor inicialmente na seguinte ordem : 4, 2, 5, 1. 
Pode-se dizer que quando o maior elemento do vetor alcançar sua posição final, a ordenação apresentada no 
vetor é: 
 
 
1,2,4,5 
 
1,4,2,5 
 
4,1,2,5 
 2,4,1,5 
 
2,1,4,5 
 
/////////////////////// Prova A5 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602383750) Fórum de Dúvidas (0) Saiba (0) 
 
Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I 
atende os não idosos. O sistema II atende os idosos. Nessa situação: 
 
 tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados. 
 
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO. 
 
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados. 
 
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO. 
 
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados. 
 
 Gabarito Comentado 
 
 
 2a Questão
(Ref.: 201602392204) Fórum de Dúvidas (0) Saiba (0) 
 
Analisando o trecho do algoritmo abaixo, 
 
pode-se afirmar que se trata de uma operação de: 
 
 
Remoção de um elemento de uma estrutura LIFO 
 
Exibição de um elemento em uma estrutura LIFO 
 Inserção de um elemento em uma estrutura LIFO 
 
Inserção de um elemento em uma estrutura FIFO 
 
Remoção de um elemento de uma estrutura FIFO 
 
 Gabarito Comentado 
 
 
 3a Questão (Ref.: 201602392040) Fórum de Dúvidas (0) Saiba (0) 
 
Com relação as listas lineares sequenciais: 
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array. 
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice. 
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes. 
 
 
Apenas as afirmações II e III estão corretas. 
 
Apenas a afirmação I está correta. 
 
Apenas as afirmações II está corretas. 
 
Apenas as afirmações I e III estão corretas. 
 Apenas as afirmações I e II estão corretas. 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201603039726) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma lista com n livros, em que cada livro é modelado pela struct : 
 
struct Livro { 
 string titulo, editora, autor; 
 float preco; 
}; 
 
A função X abaixo 
 
void X (Livro v[ ], int &n, Livro L) 
{ 
 v[n] = L; 
 n++; 
 cout << "Operação realizada com sucesso."; 
} 
 
implementa a operação de : 
 
 Ordenação por inserção 
 Inserção 
 Busca 
 Inicialização 
 Substituição 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602594457) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita 
a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes 
dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto 
marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório 
aos dados e alocação destes de forma contínua na memória. 
 
 
Pilha Sequencial 
 Lista Sequencial 
 
Fila Sequencial 
 
Pilha Encadeada 
 
Lista Encadeada 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201602596941) Fórum de Dúvidas (0) Saiba (0) 
 
 
 
 for (int i = 0; i < n; i++) 
 cout << L.matricula << " " << L.nome << endl; 
 for (int i = 0; i < n; i++) 
 cout << L.matricula[i] << " " << L.nome[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome[30] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i] << endl; 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602955907) Fórum de Dúvidas (0) Saiba (0) 
 
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a 
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em 
mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer. 
 
 
Lista Linear Não Sequencial 
 
Lista Não Linear 
 
Lista Linear Não Alocada 
 Lista Linear Sequencial 
 
Lista Linear de Alocação de Memória 
 
 
 
 8a Questão (Ref.: 201602391660) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? 
 
 overflow 
 
remoção 
 
ordenação 
 
inclusão 
 
underflow 
 
/////////////////////// Prova A6 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602596881) Fórum de Dúvidas (0) Saiba (0) 
 
 
 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de 
dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de 
endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no 
último site visitado e retira o endereço do site da estrutura de dados. 
Assinale a estrutura de dados mais adequada para este problema. 
 
 pilha 
 
fila 
 
grafo 
 
lista 
 
árvore 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201603005749) Fórum de Dúvidas (0) Saiba (0) 
 
Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - 
push(novo valor) ou remoção - pop(). 
 
Se realizarmos a seguinte sequencia de operações: 
 
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(). 
 
Pode-se dizer que o interior da pilha apresenta-se: 
 
 
Com os dados A e D 
 Vazio 
 
Com os dados A e B 
 
Apenas com o dado A 
 
Apenas com o dado D 
 
 
 
 3a Questão (Ref.: 201602383744) Fórum de Dúvidas (0) Saiba (0) 
 
No contexto de estrutura de dados, uma pilha é: 
 
 
uma lista do tipo FIFO. 
 um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade 
denominada topo. 
 
um tipo de lista linear em que as operações de inserção e remoção são realizadas aleatoriamente. 
 
uma lista do tipo LILO. 
 
um tipo de lista linear em que as operações de inserção são realizadas em uma extremidade e as 
operações de remoção são realizadas em outra extremidade. 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602383733) Fórum de Dúvidas (0) Saiba (0) 
 
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de: 
 
 
fila 
 
loop 
 
ponteiro 
 pilha 
 
array 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602375167) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a opção que representa uma característica CORRETA a respeito da estrutura de dados pilha. 
 
 
Não é possível criar uma pilha utilizando vetores. 
 O último item inserido é o primeiro item a ser retirado. 
 
Os acessos aos itens ocorrem de forma aleatória. 
 
O último item inserido é o último item a ser retirado. 
 
O primeiro item inserido é o primeiro a ser retirado. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201603156685) Fórum de Dúvidas (0) Saiba (0) 
 
Assumindo que estamos com uma estrutura de dados do tipo LIFO, as operações abaixo vão resultar em que 
elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), POP() 
 
 
2 4 7 
 2 5 
 
2 3 4 
 
5 7 
 
3 4 5 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602459305) Fórum de Dúvidas (0) Saiba (0) 
 
A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio: 
 
 Last In First Out (LIFO). 
 
De dividir para conquistar. 
 
Da localidade de referência. 
 
Da indiferença. 
 
First In First Out (FIFO). 
 
 Gabarito Comentado 
 
 
 8a Questão (Ref.: 201602459310) Fórum de Dúvidas (0) Saiba (0) 
 
Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de: 
 
 
fila é também denominada FIFO ou LIFO. 
 
fila é também denominada FIFO
ou FILO. 
 
pilha é também denominada FIFO ou FILO. 
 pilha é também denominada LIFO ou FILO. 
 
fila é também denominada LIFO ou LILO. 
 
/////////////////////// Prova A7 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201602391697) Fórum de Dúvidas (0) Saiba (0) 
 
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende 
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com 
atendimento prioritário. Nessa situação, 
 
 Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados. 
 
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO. 
 
Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados. 
 
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO. 
 
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de 
dados. 
 
 
 
 2a Questão (Ref.: 201602983184) Fórum de Dúvidas (0) Saiba (0) 
 
 Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código 
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio--; 
 } 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.fim == -1 && F.inicio == 0) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 Gabarito Comentado 
 
 
 3a Questão (Ref.: 201602980487) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602983146) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de 
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 void enfileirar(Fila F, int codigo) { 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 
void enfileirar(Fila &F, int codigo) { 
 F.v[F.fim] = codigo; 
 F.fim++; 
} 
 void enfileirar(Fila F, int codigo) { 
 if (F.fim == 100) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602977312) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? 
 
 Overflow. 
 
Dequeue. 
 
A inserção é feita sem problema. 
 
Underflow. 
 
Enqueue. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201603005751) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
 
 
 7a Questão (Ref.: 201602980485) Fórum de Dúvidas (0) Saiba (0) 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, 
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e 
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova 
operação de remoção, o elemento que será removido desta fila sera o: 
 
 
X 
 C 
 
W 
 
A 
 
D 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 8a Questão (Ref.: 201602392158) Fórum de Dúvidas (0) Saiba (0) 
 
Qual das alternativas a seguir pode definir uma estrutura de fila? 
 
 
Entrada e saída de dados em qualquer local. 
 
Entrada e saída de dados pelo final. 
 
Entrada e saída de dados pelo início. 
 
Entrada de dados pelo início e saída pelo final. 
 Entrada de dados pelo final e saída pelo início. 
 
/////////////////////// Prova A8 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201603055176) Fórum de Dúvidas (0)
Saiba (0) 
 
As funções abaixo tem objetivos de: 
 
 
 A primeira faz uma busca retornando o valor do nó ou NULL quando não 
encontrado, já a segunda insere um novo nó no final da LSE; 
 A primeira faz uma busca retornando o endereço do nó ou NULL quando 
não encontrado, já a segunda insere um novo nó no final da LSE; 
 A primeira faz uma busca retornando a posição do nó ou NULL quando não 
encontrado, já a segunda insere um novo nó no inicio da LSE; 
 A primeira faz uma busca retornando o valor do nó ou NULL quando não 
encontrado, já a segunda insere um novo nó no inicio da LSE; 
 A primeira faz uma busca retornando o endereço do nó ou NULL quando 
não encontrado, já a segunda insere um novo nó no inicio da LSE; 
 
 
 
 2a Questão (Ref.: 201602968618) Fórum de Dúvidas (0) Saiba (0) 
 
Assinale a alternativa correta sobre alocação de memória. 
 
 
Uma das vantagens da alocação dinâmica sobre a alocação estática é que não é necessário fazer a 
liberação da memória utilizada. 
 
É correto afirmar que a alocação dinâmica de memória sempre leva a programas mais rápidos. 
 
A declaração de um vetor é um exemplo clássico de alocação dinâmica de memória. 
 
Alocação estática de memória refere-se ao processo de alocar memória com o uso de ponteiros. 
 Na alocação dinâmica de memória, a memória é alocada sob demanda, apenas quando necessário. 
 
 
 
 3a Questão (Ref.: 201602392208) Fórum de Dúvidas (0) Saiba (0) 
 
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor 
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: 
 
 
Vetor 
 Ponteiro 
 
Endereço 
 
Matriz 
 
Variável 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602983201) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma lista simplesmente encadeada com placas de carros. Assinale a opção que, corretamente, imprime todas as 
placas da lista. Considere : 
struct no { 
 string placa; 
 struct no *link; 
}; 
no *p; //p aponta para o início da lista 
 
 
 
 void imprimir(no *p) { 
 while (p != NULL) { 
 cout << pplaca; 
 p = plink; 
} 
} 
 
 void imprimir(no *p) { 
 if (p != NULL) { 
 cout << pplaca; 
 p = plink; 
 } 
} 
 
 
void imprimir(no p) { 
 while (p != NULL) { 
 cout << pno; 
 p = plink; 
 } 
} 
 
 
 
void imprimir(no *p) { 
 while (p != NULL) { 
 cout << p.placa; 
 p = p.link; 
 } 
} 
 void imprimir(no *p) { 
 while (p != NULL) { 
 cout << pplaca; 
 } 
} 
 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201602391688) Fórum de Dúvidas (0) Saiba (0) 
 
Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a 
posição relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação: 
 
 
Binária. 
 
Combinada. 
 
Seqüencial. 
 Encadeada. 
 
Estática. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201603005757) Fórum de Dúvidas (0) Saiba (0) 
 
As structs (estruturas) são utilizadas para modelar os nodos de estruturas dinâmicas como, por exemplo, as 
listas encadeadas, seja o seguinte exemplo de nodo de uma lista de produtos: struct nodo{ float valor; string 
produto; nodo * proximo; }; Suponha que um determinado ponteiro pt esteja apontando para um nodo desta 
lista, e que se queira alterar o conteúdo do campo valor deste nodo, que está sendo apontado por pt, para 5.60. 
Marque a alternativa que corretamente possibilita esta operação: 
 
 
pt->5.60; 
 pt->valor=5.60; 
 
pt->próximo.valor=5.60; 
 
pt->próximo->valor=5.60; 
 
pt.valor->5.60; 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602962045) Fórum de Dúvidas (0) Saiba (0) 
 
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e 
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam 
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta 
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos 
afirmar que: 
 
 As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
execução e terem seus tamanhos alterados de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em 
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados 
de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo 
de execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
compilação e terem seus tamanhos alterados de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda. 
 
 
 
 8a Questão (Ref.: 201602930744) Fórum de Dúvidas (0) Saiba (0) 
 
O conceito de ponteiros foi estudado em uma de nossas aulas. Sendo assim, leia atentamente as afirmativas 
abaixo e assinale a opção correta. 
 
I A variável ponteiro não precisa ser declarada. 
II A variável ponteiro armazena endereço. 
III Quanto se usa &nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável 
apontada pela variável ponteiro. 
IV Quando se usa nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável 
ponteiro. 
V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável 
apontada pela variável ponteiro. 
 
 I, II e IV estão corretas 
 II e V estão corretas 
 I IV e V estão corretas 
 Somente a II está correta 
 IV e V estão corretas 
 
/////////////////////// Prova A9 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201603097979) Fórum de Dúvidas (0) Saiba (0) 
 
Estava um aluno estudando Lista Simplesmente Encadeada quando encontrou em um site a 
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX 
nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, 
permitindo que a operação fosse realizada. 
 
 struct nodo 
{ 
 int info; 
 struct nodo *prox; 
}; 
nodo* XXX(nodo *ptr, int valor) 
{ 
 nodo *temp = new nodo; 
 ... 
 temp->info = valor; 
 temp->prox = ptr; 
 return temp; 
} 
 
 InsereNoFim 
 RemoveNo 
 ListaNo 
 InsereNoFrente 
 BuscaNaLista 
 
 Gabarito Comentado 
 
 
 2a Questão (Ref.: 201602597134) Fórum de Dúvidas (0) Saiba (0) 
 
Assinale a opção correta. Sobre pilha dinâmica podemos afirmar que : 
 
 é recomendada para qualquer tipo de aplicação em que insere-se no final e retira-se do 
início. 
 só pode ter seus dados impressos no sentido do último nó para o primeiro nó. 
 insere-se em qualquer
posição, antes ou após qualquer nó, visto que é dinâmica. 
 usa o critério FIFO, visto que é dinâmica. 
 usa o critério LIFO e é implementada usando-se listas encadeadas. 
 
 Gabarito Comentado 
 
 
 3a Questão (Ref.: 201602969790) Fórum de Dúvidas (0) Saiba (0) 
 
Assinale a característica que NÃO está relacionada às estruturas de dados encadeadas: 
 
 
Em geral, marca-se o último elemento com um ponteiro de valor NULL. 
 
A memória ocupada por seus elementos é, em geral, liberada com o uso de delete. 
 
A memória para armazenar seus elementos é, em geral, alocada com o uso de new. 
 Consomem memória de maneira permanente, só sendo liberadas ao fim do programa. 
 
Cada elemento guarda pelo menos um ponteiro para outro elemento da estrutura. 
 
 
 
 4a Questão (Ref.: 201602935302) Fórum de Dúvidas (0) Saiba (0) 
 
Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que 
pudesse repetir enquanto o ponteiro não fosse nulo. Observe os trechos abaixo e assinale qual a afirmativa 
correta. 
 
I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr) 
 
 I e II estão corretas. 
 III e V estão corretas 
 III está correta 
 IV e V estão corretas. 
 I e IV estão corretas 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201603063788) Fórum de Dúvidas (0) Saiba (0) 
 
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente, 
indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma 
lista simplesmente encadeada. Considere o tipo definido abaixo : 
 
struct no { 
int dado; 
struct no *link; 
}; 
 
 
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do 
novo nó . 
 
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da 
divisão número por 2 no campo dado e aterrar o campo link. 
 
É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e 
retornar o ponteiro para este nó. 
 É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do 
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó. 
 
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do 
novo nó e aterrar o link do novo nó. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201603063666) Fórum de Dúvidas (0) Saiba (0) 
 
Sabendo que uma fila encadeada possui seus nós definidos pela : 
 
struct no { 
int x; 
no *prox; 
}; 
 
Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para 
utilização na fila. 
 
 
no *p -> new no; 
 
p *no -> new no; 
 
no p -> new no; 
 no *p=new no; 
 
p *no=new no; 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201603014577) Fórum de Dúvidas (0) Saiba (0) 
 
Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair. 
 
Sobre estas afirmações marque a opção correta: 
 
 
Apenas a afirmação (3) é verdadeira 
 
Apenas a afirmação (1) é verdadeira 
 
Todas as afirmações são falsas 
 
Todas as afirmações são verdadeiras 
 Apenas as afirmações (1) e (3) são verdadeiras 
 
/////////////////////// Prova A10 /////////////////////////////////////////////////////// 
 1a Questão (Ref.: 201603056133) Fórum de Dúvidas (0) Saiba (0) 
 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, 
permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a 
estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa 
correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Lista encadeada 
 
Matriz 
 Lista duplamente encadeada 
 
Pilha 
 
Fila 
 
 
 
 2a Questão (Ref.: 201603039722) Fórum de Dúvidas (0) Saiba (0) 
 
 Considere uma lista duplamente encadeada não circular em que 
 
struct nodupla { 
 int dado; 
 struct nodupla *dlink; // aponta p/ o nó à direita 
 struct nodupla *elink; // aponta p/ o nó à esquerda 
 }; 
 
sendo nodupla *p; //ponteiro para o início da lista 
 
 A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada 
por p é : 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo.dado = valor; 
 novo.dlink = p; 
 novo.elink = NULL; 
 if (p != NULL) 
 p.elink = novo; 
 p = novo; 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 p->elink = novo; 
 p = novo; 
 
 
 
n nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
 n 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 Gabarito Comentado 
 
 
 3a Questão (Ref.: 201602604738) Fórum de Dúvidas (0) Saiba (0) 
 
Observe a struct, definida globalmente, e um trecho de uma função que manipula 
uma Lista Duplamente Encadeada. 
struct listaDE 
{ 
 int info; 
 struct listaDE* ant; 
 struct listaDE* prox; 
}; 
... 
listaDE* novo = new listaDE; 
novo->info = valor; 
novo->prox = LISTA; 
novo->ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função 
 
 listaDE *remove(listaDE *LISTA, int valor); 
 listaDE *busca (listaDE *LISTA, int valor); 
 void exibeIpF(listaDE *LISTA); 
 listaDE *insereInicio(listaDE *LISTA, int valor); 
 listaDE *insereFim(listaDE *LISTA, int valor); 
 
 Gabarito Comentado 
 
 
 4a Questão (Ref.: 201602392076) Fórum de Dúvidas (0) Saiba (0) 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para 
 
 
frente, apenas. 
 
trás, apenas. 
 
cima e para baixo ou para frente e para trás. 
 frente e para trás, apenas. 
 
cima e para baixo, apenas. 
 
 Gabarito Comentado 
 
 
 5a Questão (Ref.: 201603005760) Fórum de Dúvidas (0) Saiba (0) 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são 
estes os ponteiros ant e prox, que apontam,
respectivamente, para o nodo anterior e para o próximo nodo. Esta 
característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a 
seguir: 
 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
 Gabarito Comentado 
 
 
 6a Questão (Ref.: 201602597156) Fórum de Dúvidas (0) Saiba (0) 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 Não pode haver remoções no meio da lista. 
 A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, 
pois existem dois ponteiros. 
 Não pode ser vazia. 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 Consome menos memória do que uma lista simplesmente encadeada, se 
tivermos uma mesma aplicação. 
 
 Gabarito Comentado 
 
 
 7a Questão (Ref.: 201602594478) Fórum de Dúvidas (0) Saiba (0) 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, 
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo 
nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando 
as operações a seguir: 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 As operações removem o nodo apontado pelo ponteiro p. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
 
 
 8a Questão (Ref.: 201602391860) Fórum de Dúvidas (0) Saiba (0) 
 
Em uma lista linear duplamente encadeada. 
 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando 
um ciclo. 
 Além do campo relativo ao dado, cada nó possui dois ponteiros. 
 Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 
 
/////////////////////// Prova A1 /////////////////////////////////////////////////////// 
 
 
 
Document Cloud/Desenvolvimento_de_software_Exerccios.pdf
Exercício: CCT0248_EX_A1_201510492054_V1 Matrícula: 201510492054 
Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 18/02/2017 12:58:31 (Finalizada) 
 
 
 1a Questão (Ref.: 201510680938) Fórum de Dúvidas (1) Saiba (0) 
 
Uma empresa deseja adquirir uma edição do Visual Studio 2010 que permita a sua equipe de desenvolvimento 
trabalhar com um conjunto de ferramentas de gerenciamento de ciclo de vida da aplicação, incluindo a 
elaboração de diagramas UML e o gerenciamento de projetos com metodologias iterativas e ágeis. Qual a edição 
do Visual Studio 2010 mais indicada? 
 
 Visual Studio 2010 Ultimate 
 Visual Studio 2010 Express 
 
Visual Studio 2010 Professional 
 
Visual Studio 2010 Test Professional 2010 
 
Visual Studio 2010 Premium 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 2a Questão (Ref.: 201510781872) Fórum de Dúvidas (1) Saiba (0) 
 
Ao compilarmos códigos que usem a biblioteca .NET, não criamos imediatamente um código nativo do sistema 
operacional. Ao invés disso, compilamos o nosso código para: 
 
 
JVM - Microsoft Virtual JQuery 
 MSIL - Microsoft Intermediate Language 
 
MSTL - Microsoft Temporary Language 
 
MSVL - Microsoft Virtual Language 
 
MSAL - Microsoft Assembly Language 
 
 Gabarito Comentado 
 
 
 
 3a Questão (Ref.: 201510718304) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
O .NET Framework é uma camada de software que fica entre: 
 
 o Sistema Operacional e as Aplicações. 
 
o Hardware e os Utilitários. 
 
o Sistema Operacional e os Utilitários. 
 
o Hardware e o Sistema Operacional. 
 
o Hardware e as Aplicações. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201511167959) Fórum de Dúvidas (1) Saiba (0) 
 
(FCC/2012/TRE-SP - Programador) O Microsoft Visual Studio é um conjunto completo de ferramentas para 
construir aplicativos, incluindo aplicações para Web. Nesta ferramenta várias linguagens compartilham o mesmo 
ambiente de desenvolvimento integrado (IDE). Este ambiente possui um analisador de código que pode 
oferecer, enquanto o código é digitado, sugestões ao programador, como por exemplo tipos de dados e 
membros de classes e estruturas. 
 
Esse analisador é chamado: 
 
 
TextMate 
 
Active Directory 
 IntelliSense 
 Lexical Analyzer 
 
ActiveSync 
 
 Gabarito Comentado 
 
 
 
 5a Questão (Ref.: 201511108020) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
A plataforma .NET Framework 4.0 (.NET 4.0) é uma plataforma de softwares que fornece integração com um 
conjunto variado de linguagens de programação. Também definido como tecnologia porque é composto de: 
 
 bibliotecas e ferramentas executáveis. 
 compilador e ferramentas de depuração. 
 
ferramentas desktop e mobile. 
 
J2SE e J2EE. 
 
COBIT, ITIL e Análise de impacto. 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 6a Questão (Ref.: 201510718303) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
O .NET Framework é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento 
e execução de sistemas e aplicações, assim Todo e qualquer código gerado para .NET, 
 
 pode ser executado em qualquer dispositivo que possua a mesma versão Windows da máquina onde 
foi desenvolvido. 
 
pode ser executado em qualquer dispositivo. 
 
pode ser executado em qualquer dispositivo que possua uma versão do Windows. 
 
pode ser executado em qualquer dispositivo que possua qualquer versão de framework de qualquer 
plataforma. 
 pode ser executado em qualquer dispositivo que possua um framework de tal plataforma. 
 
 Gabarito Comentado 
 
 
 
 7a Questão (Ref.: 201511161455) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
A arquitetura fundamental do .NET 4.0 é dividida em 4 partes, dentre elas o Base Class Library (BCL) que 
fornece milhares de tipos, interfaces e classes para serem utilizados nas aplicações. Em relação ao BCL é 
apresentado o MSIL. 
Das opções, marque a que apresenta corretamente o conceito de MSIL. 
 
 É uma linguagem assembley de alto nível, orientada
a objetos, com um conjunto de instruções 
independentes de CPU. 
 
É uma linguagem de baixo nível, orientada a objetos, com um conjunto de instruções dependentes 
de CPU. 
 
É conjunto de linguagens estruturadas, com um conjunto de instruções dependentes de CPU. 
 
É uma linguagem assembley de baixo nível, estruturada, com um conjunto de instruções 
independentes de CPU. 
 É conjunto de linguagens orientada a objetos, com um conjunto de instruções independentes de 
CPU. 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 8a Questão (Ref.: 201511167964) Fórum de Dúvidas (1) Saiba (0) 
 
(UFPR/2010 - Analista de TI) Sobre Plataforma .NET, considere as afirmativas abaixo: 
 
I. O código gerenciado gerado é interpretado para executar na linguagem nativa da máquina do sistema. 
 
II. A compilação just-in-time (JIT) compila os códigos não gerenciados. 
 
III. É executada sobre uma Common Language Runtime (CLR). 
 
IV. O CTS (Common Type System) assegura que todo código gerenciado é autodescritivo. 
 
Assinale a alternativa correta. 
 
 
Somente a afirmativa I é verdadeira. 
 
Todas as afirmativas são verdadeiras. 
 Somente as afirmativas II e III são verdadeiras. 
 Somente as afirmativas III e IV são verdadeiras. 
 
Somente as afirmativas I, II e III são verdadeiras. 
 
Exercício: CCT0248_EX_A2_201510492054_V1 Matrícula: 201510492054 
Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 27/02/2017 17:36:25 (Finalizada) 
 
 
 1a Questão (Ref.: 201511167979) Fórum de Dúvidas (0) Saiba (0) 
 
Para escolher um tipo de dado, o programador deve escolher um, que ocupe a menor quantidade de memória 
em bytes e seja capaz de armazenar a faixa de valores possíveis de um determinado dado a ser armazenado 
em uma variável ou constante. 
 
Ao definir o uso do tipo numérico Integer, a capacidade de armazenamento será de: 
 
 8 bytes 
 
1 byte 
 
2 bytes 
 4 bytes 
 
10 bytes 
 
 Gabarito Comentado 
 
 
 
 2a Questão (Ref.: 201511183014) Fórum de Dúvidas (0) Saiba (0) 
 
Variáveis são utilizadas no Visual Basic .NET para armazenar informação necessária para a lógica de 
processamento de sua aplicação. Dentro de uma função ou sub-rotina, indique a opção incorreta na declaração 
e inicialização de variáveis: 
 
 
Dim a , b as Long a = 345 b = 888 
 
Dim N as Integer N = 887 
 Dim d As Integer d = "escola" 
 Dim x as Int16 = 7 
 
Dim a , b a = " Copa " b = 100 
 
 
 
 
 3a Questão (Ref.: 201511249035) Fórum de Dúvidas (0) Saiba (0) 
 
2) Analise cada uma das linhas de código, desenvolvidas no VB.Net, apresentadas na questão. 
Module Module1 
Sub Main() 
Dim x As String = "1" 
Dim y As String = "2" 
Dim resp As String 
x &= y 
resp = x + y 
Console.WriteLine(resp) 
End Sub 
End Module 
Após a execução do código apresentado na questão, será exibido na tela: 
 
 
123 
 112 
 
5 
 
125 
 122 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 4a Questão (Ref.: 201511249030) Fórum de Dúvidas (0) Saiba (0) 
 
Na linguagem VB.Net a conhecer e saber utilizar corretamente os operadores está dentre as rotinas iniciais e de 
muita importância. Analise o código apresentado na questão: 
Module Module1 
Sub Main() 
Dim resp As String 
Dim x, y, z As Integer 
x = 1 
y = 2 
z = 2 
resp = "sistema" 
If Not (y = 3 AndAlso z = 2) Then 
Console.Write("AndAlso") 
End If 
If (resp Like "??st*") Then 
Console.Write("Like") 
End If 
End Sub 
End Module 
Qual das respostas apresenta o resultado exibido da mesma forma que na tela pelo programa. 
 
 AndAlso 
 AndAlsoLike 
 
Like 
 
Não será exibido nada. 
 
AndAlso 
Like 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 5a Questão (Ref.: 201510782650) Fórum de Dúvidas (0) Saiba (0) 
 
Como em todas as linguagens, precisamos conhecer os tipos de variáveis, como atribuir 
valores, bem como saber as várias formas de declará-las. 
Das opções apresentadas, marque a que não corresponde a uma maneira correta de declarar 
uma variável na linguagem VB.NET. 
 
 
Dim idade As byte = 10 
 Dim Salario As float 
 
Dim dia, mes As Integer 
 Dim numero As UShort, complemento As String 
 
Dim idade As byte 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 6a Questão (Ref.: 201511167977) Fórum de Dúvidas (0) Saiba (0) 
 
Nas linguagens de programação .NET, um tipo define os valores a serem armazenados na memória, o espaço a 
ser alocado na memória para armazenar valores deste tipo e a faixa de valores. 
 
São tipos suportados pelo .NET, EXCETO: 
 
 Function 
 Boolean 
 
Date 
 
Char 
 
Structure 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 7a Questão (Ref.: 201510718310) Fórum de Dúvidas (0) Saiba (0) 
 
Um desenvolvedor precisa identificar se o valor inteiro armazenado em uma variável (var) é par, para isso ele 
deverá usar: 
 
 
var & 2 = 0 
 
var \ 2 = 0 
 
var ^ 2 = 0 
 
var / 2 = 0 
 var mod 2 = 0 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 8a Questão (Ref.: 201511161486) Fórum de Dúvidas (0) Saiba (0) 
 
Conhecer e saber manipular os operadores em uma linguagem de programação é uma tarefa inicial e muito 
importante para quem está começando a programar. 
Em relação ao que foi apresentado nas aulas a respeito dos operadores, podemos afirmar que: 
 
 
Não existe um operador aritmético para cálculo da potência, devemos utilizar uma função interna do VB. 
 Na linguagem VB não podemos usar a forma x *= y devemos obrigatoriamente utilizar x = x * y. 
 
Like é um operador que trabalha com o tipo string e numérico, Retornando True caso um padrão seja 
encontrado. 
 Se a primeira expressão em um AndAlso é avaliada como False, em seguida, a segunda expressão não 
será avaliada porque não é possível alterar o resultado final, e AndAlso Retorna False. 
 
Não existe diferença entre os tipos short e ushort para um desenvolvedor, já que ambos possuem o 
mesmo tamanho de memória. 
 
Aluno: ALLISON LEONE FRANCELINO RAMOS DA SILVA Matrícula: 201510492054 
Disciplina: CCT0248 - DESEN.DE SOFT Período Acad.: 2017.1 EAD (GT) / EX 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo 
de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
O Visual Basic fornece vários módulos que permitem simplificar tarefas comuns no seu 
código. O módulo que contém os membros que retornam resultados dos testes de 
verificação de tipo ou retornam as informações sobre erros em tempo de execução, o 
nome do
tipo, o valor da cor em RGB é chamado de: 
 
 
 
 
ErrObject 
 
 
Information 
 
 
DateAndTime 
 
 
ControlChars 
 
 
Strings 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
 
Qual é a função interna da linguagem VB .NET que retorna o número 
de caracteres em uma string ou a quantidade de bytes necessários 
para armazenar uma expressão de um tipo? 
 
 
 
 
Left 
 
 Len 
 
 
LTrim 
 
 LCase 
 
 
LSet 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
3. 
 
 
Qual será o valor da variável Resultado após a execução da linha de 
código em linguagem VB 2010? 
Dim Resultado As String = Mid("ABCDEF", 2, 3) 
 
 
 
 "BCD" 
 
 
"ABC" 
 
 "BC" 
 
 
"CD" 
 
 
"AB" 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
 
A modularização diz respeito direto a criação adequada dos métodos, que evitam 
redundância, facilitam o reaproveitamento de código dentre outras vantagens. Marque a 
resposta que defina corretamente o que pode ser um método no VB.NET. 
 
 
 
 
Module, Form ou Sub. 
 
 
Sub ou Function. 
 
 
Module ou Form. 
 
 
Module, Function ou Sub. 
 
 
Form ou Sub. 
 
 Gabarito Comentado 
 
 
 
5. 
 
 
Um desenvolvedor precisa de um código que receba o valor do lado de um quadrado, 
calcule e retorne a área deste quadrado, ele deverá usar qual das opções de código a 
seguir? 
 
 
 
 
Sub AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Sub 
 
 
Function AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Function 
 
 
Module AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Module 
 
 
Function AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Return S 
End Function 
 
 
Sub AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Return S 
End Sub 
 
 Gabarito Comentado 
 
 
 
6. 
 
 
Um desenvolvedor precisa de um código que receba o valor do lado de um quadrado, 
calcule e exiba a área deste quadrado, ele deverá usar qual das opções de código a 
seguir? 
 
 
 
 
Sub AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Return S 
End Sub 
 
 
Sub AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Sub 
 
 
Module AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Module 
 
 
Function AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Console.WriteLine("Area: " & S) 
End Function 
 
 
Function AreaQuad (ByVal n As Integer) 
 Dim S As Integer 
 S = n * n 
 Return S 
End Function 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
7. 
 
 
Um método, também conhecido como procedimento, é um bloco de códigos identificado 
por um nome. Sempre chamado pelo nome para que execute o bloco de código. O 
método que executa um bloco de código, mas Não retorna valor: 
 
 
 
 
Module 
 
 
Public 
 
 
Application 
 
 
Sub 
 
 
Function 
 
 Gabarito Comentado 
 
 
 
8. 
 
 
No desenvolvimento de software com a intenção de evitar redundância, permitir o 
reaproveitamento de código e facilitar a manutenção, baseado na máxima que diz: 
Dividir para conquistar, O VB 2010 Express, ao criar um projeto, define automaticamente 
um(a): 
 
 
 
 
Rotina 
 
 
Módulo 
 
 
Procedimento 
 
 
Função 
 
 
Método 
 
Exercício: CCT0248_EX_A4_201510492054_V1 Matrícula: 201510492054 
Aluno(a): ALLISON LEONE FRANCELINO RAMOS DA SILVA Data: 07/05/2017 22:10:13 (Finalizada) 
 
 
 1a Questão (Ref.: 201510718315) Fórum de Dúvidas (0) Saiba (0) 
 
Um desenvolvedor precisa entender o desenvolvimento de um código feito por outro programador. 
Acompanhando a lógica do programa a seguir, qual será o resultado apresentado pelo programa? 
Module Module1 
 Sub Main() 
 Dim a As Integer = 10 
 Dim b As Integer = 20 
 Dim resp As Integer 
 If a > b Then 
 If a Mod 2 = 0 Then 
 resp = a / b 
 Else 
 resp = a + b 
 End If 
 Else 
 If b Mod 2 = 0 Then 
 resp = a * b 
 Else 
 resp = a - b 
 End If 
 End If 
 Console.WriteLine(resp) 
 Console.ReadKey() 
 End Sub 
End Module 
 
 2 
 200 
 
30 
 
10 
 
40 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 2a Questão (Ref.: 201511118257) Fórum de Dúvidas (0) Saiba (0) 
 
O código apresentado nesta questão, tem por objetivo receber a idade de uma pessoa e informar se ele é Eleitor 
obrigatório, facultativo ou Não é eleitor, baseado apenas na idade, deixando de fora outros requisitos. 
 
Sabe-se que voto é obrigatório para pessoas que tenham de 18 a 69 anos, pessoas menores de 16 anos não 
votam e para os demais o voto é facultativo. 
 
Module module1 
Sub Main() 
Dim idade As Byte 
Console.WriteLine("Idade: ") 
idade = Console.ReadLine() 
______ idade < 16 Then 
Console.WriteLine("Não Vota") 
________ idade < 18 Then 
Console.WriteLine("Facultativo") 
________ idade < 70 Then 
Console.WriteLine("Obrigatório") 
________ 
Console.WriteLine("Facultativo") 
_______ 
Console.ReadKey() 
End Sub 
End Module 
 
Marque a resposta que completa corretamente as lacunas para que o programa exiba corretamente a categoria 
do eleitor baseado na idade informada. Desconsidere valores errados, como zero ou números negativos. 
 
 
Select - Case - Case - Default - End Select 
 If - ElseIf - ElseIf - Else - End If 
 
If - if - If - Else - End If 
 
If - Else - Else - Else - End If 
 
Select Case - Case - Case - Case Else - End Select 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 3a Questão (Ref.: 201510774480) Fórum de Dúvidas (0) Saiba (0) 
 
A linguagem VB 2010 possui estruturas de controle de fluxo que permitem o desenvolvimento de programas 
estruturados, que são programas que não fazem uso da instrução GoTo. São Estruturas de Controle de Decisão, 
EXCETO: 
 
 
Decisão Simples 
 
Decisão de Sequência na mesma linha 
 Decisão de Repetição 
 Decisão Aninhada 
 
Decisão Estendida 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 4a Questão (Ref.: 201510718316) Fórum de Dúvidas (0) Saiba (0) 
 
Um desenvolvedor precisa entender o desenvolvimento de um código feito por outro programador. 
Acompanhando a lógica do programa a seguir, quais serão os resultados apresentados pelo programa? 
Sabendo-se que foram entrados os seguintes dados em sequência:

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais