SóProvas



Questões de Vetores


ID
16855
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

A atividade de programação requer conhecimento técnico de
diversas formas de algoritmos e estruturas de controle e de dados.
Acerca dos elementos técnicos da atividade de programação,
julgue os itens a seguir.

Quando o número de acessos randômicos a uma área de
armazenamento é muito maior que o número de inserções e
remoções de elementos armazenados, a organização dessa
área de armazenamento por meio de uma lista encadeada
resulta em desempenho melhor que o apresentado por
organização feita mediante uma estrutura de array.

Alternativas
Comentários
  • Para acessos randômicos, array é mais viável, pois não há necessidade de percorrer a lista para chegar ao elemento desejado, como acontece no caso de listas encadeadas
  • Com array, faz-se o acesso direto pelo índice...mais rápido para acesso randômico.

  • Unica e exclusivamente devido ter poucas  inserções eremoções de elementos .
  • Acessar array pelo índice sempre será mais rápido que acessar uma lista encadeada.

  • ERRADO.

     

    Arrays são mais eficientes p o cenário descrito na questão.

     

    Listas encadeadas seriam mais eficiente se tivesse maiores indices de inclusões/remoções em sua estrutura. E só reforçando o que os colegas já disseram, na lista encadeada o acesso NÃO É DIRETO, isso prejudica o desempenho.


ID
56662
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue os itens que se seguem, com relação a conceitos de
construção de algoritmos.

Um array é um agregado, possivelmente heterogêneo, de elementos de dados. Nele, um elemento individual é identificado por sua posição em relação ao primeiro.

Alternativas
Comentários
  • Em um array os elementos são identificados diretamente através de um índice.Em uma lista encadeada é que identificamos os elementos a partir do primeiro elemento (cabeça da lista)
  • o termo possivelmente heterogênio é que invalida a questão. Por definição o array, na programação estruturada, é homogênio. Ou seja, todos elementos tem o MESMO TIPO. Você não pode colocar uma string num array de inteiro. O resto esta certo, pois se a posição do elemento do array é a décima seu indeci é [10], isso é uma identificação em relação ao primeiro elemento do array.
  • Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns.

    Os arrays podem ser considerados como as estruturas de dados mais simples. Têm a vantagem de que os seus elementos são acessíveis de forma rápida mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reiniciar o original com a nova dimensão. Os vetores podem ser implementados desta forma.

    Estas estruturas de dados são ajeitadas nas situações em que o acesso aos dados seja realizado de forma aleatória e imprevisível. Porém, se os elementos podem estar ordenados e vai-se empregar um acesso sequencial, seria mais recomendada uma lista.

     
  • Nossa, para mim o erro está tão somente em dizer que array é um agregado heterogêneo de elementos de dados.
  • - Nos arrays todos os elementos que compoem o vetor ou matriz são de um mesmo tipo.

    - Arrays são HOMOGÊNEOS.


ID
106186
Banca
FCC
Órgão
PGE-RJ
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Uma estrutura de dados array pode ser do tipo

Alternativas
Comentários
  • b- 

    Consoante Edelweiss(2010), há 2 tipos de dados: dados basicos (primitivos), os quais sao indivisiveis e dados definidos por usuarios, os quais tambem sao dados estruturados, os quais podem ate conter dados basicos e outros estruturados. Exemplos de dados estruturados sao structs, arrays, matrices etc. Um array é caracterizado por ter dimensões (1d -> vetor, 2d ou 3d matriz), possuir index único, tipo (int etc) e conteúdo individual


ID
149926
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O desempenho de um sistema computacional depende de vários
fatores, como volume de dados, capacidade do sistema e
adequação dos algoritmos, das estruturas de dados e dos objetos
que são utilizados para realizar as operações. Acerca desse
assunto, julgue os itens que se seguem.

A ordenação de um vetor contendo n elementos, utilizando-se algoritmo de bolha, realiza, no pior caso, mais que n/2 comparações.

Alternativas
Comentários
  •  No pior caso, são feitas 2n2 operações. 

    http://pt.wikipedia.org/wiki/Bubble_sort

  • Algoritmo de bolha (bubble sort) realiza:
    i) melhor caso (já ordenado): (n-1) comparações;
    ii) pior caso (lista invertida): n² comparações;
    Como ele afirma que são mais que n/2 e n² > n/2, questão correta.
  • Está questão realmente está certa? Pois n/2 entendo que é uma fração, e não uma exponenciação 

  • o correto mesmo deveria ser

     

    2017

    No pior caso, quando o vetor está inversamente ordenado, o algoritmo Bubble Sort executa n2 operações para a ordenação de um vetor de n elementos.

    certa

     


ID
149929
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O desempenho de um sistema computacional depende de vários
fatores, como volume de dados, capacidade do sistema e
adequação dos algoritmos, das estruturas de dados e dos objetos
que são utilizados para realizar as operações. Acerca desse
assunto, julgue os itens que se seguem.

A busca binária pode ser realizada em vetor não ordenado. Caso o vetor contenha n elementos, o tempo de execução da busca necessita de 5n comparações.

Alternativas
Comentários
  •  Necessita de log n comparações.

  • A busca binária não pode ser realizada em um vetor desordenado e o tempo de execução é da ordem de log(n) e não 5n.

  • O erro começa no 1º período da assertiva. Nem li o resto:

    "A busca binária pode ser realizada em vetor não ordenado. ...."

    Não! O vetor tem que ser ordenado para se realizar a busca binária.
  • Tem que está  ordenado, pois  isso é um requisito obrigatório para busca ordenada


ID
150334
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são, característicamente,

Alternativas
Comentários
  • Traduzindo a resposta
    homogêneos e de acesso aleatório por intermédio de índices.
    significa dizer que o tipo dos dados de um vetor e' sempre igual, ou seja, se crio um vetor de caracteres com 10 posicoes, significa que o tipo de dados dos 10 elementos inseridos sera caracter. Acesso aleatorio, significa que posso acessar qualquer elemento do vetor atraves do indice, ou seja, quero o elemento da posicao 4 entao digo vet[4], nao preciso passar pela posicao 1,2 e 3 para chegar `a posicao 4, posso acessar diretamente a posicao 4 atraves do nome do vetor e do indice da posicao desejada, vet[4] por exemplo
    bons estudos

ID
153049
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue os próximos itens, acerca de características, funções,
algoritmos e componentes de sistemas operacionais.

Um vetor de interrupções contém uma fila de pares de parâmetros, sendo um parâmetro para o número da interrupção e o outro para o processo destinatário da interrupção.

Alternativas
Comentários
  • O vetor de interrupções é uma tabela de endereços de memória que apontam para as rotinas de tratamento de interrupção.
  • Gabarito Errado

    vetor de interrupções é uma tabela de endereços de memória que apontam para as rotinas de tratamento de interrupção. Quando uma interrupção é gerada, o processador salva o seu estado atual e começa a executar o tratamento de interrupção apontado pelo vetor.

    Em muitas arquiteturas, o vetor de interrupção fica localizado no início do espaço de memória, a partir do endereço 0. Nos Pcs, o vetor de interrupções ocupa os primeiros 1024 bytes.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
154042
Banca
FCC
Órgão
MPE-RN
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

As entradas de uma matriz de incidência que representa um grafo onde uma das dimensões são vértices e a outra são arestas, são representadas apenas por

Alternativas
Comentários
  • Na representação dos grafos em matrizes podemos fazê-los por:
    1)matrizes INCIDENTES:
    relacionam os vértices as arestas - verifica qual vértice está ligado a qual aresta.
    (0=aresta não incide no vértice, 1=aresta incide no vértice, 2=aresta sai e incide no mesmo vértice)
    2)matrizes ADJACENTES:
    relacionam os vértices aos outros vértices - verifica quais vértices estão  ligados entre si. (0 = vértice não ligado, 1 = vértice ligado)

    http://www.land.ufrj.br/~classes/grafos/slides/aula_4.pdf
  •  d)três valores (0, 1 e 2).

    Os valors de 0,1,2 em matriz incidencia seguem o padrão abaixo para uma matrix Ig [v,e]

    0 - vertice e aresta não-relacionados.

    1 - vertice e aresta relacionados.

    2- aresta é um loop em vertice. O ""loop"" acontece quando o node esta solto na representação, não interagindo com o grafo principal

     


ID
157480
Banca
CESPE / CEBRASPE
Órgão
TRT - 5ª Região (BA)
Ano
2008
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Com respeito a linguagens de programação e estrutura de dados, julgue os itens a seguir.

Entre alguns tipos de estrutura de dados, podem ser citados os vetores, as pilhas e as filas.

Alternativas
Comentários
  •  Vetor é considerado uma estrutura de dados?

  • Questão certa.

    Respondendo ao comentário anterior, assim como os arrays, os vetores são considerados estruturas de dados simples.

     

    http://pt.wikipedia.org/wiki/Array

  •  Estruturas de dados clássicos:

    1. Vetores;
    2. Lista;
    3. Fila;
    4. Pilha
    5. Árvores

    Logo a questão está certa.

     

  • Sim. Vetor é uma estrutura de dados também. Porém, diferente de pilha, fila, lista, ele já vem definido (buit-in) em praticamente todas as linguagens.
  • Não sabia que vetor era uma estrutura de dados


ID
161827
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2008
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Vetores associativos, caches e sets

Alternativas
Comentários

ID
163984
Banca
FCC
Órgão
TJ-PI
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. Trata-se do método denominado busca

Alternativas
Comentários
  • d-

    a busca binaria é umk algoritmo para encontrar um elemento em um array ORDENADO, baseado no esquema divide and conquer. sua complexidade em big o notation é [log2(n+1)] = [log2(n)+1]

  • Busca binária

    É o método que realiza a busca por um elemento, dividindo um vetor ordenado em duas partes e testando em qual delas o elemento deveria estar, procedendo da mesma forma para a parte provável, e assim, sucessivamente, até que o elemento seja encontrado. A utilização da busca binária diminui a complexidade da busca, mas não a da inserção ou da remoção.

    Complexidade:

    Pior caso: O(log n)

    Caso médio: O(log n)

    Melhor caso: 1

    Alternativa: D


ID
218200
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca de estruturas de dados do tipo vetor em linguagens
estruturadas, julgue os itens a seguir.

Vetores podem ser considerados como listas de informações armazenadas em posição contígua na memória.

Alternativas
Comentários
  • A redação não me ajudou muito, a idéia de "informação" normalmente está relacionada com o processamento dos dados. "Lista de Informação" para mim é um vetor (matriz unidimensional) de uma estrutura. A parte final do texto,  esta correta, "armazena em posição contígua na memória". No entanto, o cespe considerou correto, se alguém puder me esclarecer as idéias eu agradeço.
  • Listas de informações é a mesma coisa de lista de dados. Não nada relacionado a processamento. Questão correta.
  • Informação é o resultado do processamento, manipulação e organização de dados, de tal forma que represente uma modificação (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou máquina) que a recebe.
    http://pt.wikipedia.org/wiki/Informação

    No contexto exemplificativo da prova o dado pode ser considerado como a própria informação, tendo em vista que trata-se de uma simplificação.

    O que também pode levar o candidato ao erro é relacionar vetores (arrays), que é uma estrutura de dados básica, a uma lista, estrutura de dados mais complexa. Alguém saberia justificar tal visão da CESPE?
  • Conceito de Vetores

    1) Uma variável do tipo vetor pode armarzenar uma coleção de valores do mesmo tipo

    2) Os elementos da coleção são armazenados em posições contíguas de memória.

    3) Cada elemento da coleção é identificado por um seletor (ou índice) que indica a posição do elemento na coleção.
  • VETORES

     

     Os vetores possuem tamanho fixo e suas posições são contíguas na memória.


     O índice inicial de um vetor é zero. Dessa forma, ao se realizar uma varredura em um array, sempre devemos considerar o intervalo de 0 ao tamanho do vetor - 1;

     

    Fonte: Itnerante

  • Acertei a questão, mas a palavra informação em vez de dados realmente pode induzir ao erro.


ID
218203
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca de estruturas de dados do tipo vetor em linguagens
estruturadas, julgue os itens a seguir.

O uso de vetores deve ser evitado em situações em que um conjunto de dados do mesmo tipo precisa ser armazenado em uma mesma estrutura.

Alternativas
Comentários
  • O uso de vetores deve ser evitado usados em situações em que um conjunto de dados do mesmo tipo precisa ser armazenado em uma mesma estrutura.

  • Errado. Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum e consistem em posições contíguas na memória.
  • Incorreto. O uso de vetores é justamente para o armazenamento de um "conjunto de dados do mesmo tipo precisa ser armazenado em uma mesma estrutura".  Então não podemos evitar o seu uso.

  • Esse tipo de estrutura deve ser UTILIZADO para tipos de dados do mesmo TIPO.

     


ID
218206
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca de estruturas de dados do tipo vetor em linguagens
estruturadas, julgue os itens a seguir.

Uma posição específica de um vetor pode ser acessada diretamente por meio de seu índice.

Alternativas
Comentários
  • Item Correto.A forma de acessar aos elementos de um array é direta, ao contrário das listas. Isto quer dizer que o elemento desejado obtêm-se a partir do seu índice e não é preciso procurá-lo elemento por elemento.
  • Vetores guardam um número fixo de elementos, normalmente do mesmo tipo. Elementos são acessados utilizando um índice,
    inteiro, que referencia uma posição seqüencial do vetor.


ID
238336
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue os itens seguintes, relativos a programação básica.

Um array é um conjunto de elementos de tipos homogêneos, ou seja, todos os seus elementos são do mesmo tipo de dados. Uma estrutura, ou registro, é um conjunto de elementos heterogêneos, porque seus elementos não são obrigatoriamente do mesmo tipo de dados.

Alternativas
Comentários
  • Array é uma estrutura estática que armazena elementos de um mesmo tipo, identificados por um combinação de linha e coluna.


    Registros são conjuntos de dados logicamente relacionados, que comportam tipos diferentes: numérico, literal, lógico.

  • Prezados,

    O comando da questão não especifica nenhuma linguagem especifica , e pede que ela seja respondida com conceitos relacionados a programação básica.
    O comando da questão afirma que em um array todos os elementos são do mesmo tipo de dados, enquanto um registro é um conjunto de elementos de diferentes tipos de dados. Apesar de em determinadas linguagens não sermos amarrados a essa condicionante, quando tratamos de programação básica , essa é a regra.

    Portanto a questão está correta.
  • Arrays


     Um array é uma estrutura de dados que armazena um conjunto
    de elementos de forma que os mesmos são acessados por um
    índice.
     Os arrays podem ser unidimensionais (vetores) ou
    multidimensionais (matrizes).
     Os arrays são agregados homogêneos, ou seja, todos os seus
    elementos são de um mesmo tipo.

     

    Fonte: Itnerante


ID
598450
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca das estruturas de dados estáticas e homogêneas (vetores e matrizes) e das estruturas de dados dinâmicas (listas, pilhas, filas), utilizadas para armazenar conjuntos de valores, julgue os itens a seguir.

Vetores são utilizados quando estruturas indexadas necessitam de mais que um índice para identificar um de seus elementos.

Alternativas
Comentários
  • Se fosse mais de um índice seria uma matriz.
  • ERRADO.

     

    Vetores são unidimencionais --->  um índice.

    Matrizes são multidimencionais ---> mais de um índice.

     

    Portanto a questão descreve o conceito de MATRIZES, não de vetores.


ID
599701
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Dois vetores, v1 e v2, armazenam N inteiros cada um, estão ordenados de forma crescente e têm a propriedade de que o último elemento de v1 (v1[N-1]) é menor que o primeiro elemento de v2 (v2[0]). É retirado um elemento de cada vez de cada um desses vetores alternadamente, e cada elemento retirado é colocado em uma fila. Posteriormente, os elementos são retirados da fila e inseridos em uma árvore binária de busca. A árvore é percorrida em ordem simétrica, e os elementos são inseridos, assim que retirados, em uma pilha. Depois, cada elemento é retirado da pilha e inserido alternadamente em um dos vetores, começando por v1.

Diante do exposto, conclui-se que

Alternativas
Comentários
  •  Alternativas conforme constam na prova

    A)     V1[i]≥ v2[i], ∀ =0,1,..., N-1
    B)     V1[i] ≤ v2[i], ∀ =0,1,..., N-1
    C)     V1[N-1] > v2[0]
    D)    as listas não estão mais ordenadas.
    E)      todos os elementos de v1 estão armazenados em v2 e vice-versa.
  • É só fazer por partes:

    Dois vetores, v1 e v2, armazenam N inteiros cada um, estão ordenados de forma crescente e têm a propriedade de que o último elemento de v1 (v1[N-1]) é menor que o primeiro elemento de v2 (v2[0]).

    v1: 1 2 3
    v2: 4 5 6

    É retirado um elemento de cada vez de cada um desses vetores alternadamente, e cada elemento retirado é colocado em uma fila.
    (inicio) 1 4 2 5 3 6 (fim da fila)

    Posteriormente, os elementos são retirados da fila e inseridos em uma árvore binária de busca.
      1
               4
        2             5
             3              6

    A árvore é percorrida em ordem simétrica (esquerda, visita, direita), e os elementos são inseridos, assim que retirados, em uma pilha.
    (topo da pilha) 6 5 4 3 2 1

    Depois, cada elemento é retirado da pilha e inserido alternadamente em um dos vetores, começando por v1.
    v1: 6 4 2
    v2: 5 3 1

    Resposta: alternativa A
  • Apenas complementando os colegas, essa questão tem um macetinho que economizaria muito tempo na hora da prova, então é bom ficar atento aos detalhes. Basicamente, se ele usa uma árvore binária de busca, isso quer dizer que a remoção em ordem simétrica sempre vai retornar dados em odem crescente, independente de como eles foram inseridos. Dessa forma, inserir em uma pilha reverteria a ordem, nos dando uma sequência decrescente (ex: 10, 9, 8, 7, 6, 5). Distribuindo alternadamente começando pelo v1 teríamos:
    v1={10,8,6}
    v2={ 9,7,5}

    Ou seja, v1[i]>v2[i]

ID
748114
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Seja um vetor de inteiros com 400 elementos distintos ordenados em ordem crescente.

Qual é o número máximo de iterações necessárias para encontrar um elemento qualquer do vetor caso seja utilizado o algoritmo de busca binária?

Alternativas
Comentários
  • Vamos tentar encontrar 201 entre os 400 itens da lista binária.

    Passo 1: Divide 400 por 2 = 200
    Passo 1.1: 201 é maior ou menor que 20? É maior e por isso ficamos com os números entre 200 e 400
    Passo 2: Pega-se o número intermediário entre 200 e 400 = 300
    Passo 2.1: 201 é maior ou menor que que 300? É menor e por isso ficamos com os números entre 200 e 300
    Passo 3: Pega-se o número intermediário entre 200 e 300 = 250
    Passo 3.1: 201 é maior ou menor que 250? É menor e por isso ficamos com os números entre 200 e 250
    Passo 4: Pega-se o número intermediário entre 200 e 250 = 225
    Passo 4.1: 201 é maior ou menor que 225? É menor e por isso ficamos com os números entre 200 e 225
    Passo 5: Pega-se o número intermediário entre 200 e 225 = 213 (arredonda para cima)
    Passo 5.1: 201 é maior ou menor que 213? É menor e por isso ficamos com os números entre 200 e 213
    Passo 6: Pega-se o número intermediário entre 200 e 213 = 207 (arredonda para cima)
    Passo 6.1: 201 é maior ou menor que 207? É menor e por isso ficamos com os números entre 200 e 207
    Passo 7: Pega-se o número intermediário entre 200 e 207 = 204 (arredonda para cima)
    Passo 7.1: 201 é maior ou menor que 204? È menor e por isso ficamos com os núemros entre 200 e 204
    Passo 8: Pega-se o número intermediário entre 200 e 204 = 202
    Passo 8.1: 201 é maior ou menor que 202? É menor e por isso ficamos com os números entre 200 e 202
    Passo 9: Finalmente chega-se no número 201. Veja que foram necessáiros 9 passos de movimento na lista até encontrar o bendito 201.
  • O algoritmo de busca binária sempre vai comparar o número procurado com o número que está na posição do meio do vetor. Se o número comparado não for o do meio, caso esse número seja maior número procurado, ele irá jogar fora os números maiores que ele, e caso seja menor que o número procurado, ele joga fora os números menores que ele. O algoritmo repete até que o número procurado seja igual ao número comparado. 

    Enquanto (número procurado <> número comparado)
        Lê o número do meio do Vetor
        Se (número comparado > número procurado)
              Vetor novo <- 1ª posição do vetor até o número comparado
        senão
              Vetor novo <- número comparado até a última posição do vetor
     
    Então sua execução: 

    1ª iteração pega o do meio (400/2) e compara
    2ª iteração pega o do meio (200/2) e compara
    3ª iteração pega o do meio (100/2) e compara
    4ª iteração pega o do meio (50/2) e compara
    5ª iteração pega o do meio (25/2) e compara
    6ª iteração pega o do meio (12/2) e compara
    7ª iteração pega o do meio (6/2) e compara
    8ª iteração pega o do meio (3/2) e compara
    9ª iteração pega o do meio (1) e compara
     

    *Mesmo com um número só, ele ainda vai fazer uma comparação, por isso conta como uma iteração.
  • De um modo mais simplório, deve-se lembrar que busca binária é um algoritimo de complexidade O(logN), ou seja, 2^x = 400 2^8 = 256 e 2^9 = 512, assim sendo 8 ainda é menor que o tamanho máximo do vetor e 9 é mais do que suficiente para o mesmo.
  • Acho que resolvi esta questão com um pensamento mais simples (no meu ponto de vista).

    Em uma busca binária, como os números do vetor estão em ordem (menor para o maior) o algoritmo sempre fará sucessivas divisões por 2 até encontrar o valor desejado. 

    Ou seja, pega-se o valor do meio do vetor e, caso não seja o número procurado, verifica-se se o número é maior ou menor e continua-se a busca por uma das duas metades (a metade antes ou a metade depois do valor escolhido no meio do vetor).

    Desta forma, no pior caso, para garantir que qualquer número seja encontrado, basta pegar a quantidade de elementos do vetor (400) e ir dividindo o valor por 2, até que se obtenha apenas 1 valor isolado e ir contando as iterações (equivalentes às divisões por 2).

    400/2 = 200 (1 iteração)
    200/2 = 100 (2 iterações)
    100/2 = 50   (3 iterações)
    50/2 = 25     (4 iterações)
    25/2 = 13 ( neste caso haverá uma divisão do vetor em 2. Um vetor 12 e outro de 13 elementos.No pior caso, assume-se o maior com 13) (5 iterações).
    13/2 = 7 (idem, com um vetor de 6 e outro de 7 elementos) (6 iterações)
    7/2 = 4 (idem, com um vetor de 3 e outro de 4 elementos) (7 iterações)
    4/2 = 2  (8 iterações)
    2/2 = 1 (9 iterações)

    Assim, com essas 9 iterações, encontra-se qualquer elemento em um vetor ordenado de 400 elementos. 
  • Fabio a complexidade da busca binária não seria O(log2N)?

  • Força Guerreiro!!!!!!


ID
913801
Banca
FCC
Órgão
DPE-SP
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O algoritmo a seguir utiliza palavras do nosso idioma para representar a resolução lógica de um problema computacional:

  algoritmo Teste
        var vet: vetor[0..4] inteiro
        var n, p, u, aux: inteiro         
        início
           para (p de 0 até 4 passo 1) faça
               leia (n)
               vet[p]
n
           fim_para
           p
0
           u
4
           aux
0
           enquanto (u<>1) faça
             enquanto (p<>u) faça
                 se(vet[p]>vet[p+1])
                   então aux
vet[p]
                         vet[p]
vet[p+1]
                         vet[p+1]
aux
                 fim_se
                 p
p+1
              fim_enquanto
              p
0
              u
u-1
           fim_enquanto
         fim  


O pseudocódigo apresentado

Alternativas
Comentários
  • Bubble Sort

  • O pseudocódigo está correto por isso elimina as alterativas (B) e (C). A letra (A) está errada pois o código não trata de fatorial, e a letra (E) está errada pois armazena 4 valores. A letra (D) está correta pois é um vetor Bubble Sort de ordem crescente.

  • Força Guerreiro!!!!!!


ID
947257
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue os itens seguintes, relativos a programação e lógica de programação.

Segundo o pseudocódigo abaixo, um vetor de 100 números é lido e, em seguida, é montado um segundo vetor a partir dos valores do primeiro vetor multiplicados por 3.

início

           VET1,VET2 : vetor [1..100] numérico

       CONTADOR : numérico

        para CONTADOR de 1 até 100 faça

               leia "Digite um número: ",VET1[CONTADOR]
               VET2[CONTADOR]   (VET1[CONTADOR] * 3)

      fim-para

fim


Alternativas
Comentários
  • Errei por desatenção. A alternativa está inválida, porque o vetor não é lido. É apenas populado dentro da estrutura PARA e seus valores são atribuídos para outro vetor.
  • O Vetor1 é lido na linha:

    leia "Digite um número: ",VET1[CONTADOR]

    Ainda não sei o que essa questão tem de errado.
  • Acho que esta errada porque o pseudocódigo preenche o segundo vetor ao mesmo tempo em que lê o primeiro.

  • verdade

  • Ambos são  populares simultaneamente.

     

     

  • A montagem do segundo vetor ocorre paralelamente à montagem do primeiro vetor (não em seguida, como sugere a assertiva), já que a leitura dos valores do vetor ocorre dentro do laço. Faça o teste de mesa se tiver dúvidas!

    Resposta: Errado

  • Errada.  A montagem do segundo vetor ocorre paralelamente à montagem do primeiro vetor (não em seguida, como sugere a assertiva), já que a leitura dos valores do vetor ocorre dentro do laço. Faça o teste de mesa se tiver dúvidas!

  • Pessoal, a montagem do segundo vetor. Ocorre paralelamente com o primeiro, a questão difere quando fala que ele é montando em seguida.

    Resposta: Errado

  • A montagem do segundo vetor ocorre paralelamente à montagem do primeiro vetor (não em seguida, como sugere a assertiva), já que a leitura dos valores do vetor ocorre dentro do laço. Faça o teste de mesa se tiver dúvidas!

    Fonte: PDF Direção concursos.

  • Força Guerreiro!!!!!!


ID
1003543
Banca
AOCP
Órgão
Colégio Pedro II
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Em algoritmos e estruturas de dados existe um tipo de estrutura chamada vetor. Sobre vetores, assinale a alternativa INCORRETA.

Alternativas
Comentários
  • Letra A - ERRADA

     

    Vetor:

    - Ponteiro que aponta para um endereço físico

    - Sequências de elementos de um dado tipo

    - Podem ter uma ou mais dimensões (Vetores Multidimensionais)

    - Variável composta Homogênea Unidimensional

    - Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura.

  • Por favor #Qconcursos conserte a alternativa (D)

  • Errado. Trata-se de variáveis do mesmo tipo, que possuem um mesmo identificador (nome), e são alocadas aleatoriamente na memória. São alocadas de forma contínua.


ID
1062634
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Existem dois vetores, chamados A e B, que estão ordenados e contêm N elementos cada, respeitando a propriedade A[N-1]<B[0], onde os índices de ambos os vetores vão de 0 a N-1. Retiram-se primeiro todos os elementos de A na ordem em que se apresentam e inserem-se esses elementos em uma árvore binária de busca, fazendo o mesmo depois com os elementos de B, que são inseridos na mesma árvore de busca que os de A. Depois, retiram-se os elementos da árvore em um percurso pós ordem, inserindo-os em uma pilha. Em seguida retiram-se os elementos da pilha, que são inseridos de volta nos vetores, começando pelo elemento 0 do vetor A e aumentando o índice em 1 a cada inserção, até preencher todas as N posições, inserindo, então, os N elementos restantes no vetor B da mesma maneira. 


Ao final do processo, tem-se que os vetores

Alternativas
Comentários
  • Olá pessoal bom dia!!!

     

    Para melhor entendimento dessa questão, o aluno tem que ter claros conhecimentos a respeito:

     

    Árvore binária de busca (pré-ordem, in-ordem e pós ordem) e valores menores a esquerda e maiores a direita;

    Pilha (LIFO - Last in, First Out).

     

    Vamos lá, organizei dois vetores ordenados, assumindo o que foi dito na questão A[N-1] e coloquei 2 elementos, como exemplo, em cada para não ficarem extensos:

     

    A[1,2] e B[4,5]

     

    Colocando os valores em uma árvore binária de busca, tem-se (VALORES MAIORES SEMPRE A DIREITA DO NÓ RAIZ):

     

    1

      2

        4

           5

     

    Colocando-os numa pilha, assumindo o princípio pos-ordem - EDR (esquerda, direita e raiz) - dito na questão:

     

    Pilha[5,4,2,1]

     

    Assumindo o princípio LIFO da pilha, retiraremos todos os elementos de volta para os dois vetores:

    A[1,2] e B[4,5]

     

    Temos no final de tudo isso os vetores da mesma forma que criamos, então pode-se deduzir que A[i] < B[i]

    Com isso, a resposta é a letra A.

     

    Pessoal, se eu tiver cometido algum equívoco, favor expor seus comentários, pois estamos aqui para que em união possamos aprender numa boa.

     

    Faço esse tipo de comentário, pois eu diariamente também faço uso de diversos bons comentários aqui deixados.

     

    Abraços.

     

    Go ahead!!!!

  • A única ressalva que faço quanto ao comentário do Marcelo é no que diz respeito ao percuso pós-ordem. Nesse tipo de percurso, o caminho percorrido é Esquerda - Direita - Raíz, e não Esquerda - Raíz - Direita, que neste caso, seria o percurso em Ordem. No mais, a explicação dele está correta e bem clara. Obrigado!

    Resumindo:

    Pré-ordem: Você deve visitar primeiro a raiz, depois a sub-árvore esquerda e por último a sub-árvore direita. 
    Em-ordem: Você deve visitar primeiro a sub-árvore esquerda, depois a raiz e por último a sub-árvore direita. 
    Pós-ordem: Você deve visitar primeiro a sub-árvore esquerda, depois a sub-árvore direita e por último a raiz. 

     

     

  • Força Guerreiro!!!!!!


ID
1205053
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2003
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Na maioria das linguagens de programação um array é a utilização da estrutura de dados clássica denominada

Alternativas
Comentários
  • Gabarito A

    Um array é uma sequência não ordenada de dados. Os elementos residem em um lugar separado na memória, e seu acesso é feito por meio de um índice na primeira posição de cada elemento. 

    Pense em sua casa como um dado na memória e o número dela como sendo o índice desse dado. Sempre que precisamos achar sua casa (dado), procuramos pelo número dela (índice). 

    O tipo array consiste em uma matriz ou coleção de dados ou matriz de um mesmo tipo. Podemos acessar o seu conteúdo por meio do índice. 

    Para que possamos declarar um array, fazemos o uso dos colchetes [ ], depois o tipo da variável; usamos também a instrução NEW, que é obrigatório. 

    Como um array é uma matriz, é possível termos várias dimensões. Seu tamanho é definido pelo programador e seu índice inicial é sempre zero.

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Obrigada, Ibsen Maciel vulgo "Perito".

    valeuuuu .


ID
1208266
Banca
CESPE / CEBRASPE
Órgão
TJ-SE
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca de classificação de dados, julgue os itens subsecutivos.

Ao se utilizar um vetor para a ordenação de dados numéricos em ordem crescente, se a ordenação dos dados for realizada pelo algoritmo de ordenação por seleção, um laço de comparações será executado do primeiro ao penúltimo elemento do vetor.

Alternativas
Comentários
  • A idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor do vetor e colocamos ele em vetor[1]. Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor[2]. E assim vamos indo até termos todo o vetor ordenado.


    http://tiagomadeira.com/2006/01/ordenacao-por-selecao/

  • Força Guerreiro!!!!!!


ID
1271146
Banca
MPE-RS
Órgão
MPE-RS
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Uma estrutura de dados que contém um grupo de itens homogêneos (todos do mesmo tipo) e que sejam diretamente identificados e acessíveis através do uso de índices inteiros é denominada

Alternativas
Comentários
  • Vetor(Array):

    Variável composta Homogênea Unidimensional

    Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura.

    Ponteiro que aponta para um endereço físico

    Sequências de elementos de um dado tipo

    Podem ter uma ou mais dimensões (Vetores Multidimensionais)

  • Força Guerreiro!!!!!!


ID
1379557
Banca
IBFC
Órgão
SEAP-DF
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Como resposta a uma questão da prova, a definição de estrutura de dados elementar denominada vetor foi apresentada por 4 alunos de formas diferentes. Identifique nas alternativas abaixo a resposta correta:

Alternativas
Comentários
  • Força Guerreiro!!!!!!


ID
1389496
Banca
CESPE / CEBRASPE
Órgão
SEGESP-AL
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue o item a seguir, com relação a estruturas de dados.

O método quicksort é semelhante ao bubble sort, pois opera comparando cada elemento de um vetor com seu sucessor e, caso este esteja fora de ordem, o quicksort auxilia a troca da posição. Dessa forma, em ambos os métodos, é grande o número de comparações e trocas para execução de vetores extensos.

Alternativas
Comentários
  • quicksort - Faz, sucessivamente, partições em subvetores, de forma que a parte esquerda contenha sempre elementos menores ou iguais aos da direita.

    bubble sort - Percorre a tabela do início ao fim, sem interrupção, trocando de posição 2 elementos consecutivos, sempre que se apresentarem fora de ordem.

     

     

     

     

     

    Gab. E

  • Isso!! No quick, deve-se selecionar o pivô (essa escolha pode ser feita de varias formas) e todos os elementos menores que ele devem ser "jogados" p o lado esquerdo, enquando os maiores "jogados para a direita". Isso gera duas listas desordenadas, mas coloca o pivô no seu local correto :) basimanete, divide pra consquistas e tem o caso base da lista de um elemnto, que será sempre ordenada.

    a bolha compara N vezes cada elemnto com seu vizinho e troca se adequado.

  • Gabarito Errado

    Quicksort - Escolhe-se um pivot e particiona-se a lista em duas sublistas: uma com os elementos menores que ele e outra com os maiores, que, ao serem ordenadas e combinadas com o pivot, geram uma lista ordenada. O processo é aplicado às partições para ordená-las. Embora tenha uma complexidade de pior caso de O(n2 ), no caso médio é de O(n log n). 
     

    BubbleSort - pouco eficiente para ordenar grandes quantidades de informações. Compara posições adjacentes e vai ordenando o vetor. Elemento da posição i é comparado com o elemento da posição i + 1.

     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Força Guerreiro!!!!!!


ID
1459909
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O seguinte trecho de código em Java foi copiado de uma classe que implementa um método de ordenação de vetores.

1.    for ( int i=0; i < n; i ++) {
2.            for (int j=1; j < (n-i) ; j ++) {
3.                   if (intArray[ j-1] > intArray[ j ] ) {
4.                        temp = intArray[ j-1] ;
5.                         intArray[ j-1] = intArray[ j ] ;
6.                         intArray[ j ] = temp ;
7.                   }
8.            }
9.    }

Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:

• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]

Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:

Alternativas
Comentários
  • Posso discordar? Eu pensei igual a vcS, mas fui em outro raciocínio.

    A expansão da telefonia celular, impulsionada pela privatização do sistema TELEBRAS , em 1998, está entre as maiores conquistas da economia brasileira nas últimas duas décadas.

    Veja que acima o adjunto adverbial está na sua ordem, no fim da oração, assim, não há a nescessidade de vírgulas pois é proibida! ( impulsionada pela privatização do sistema TELEBRAS , em 1998, ) nessa passagem que é tida como certa o adjunto vem no fim, mas não pode vírgula quando o adj adv vem na sua posição final, pois gera ambiguidade com termo anterior e posterior.

    perceba tb que esse adjunto adverbial está tanto para oração anterior como posterior, segundo esse raciocínio a ad. ADV está tanto pra primeira quanto segunda oração.

    A expansão da telefonia celular, impulsionada pela privatização do sistema TELEBRAS , em 1998, está entre as maiores conquistas da economia brasileira nas últimas duas décadas.

    pessoal se alguém saber me explicar meu erro fico honrado de ser avisado o inbox. Agradeço.

  • Posso discordar? Eu pensei igual a vcS, mas fui em outro raciocínio.

    A expansão da telefonia celular, impulsionada pela privatização do sistema TELEBRAS , em 1998, está entre as maiores conquistas da economia brasileira nas últimas duas décadas.

    Veja que acima o adjunto adverbial está na sua ordem, no fim da oração, assim, não há a nescessidade de vírgulas pois é proibida! ( impulsionada pela privatização do sistema TELEBRAS , em 1998, ) nessa passagem que é tida como certa o adjunto vem no fim, mas não pode vírgula quando o adj adv vem na sua posição final, pois gera ambiguidade com termo anterior e posterior.

    perceba tb que esse adjunto adverbial está tanto para oração anterior como posterior, segundo esse raciocínio a ad. ADV está tanto pra primeira quanto segunda oração.

    A expansão da telefonia celular, impulsionada pela privatização do sistema TELEBRAS , em 1998, está entre as maiores conquistas da economia brasileira nas últimas duas décadas.

    pessoal se alguém saber me explicar meu erro fico honrado de ser avisado o inbox. Agradeço.

  • Força Guerreiro!!!!!!


ID
1469773
Banca
CETAP
Órgão
MPC-PA
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Um vetor a possui 10 posições para armazenar numeros inteiros (considere as posições de 1 a 10), e desejamos escrever um algoritmo para que cada posição contenha um valor maior ao anterior {vetor crescente). Selecione a alternativa que descreva um algoritmo que nao cumpre com esse objetivo

Alternativas
Comentários
  • A) 1 2 3 4 5 6 7 8 9 10

    B) 2 3 4 5 6 7 8 9 10 11
    C) 0 1 2 3 4 5 6 7 8 9
    D) 9 8 7 6 5 4 3 2 1 0
    E) 2 4 6 8 10 12 14 16 18 20
    A única alternativa em que os elementos estão em ordem decrescente é a D.
    Bons estudos!
  • Força Guerreiro!!!!!!


ID
1474741
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Dado o algoritmo Busca, onde A é um vetor e n é o número de elementos de A,

Busca (A, n)

          x ← A [1]
          para i de 2 até n, faça
                  se A [i] > x então x ← A [i]
          devolve x

o valor da saída x para o vetor de entrada A = (3, 2, 1, 7, 2, 5), onde n = 6, será

Alternativas
Comentários
  • Não sou muito bom em estrutura de dados, mas o meu raciocínio foi o seguinte:

    X vai receber o primeiro elemento do vetor, pela ordem apresentada é o número 3.

    Depois, a patir do 2 até n, que nesse caso é o 6, ele vai fazer as comparações com os outros elementos.

    2 é maior que 3? não, continua...
    1 é maior que 3? não, continua...
    7 é maior que  3? é sim, então o X recebe 7.
    2 é maior que 7? não, continua...
    5 é maior que 7? não, termina leitura do vetor, o valor final vai ser último valor que X recebeu, nesse caso o número 7.
    Logo, a resposta correta é a letra A.

    Espero ter ajudado e não ter falado bobagem. Boa sorte a  todos...

  • Da pra fazer a questão na mão, Só precisa copiar o vetor e vai testando seguindo o FOR e verificando a condição do IF


ID
1478416
Banca
IDECAN
Órgão
INMETRO
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Arrays são consideradas estruturas de dados que consistem em itens de dados do mesmo tipo. São entidades “estáticas” porque uma vez que são criadas, permanecerão do mesmo tamanho. É um grupo de posições de memória adjacentes, que possuem o mesmo nome e tipo. Ao criar um determinado array utilizando a linguagem de programação C#, deve-se atentar sobre tal estrutura. Diante do exposto, marque V para as afirmativas verdadeiras e F para as falsas.
( ) Os arrays podem ser declarados para conter a maioria dos tipos de dados.
( ) Em um array de tipos de dados primitivos, nem todo elemento do array precisa conter um valor do tipo de dados declarado do array.
( ) Uma variável const deve ser declarada e inicializada na mesma instrução.
( ) Quando é feita uma referência para um elemento inexistente de um array, ocorre uma exceção IndexOutRangeException.
( ) Em um array de tipo de referência, todo elemento do array é uma referência para um objeto do tipo de dados do array, como, por exemplo, todo elemento de um array string é uma referência para uma string, e essa referência tem o valor null como padrão.
( ) O número da posição em colchetes é mais formalmente chamado de índice (ou sobrescrito). Esse número deve ser um inteiro ou uma expressão inteira.
A sequência está correta em

Alternativas
Comentários
  • Gabarito: letra D - V,F,V,F,V,V

  • "Os arrays podem ser declarados para conter a maioria dos tipos de dados"

    VERDADEIRO, desde que seja um tipo por vez. Posso ter array de primitivo, classe, enum, ponteiro... Não conheço nenhuma exceção

     

    "Em um array de tipos de dados primitivos, nem todo elemento do array precisa conter um valor do tipo de dados declarado do array"

    FALSO, todos os valores precisam ser do mesmo tipo. Array de tipos diferentes são aceitos em linguagens de tipagem dinâmica (Javascript, PHP, Python...)

     

    "Uma variável const deve ser declarada e inicializada na mesma instrução"

    VERDADEIRO. Isso é coisa do C/C++. Em Java, eu posso declarar uma constante sem inicializar

     

    "Quando é feita uma referência para um elemento inexistente de um array, ocorre uma exceção IndexOutRangeException"

    FALSO. Na verdade, C/C++ não checa os limites do array. Vai imprimir algum lixo qualquer da memória. Se fosse C#, seria IndexOutOfRangeException e no Java seria ArrayIndexOutOfBoundsException

     

    "Em um array de tipo de referência, todo elemento do array é uma referência para um objeto do tipo de dados do array, como, por exemplo, todo elemento de um array string é uma referência para uma string, e essa referência tem o valor null como padrão"

    VERDADEIRO. Tipo primitivo armazena o valor. Objeto armazena a referência.

     

    "O número da posição em colchetes é mais formalmente chamado de índice (ou sobrescrito). Esse número deve ser um inteiro ou uma expressão inteira."

    VERDADEIRO. Posso usar frutas[0] ou frutas[i+j] se "i" e "j" forem inteiros


ID
1497877
Banca
FUNCAB
Órgão
MDA
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Observe o algoritmo a seguir.

algoritmo "MDA"
var
M : vetor[1..5,1..5] de inteiro
L,C : inteiro
procedimento GERAR
inicio
para L de 1 ate 5 faca
        para C de 1 ate L faca
            se ((C=1) ou (L=C)) entao
                  M[L,C] <- 1
            senao
                  M[L,C] <- M[L-1,C] + M[L-1 ,C-1]
            fimse
        fimpara
fimpara
fimprocedimento
procedimento SAIDA
inicio
   para L de 1 ate 5 faca
        para C de 1 ate I faca
                escreva(M[L,C]:3)
        fimpara
       |escreval
    fimpara
fimprocedimento
inicio
    GERAR
    SAIDA
fimalgoritmo


Após a execução, a saída será:

Alternativas
Comentários
  • Força Guerreiro!!!!!!


ID
1546594
Banca
FCC
Órgão
MANAUSPREV
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Algoritmo Exemplo
Var v: vetor [0..7]: inteiro
Var n, p, u, a: inteiro
Início
   Para p de 0 até 7 passo 1 faça
      leia (n)
      v[p] ← n
    Fim_para
    p ← 0
    u ← 8
    Enquanto (u < > 2) faça
        Enquanto (p < > (u-1)) faça
          Se (v[p] > v[p+1]) então
              a ← v[p]
              v[p] ← v[p+1]
              v[p+1] ← a
           Fim_se
           p ← p + 1
         Fim_enquanto
         p ← 0
         u ← u - 1
       Fim_enquanto
  Fim

Considerando-se que v receba os valores 12, 21, 3, 9, 57, 33, 27 e 41, nessa ordem, após executar todos os laços de repetição as posições 4 e 5 do vetor v conterão, respectivamente, os valores

Alternativas
Comentários
  • Eu entendi que é um bubble sort que deixa o vetor da seguinte maneira: 3,9,12,21,27,33,41,57. Desta forma respondi que os elementos nas posições 4 e 5 são 21 e 27. ERREI a questão. Talvez a FCC quis que o candidato diferenciasse posição de ordem. O terceiro elemento é a mesma coisa do elemento da posição 2.

  • Marlo Oliveira, o vetor começa na posição 0(zero), logo a resposta correta é a alternativa D mesmo.

  • Bem, para evitar cair em alguma armadilha*, conferi o algoritmo "na mão" e me certifiquei que é mesmo um algoritmo para ordenamento em ordem crescente dos valores. De fato, as posições 4 e 5, ao final, são preenchidas pelos valores 27 e 33, respectivamente.

    Temos que estar atentos a esse tipo de questão, pois a posição do vetor é determinada pelo seu índice. Assim, a posição 4 de um vetor, se refere ao valor constante do índice 4 deste vetor. Isso significa que, em um vetor que tem seu início determinado pela posição de índice 0, a posição de índice 4 se refere ao quinto valor deste vetor, e assim sucessivamente.

    *durante as provas, pode ser demorado fazer esse tipo de verificação. Tendo como base a média de 2,5 a 3 minutos por questão, de cara é bom supor que um ordenamento será feito. A partir daí, temos que comparar padrões dos valores com os padrões das respostas. Exemplo: não seria um ordenamento par/ímpar, pois somente o 12 é par. Pouco provavelmente, seria um ordenamento decrescente, pois somente uma alternativa tem um par decrescente... e por aí vai... Com isso, já assumiria a hipótese de ser um ordenamento simples crescente e, estando com pouco tempo, trabalhe com essa info e acerte.

  • Ao executar o algoritmo com algumas interações, percebo que se trata do método Bubble Sort que ordena um vetor, comparando um elemento com seu próximo e trocando as respectivas posições dependendo do critério de ordenação. 

    Logo o vetor ordenado será: 3,9,12,21,27...

    Gabarito: D

  • Força Guerreiro!!!!!!


ID
1561600
Banca
Marinha
Órgão
Quadro Complementar
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Dado o vetor "VET" de caracteres e o trecho de algoritmo abaixo:

                                                  VET
                                       M   A   H   N   I   R   A   !
                                       1     2    3    4   5   6   7   8 

Para I de 2 até 4 passo 1 faça
                AUX <- VET [I];
                VET [I] <- VET [8-1 + 1] ;
                VET [8- I + 1] <- AUX;
Fim para
AUX <- VET [1];
VET [1] <- VET [8];
VET [8] <- AUX;

Qual é o valor do vetor "VET", após a execução do algoritmo mostrado acima?

Alternativas
Comentários
  • i = 2 -> M   A   H   N   I   R   A   !

    i = 3 -> M   A   r   N   I   h   A   !

    i = 2 -> M   A   r   i   n   h   A   !

    após o laço ->  !   A   r   i   n   h   A   m


ID
1567024
Banca
COSEAC
Órgão
UFF
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o seguinte vetor:


[45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]


Utilizando-se uma pesquisa binária, o número máximo de buscas para encontrar a chave 600 será: 

Alternativas
Comentários
  • A pesquisa binária funciona da seguinte forma:

    Divide-se o vetor ao meio (ex: 16/2 = 8) 

    Verifica se o elemento central é igual ao item procurado, se sim a busca finaliza, se não verifica se o item é maior ou menor que o elemento central do vetor.

    Se for menor: elimina-se toda a parte direita do elemento central (incluíndo este) (uma vez que a pesquisa binária trabalha com elementos ordenados) - Repete-se o processo de comparação.

    Se for maior: elimina-se toda a parte esquerda do elemento central...Repete-se o processo de comparação.

  • Ordenação binária de vetores

     

    Utilizando-se uma pesquisa binária, o número máximo de buscas para encontrar a chave 600 será:

    [45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]

    Resolução:

    1°Busca

    Inicial do vetor:1 posição

    Meio do vetor:8 posição

    Final do vetor:16 posição

    Obs:Para achar o meio do vetor devemos dividir o número final da posição pela a posição inicial, assim achar um valor exato na divisão e dar prosseguimento na busca.Ex.(16+1)/2=8 posicão.

    Feito isso verificasse se o conteúdo do vetor da 8 posição é maior ou menor que valor que deseja encontrar(600).Se for menor eliminasse todas as posições do lado

    [45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]

    esquerdo do numero do meio;

    2°Busca

    Inicial do vetor:9 posição

    Meio do vetor:12 posição

    Final do vetor:16 posição

    Meio do vetor:(16+9)/2=12

     

    [45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]

    3°Busca

    Inicial do vetor:13 posição

    Meio do vetor: 14posição

    Final do vetor:16 posição

    Meio do vetor:(16+13)/2=14

    Agora verificasse se o valor do Meio do vetor é maior ou menor que o numero desejado. Assim o numero localizado na 14 posição é 785 que é maior que 600.Com isso eliminasse todos os vetores da direita do numero.

    [45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]

     

    4°Busca

    O ultimo numero que resta é o da posição 13 que é justamente o valor preocurado.

  • Para ganhar tempo na prova:

    Busca binária -> x = Log N na base 2.

    N = 16, então 2^X = 16

    X = 4

    esqueça o 600, isso foi só para te fazer perder tempo.

  • Força Guerreiro!!!!!!


ID
1567027
Banca
COSEAC
Órgão
UFF
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Em relação aos algoritmos de pesquisa em um vetor de N elementos, é correto afirmar que:

Alternativas
Comentários
  • a) ERRADA. O vetor deve estar previamente ordenado

    b) ERRADA. A distribuição das chaves deve ser uniforme.

    c) ERRADA. O tempo médio da busca sequencial é N/2.

    d) ERRADA. Possui quantidade máxima de busca de O(logn)

    e) CORRETA.

  • O algoritmo de busca linear é um algoritmo O(n). No caso médio, o elemento é encontrado após N/2

    O algoritmo de busca binária possui complexidade O(Log N base 2)

    Na busca por Interpolação, se as chaves estiverem uniformemente distribuídas a complexidade é O(log(log(n))), Se as chaves não estiverem uniformemente distribuídas, a busca por interpolação pode ser tão ruim quanto uma busca seqüencial

  • A - A pesquisa binária necessita que o vetor esteja previamente ordenado.

    B - A busca por interpolação é mais adequada quando existe uma distribuição uniforme nas chaves.

    C - A busca sequencial possui tempo médio da ordem de log N/2.

    D - A pesquisa binária possui uma quantidade máxima de buscas da ordem de O(logn).

  • Força Guerreiro!!!!!!


ID
1568227
Banca
FUNDATEC
Órgão
BRDE
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o trecho de código a baixo. Assuma que o operador [ ] (abre e fecha colchetes) é usado para acessar elementos de vetores (arrays) e que o primeiro elemento do vetor é armazenado no índice 0.


para i de 0 até 4 faça {

v[ i ] = i;

}

para i de 0 até 3 faça {

v[i+1] = v[i+1] + 2*v[i];

}


Qual o valor de v[4] após a execução do trecho de código acima?

Alternativas
Comentários
  • Resposta : letra E

    Basta substituir os valores de i pelo índice do laço.

    para i de 0 até 4 ...

    i = 0: v = [0];

    i = 1: v = [0,1];

    i = 2: v = [0,1,2]

    i = 3: v=[0,1,2,3];

    i = 4: v=[0,1,2,3,4];

     

     para i de 0 até 3 faça ...

    i = 0: v = [0,1,2,3,4];

    i = 1: v = [0,1,4,3,4]

    i = 2: v = [0,1,4,11,4];

    i = 3: v = [0,1,2,3,26];

  • Segue abaixo o teste de mesa:

     

    Primeiro laço

    para i  de  0 até 4 faça                     * teremos neste caso 5 posições

    v[0] = 0

    v[1] = 1

    v[2] = 2

    v[3] = 3

    v[4] = 4

     

     

    Segundo laço

    para i de 0 até 3 faça                           * teremos neste caso 4 posições

    v[1] = 1

    v[2] = 4

    v[3] = 11

    v[4] = 26

     

     

     

    Letra E

  • 1-

    1° loop: preenche array

    v = [0,1,2,3,4]

    ___________________

    2-

    com os valores do array, executar a funcao

    // pos v[i+1] é 1, porque a 1° pos é 0.

    //1° pos array é 0. 1° valor array = 0

    v[1] = 1+2*0=0

    ___________________

    3-

    //2° pos array é 1. 2° valor array = 1

    v[2] = 2 + 2*1 = 4

    ___________________

    4-

    pos 2 do array passa a ser 4

    ___________________

    5-

    v[3] = 3 + 2 * 4 = 11

    ___________________

    6-

    pos [2] do array passou a ser 4, e nao é mais 2. por iso 3+2*4=11

    lembrando que v[i+1] representa a pos atual + 1. pos atual =2. 2+1=3

    ___________________

    7-

    v[4] = 4+ 2*11 = 26.

    pos [3] recebeu valor 11 com ultima iteracao.

    ___________________

  • Força Guerreiro!!!!!!


ID
1707760
Banca
EXATUS
Órgão
BANPARÁ
Ano
2015
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Sobre vetores e matrizes é incorreto afirmar que: 

Alternativas
Comentários
  • Letra E: são necessários os dois índices (linha e coluna) para obter o valor em uma matriz.

  • Força Guerreiro!!!!!!


ID
1815139
Banca
Quadrix
Órgão
COBRA Tecnologia S/A (BB)
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Dada uma declaração de matriz de três dimensões e uma atribuição:

(1) declarar M[5,4,3] : literal
(2) M[4,3,2]←"ABC"

A literal "ABC" foi armazenada na posição representada pelas dimensões coluna, linha e profundidade, respectivamente: 

Alternativas
Comentários
  • Força Guerreiro!!!!!!


ID
1869229
Banca
FGV
Órgão
CODEBA
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere um array R que contém 1.000.000 de chaves ordenadas.

Assinale o número máximo de acessos a R necessários para encontrar uma determinada chave. 

Alternativas
Comentários
  • Como tenho um array ordenado, posso usar a busca binária. A complexidade da busca binária é log n.

    Se vc sabe fazer log n = 1000000, blz. Senão, vai por aproximação mesmo

    2^10 = 1024

    2^20 = 2^10 * 2^10 = 1024 * 1024 = 1.048.576 -> este é o mais próximo de 1.000.000

  • boa explicação. Obrigado

  • Obrigado Rasana pela explicação !!!

  • Sem saber o o algoritmo de busca fica difícil.

  • Força Guerreiro!!!!!!


ID
1984906
Banca
FCC
Órgão
Copergás - PE
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o algoritmo a seguir, na forma de pseudocódigo:

Var n, i, j, k, x: inteiro

Var v: vetor[0..7] inteiro

Início

v[0] ← 12

v[1] ← 145

v[2] ← 1

v[3] ← 3

v[4] ← 67

v[5] ← 9

v[6] ← 45

n ← 8

k ← 3

x ← 0

Para j ← n-1 até k passo -1 faça

v[j] ← v[j - 1];

Fim_para

v[k] ← x;

Fim

Este pseudocódigo

Alternativas
Comentários
  • A letra B não é totalmente correta e sim a mais correta. O correto seria "insere o valor de x entre v[k-1]e v[k+1] no vetor v.  ", pois ele insere o valor de x em v[k], como mostra a linha v[k] ← x;

  • Pra mim parece tudo errado....

    Insere o valor da ocorrência anterior do vetor na ocorrência atual, até a ocorrência k-1. Depois insere o valor de x na ocorrência k.

    Nenhuma das opções indica isto !

  • Pegadinha... Declara o vetor com 7 ocorrências, mas só inicializa as 6 primeiras. Por isto à primeira vista marquei a letra D.

  • O vetor inicial é [12, 145, 1, 3, 67, 9, 45],
    O vetor final é [12, 145, 1, 0, 3, 67, 9, 45],

    Desta forma o 0(zero) foi inserido entre o v[k-1] (1) e o v[k] (3). Letra B está correta sim!

  • Ao executar o algoritmo teremos: 12,145,1,0,3,67,9,45.

    Análise:

    a) E. Considera o vetor na posição 'K' e não na posição 'x'.

    b) C. Veja v[k-1] e v[k] = v[3-1] e v[3] = v[2] e v[3.

    c) E. V[3]=0

    d) E.

    e) E. v[0] e v[1] não se encontra o valor 0 e sim 145.

     

  • Força Guerreiro!!!!!!


ID
2003305
Banca
UFCG
Órgão
UFCG
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Escolha a assertiva que contenha somente funções para realizar operações em arrays.

Alternativas
Comentários
  • Só faltou falar qual é a linguagem: PHP

    Gab A

  • Força Guerreiro!!!!!!


ID
2070691
Banca
FUNRIO
Órgão
IF-PA
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Quantas comparações e trocas de posição ocorrerão se utilizarmos o algoritmo Bubble Sort para ordenar do menor para o maior valor o vetor [60,32,45,5,6,2], respectivamente:

Alternativas
Comentários
  • b-

    comparações em bubble sort segue formato round robin. ou arranjo: n!p!/(n-p)!p! -> 6!2!/(6-2)!2! -> 6!2!/4!2! -> 6.5/2 = 15

  • Resolvi a questão simulando e verificando o número de trocas. Mas já sabendo que o número de comparações depende da implementação do algoritmo.

    .

    Se for seguir este padrão [1], seriam 30 comparações

    Se for seguir este padrão [2], seriam 15 comparações.

    .

    [1] https://www.devmedia.com.br/entendendo-o-algoritmo-bubble-sort-em-java/24812

    [2] https://www.javatpoint.com/bubble-sort-in-java

  • Força Guerreiro!!!!!!


ID
2402671
Banca
COSEAC
Órgão
UFF
Ano
2017
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Na coluna I estão dispostos alguns conceitos relacionados à estrutura de dados. Estabeleça a correta correspondência com suas definições, conforme apresentado na coluna II.

Coluna I

1 Fila

2 Pilha

3 Lista Encadeada

4 Árvore

5 Vetor


Coluna II

( ) coleção de itens de dados.

( ) primeiro a entrar é o primeiro a sair.

( ) bidimensional.

( ) último a entrar é o primeiro a sair.

( ) estrutura de dados estática.

A sequência correta, de cima para baixo, é:

Alternativas
Comentários
  • GABARITO E

     

    ( 3 Lista Encadeada ) coleção de itens de dados.

    ( 1 Fila ) primeiro a entrar é o primeiro a sair.

    ( 3 Árvore ) bidimensional.

    ( 2 Pilha ) último a entrar é o primeiro a sair.

    ( 5 Vetor ) estrutura de dados estática.

  • e- A implementação de LIsta encadeada é feita pela classe linked list em java, a qual permite usar os seus metodos para tipos de dados tipo fila (queue)

  • A grande sacada foi saber uma Árvore é uma estrutura de dados bidimensional, não linear.

  • (3-lista) colecao de itens de dados
    (1-fila) primeiro a entrar é o primeiro a sair
    (4-arvore) bidimensional
    (2-pilha) ultimo a entrar é o primeiro a sair
    (5-vetor) estrutura de dados estática

     

    Obs: Lembre-se que filas e pilhas podem ser implementadas por meio de vetores o que as tornaria, também, estruturas estáticas.

  • Força Guerreiro!!!!!!


ID
2426749
Banca
IBFC
Órgão
HEMOMINAS
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Selecione a alternativa que tenha uma estrutura de dados baseado no princípio LIFO (Last in, First Out):

Alternativas
Comentários
  • A PILHA

  • Pilha

    São estruturas de dados do tipo LIFO (last-in first-out), onde o último elemento a ser inserido, será o primeiro a ser retirado. Assim, uma pilha permite acesso a apenas um item de dados - o último inserido.

  • Força Guerreiro!!!!!!


ID
2426764
Banca
IBFC
Órgão
HEMOMINAS
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O (a )____ em Estrutura de Dados é também conhecido (a) como array uni-dimensional. Assinale a alternativa que complete a lacuna.

Alternativas
Comentários
  • Vetores Unidimensionais. Vetores, também conhecidos como arrays, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória.

  • Força Guerreiro!!!!!!


ID
2518090
Banca
FCC
Órgão
TRT - 24ª REGIÃO (MS)
Ano
2017
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere os seguintes comandos da linguagem Groovy para criar um array chamado tribunais:


I. String[] tribunais = ["TRT", "TRE", "TCU"]

II. def tribunais = ["TRT", "TRE", "TCU"] as String[]

III. def tribunais = (String[]) ["TRT", "TRE", "TCU"]

IV. def tribunais = ["TRT", "TRE", "TCU"] .toString(new Array( ))


Estão corretas as formas utilizadas APENAS em

Alternativas
Comentários
  • I. String[] tribunais = ["TRT", "TRE", "TCU"]

    II. def tribunais = ["TRT", "TRE", "TCU"] as String[]

    III. def tribunais = (String[]) ["TRT", "TRE", "TCU"]

    http://grails.asia/groovy-array-manipulation-examples

  • A opção IV está errada. O correto seria: def tribunais = ["TRT", "TRE", "TCU"].toArray(new String[0])

  • Força Guerreiro!!!!!!


ID
2612683
Banca
UPENET/IAUPE
Órgão
UPE
Ano
2017
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o seguinte algoritmo:


Para i de 7 até 4 Faça

aux <- v[i]

v[i] <- v[7 - i]

v[7 - i] <- aux

i <- i - 1

Fim_Para

max = maior v

v[2] <- v[0]

v[max - v[2]] <- v[max - v[1]]


Assinale a alternativa que possui o estado final do vetor v inicialmente definido com os elementos de 32 a 39.

Alternativas
Comentários
  • Estado inicial do vetor

    v[0] = 32
    v[1] = 33
    v[2] = 34
    v[3] = 35

    v[4] = 36
    v[5] = 37
    v[6] = 38
    v[7] = 39
     

    Depois o algoritmo inverte os valores das duas metades do vetor ordenado-o em ordem decrescente.

    v[0] = 39
    v[1] = 38
    v[2] = 37
    v[3] = 36

     

    v[4] = 35
    v[5] = 34
    v[6] = 33
    v[7] = 32

     

     max = 39, coloca este valor na posicao v[2] e depois coloca o valor v[1] em v[0] resultando em

     

    v[0] = 38
    v[1] = 38
    v[2] = 39
    v[3] = 36

    v[4] = 35
    v[5] = 34
    v[6] = 33
    v[7] = 32

     

  • Valeu, Rodrigo.

  • Excelente!

  • Excelente!

  • Excelente!

  • Excelente!

  • Força Guerreiro!!!!!!

  • Show de bola


ID
2614432
Banca
COPERVE - UFSC
Órgão
UFSC
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o problema de pesquisar por um número em um array ordenado contendo dez números. Se for utilizado o método da pesquisa binária, qual é o menor número de comparações que permite concluir que um número não está presente no array?

Alternativas
Comentários
  • Pesquisa binária: Precisa estar ordenada! Complexidade O (log2 n) no pior caso. Número máximo de iterações para localizar um valor: [log2n] +1

    A busca binária procura sempre na metade do vetor pelo valor.
    - Se o valor foi encontrado termina

    - Se o valor é menor repete a busca na metade superior do vetor

    - se o valor é maior repete a busca na metade inferior do vetor

     

    No caso da questão, o array tem 10 posições, logo, temos log de 10 na base 2 que dá 3,333... Aproximando, gabarito D.

  • 2^3 = 8

    2^4 = 16

    Em alguns casos, daria para concluir a bsuca com 3 movimentos, mas não sempre. Como ele pede o menor número, acho que ele quer saber se é possível determinar a ausência de um número no array com 3 movimentos. Sim, é possível em alguns casos, mas para que tenhamos SEMPRE certeza de que o número não está presente, são necessários 4 movimentos. Errei, marquei 4, na hora que lí entendi de outra forma.

  • Além da forma explicada no comentário da [Liliane Viana], que tem embasamento teórico no livro de Fonte: Estruturas de dados e seus algoritmos / Jayme Luiz Szwarcfiter, Lilian Markenzon. - 3.ed. [Reimpr.]. - Rio de Janeiro : LTC, 2015.

     

    Existe uma maneira mais fácil e simples de fazer a questão, que é a seguinte:

    Como o array tem tamanho 10 e a pesquisa binária consistem em sucessivas divições do array por 2, teremos:

    10/2 = 5 (comparação 1)

    5/2 = 2 (comparação 2)

    2/2 = 1 (comparação 3)

     

     

  • Força Guerreiro!!!!!!


ID
2673166
Banca
Aeronáutica
Órgão
EEAR
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considerando o tipo de estrutura denominado vetor, é correta afirmar que:

Alternativas
Comentários
  • Vetor
        Ponteiro que aponta para um endereço físico
        Sequências de elementos de um dado tipo
        Podem ter uma ou mais dimensões (Vetores Multidimensionais)
        Variável composta Homogênea Unidimensional
        Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura.

    Variável composta Homogênea Unidimensional
    Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura.

     

     

    Letra C

  • A)Estrutura que efetua um teste lógico no fim de um looping.//ERRADO, O TESTE É NO INICIO.

    B)Busca de informação desejada a partir do primeiro elemento sequencialmente até o último. //ERRADO, SE A CONDIÇÃO FOR ATENDIDA ANTES DO FINAL DA SEQUENCIA A BUSCA SE ENCERRA.

    C)Caracteriza-se por ser definida uma única variável dimensionada com um único tamanho. CERTO, É UMA VARIÁVEL COM MÚLTIPLOS VALORES DE TAMANHO PRÉ-DEFINIDO.

    D)Looping que efetua um processamento de um determinado trecho, quantas vezes forem necessárias. ERRADO, EXECUTA A QUANTIDADE DE VEZES PROGRAMADA APENAS, NEM MAIS NEM MENOS( ÓBVIO).

    SENTIDO!!!


ID
2709247
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o seguinte algoritmo


Inteiro array[10] = {0,1,2,3,4,5,6,7,8,9}

var i = 0

Enquanto i < 10 Faça

Inteiro temp = array[i]

array[i] = array[9-i]

array[9-i] = temp

i = i + 1

Fim enquanto


Qual será o conteúdo do vetor ‘array’ após a execução do programa?

Alternativas
Comentários
  • i=0 {9,1,2,3,4,5,6,7,8,0}
    i=1 {9,8,2,3,4,5,6,7,1,0}
    i=2 {9,8,7,3,4,5,6,2,1,0}
    i=3 {9,8,7,6,4,5,3,2,1,0}
    i=4 {9,8,7,6,5,4,3,2,1,0}
    i=5 {9,8,7,6,5,4,3,2,1,0}
    i=6 {9,8,7,3,5,4,6,2,1,0}
    i=7 {9,8,2,3,5,4,6,7,1,0}
    i=8 {9,1,2,3,5,4,6,7,8,0}
    i=9 {0,1,2,3,5,4,6,7,8,9}

  • Questão sem resposta! A resposta seria {0,1,2,3,5,4,6,7,8,9} na 9 e última iteração.

  • Felipe Gabriel, não entendi porque a sua linha quando i=5 é igual ao do i=4. Nas minha contas é nesse momento que começa a inverter novamente a sequência. Assim a resposta D realmente está correta
  • 0 [9, 1, 2, 3, 4, 5, 6, 7, 8, 0]

    1 [9, 8, 2, 3, 4, 5, 6, 7, 1, 0]

    2 [9, 8, 7, 3, 4, 5, 6, 2, 1, 0]

    3 [9, 8, 7, 6, 4, 5, 3, 2, 1, 0]

    4 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

    5 [9, 8, 7, 6, 4, 5, 3, 2, 1, 0]

    6 [9, 8, 7, 3, 4, 5, 6, 2, 1, 0]

    7 [9, 8, 2, 3, 4, 5, 6, 7, 1, 0]

    8 [9, 1, 2, 3, 4, 5, 6, 7, 8, 0]

    9 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  • Força Guerreiro!!!!!!

  • O gabarito tá certo

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


ID
2780623
Banca
Colégio Pedro II
Órgão
Colégio Pedro II
Ano
2017
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Um array contém os 64 primeiros números primos (2, 3, 5, ..., 307, 311).

Assinale a alternativa que indica corretamente quantos itens do array a busca binária teria que examinar antes de concluir que 51 não está contido no array e, portanto, não é primo.

Alternativas
Comentários
  • São 6 divisões sucessivas por 2 e a busca até o último valor

    1ª – 64/2 = 32

    2ª – 32/2 = 16

    3ª – 16/2 = 8

    4ª – 8/2 = 4

    5ª – 4/2 = 2

    6ª – 2/2 = 1

    7ª - 1

  • Força Guerreiro!!!!!!


ID
2847778
Banca
Quadrix
Órgão
SEDF
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Julgue o item seguinte, relativo a algoritmos, a estruturas de dados e objetos, à programação orientada a objetos e à arquitetura MVC.


Para manipular um elemento em um vetor, uma estrutura simples (unidimensional) de dados de mesmo tipo, não há a necessidade de se fornecer o índice do elemento desejado.

Alternativas
Comentários
  • Em C, um vetor é um ponteiro para um endereço endereço de memória, onde se inicia uma lista ou array ou incio de uma String(que em C também funciona como array) .. Para manipular um elemento do vetor, é ncessário saber a posição dele, ou seja, em que ponto a partir do endreço indicado está o elemento desejado

  • Força Guerreiro!!!!!!


ID
2909986
Banca
UFSC
Órgão
UFSC
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o problema de ordenar em ordem crescente o array formado pelos números [67, 23, 11, 18, 87, 44] utilizando o Método da Seleção Direta. Assinale a alternativa que mostra o posicionamento dos números no array após ter sido realizada a primeira troca.

Alternativas
Comentários
  • Método da Seleção Direta (ou Selection Sort) baseia-se em passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os (n-1) elementos restantes, até os últimos dois elementos.

    No caso do array [67, 23, 11, 18, 87, 44] proposto pela questão, o menor valor que é o 11, trocou de lugar com o 67 para a ordenação crescente, então após a primeira troca o resultado é este: [11, 23, 67, 18, 87, 44].

    GAB A

  • Gabarito A

    Seleção - encontra o menor elemento e o troca com a primeira posição, depois o segundo menor com a segunda posição, e assim sucessivamente (n-1 vezes). Número de com,parações (N2 − N)/2, sendo muito lento e inadequado para valores grandes de N. 

    Nesse caso na primeira rodada foram trocados a posição do número 11 pela posição do número 67.

    [67, 23, 11, 18, 87, 44]

    [11, 23, 67, 18, 87, 44]

    Vamos na fé !

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Resposta: A

    A Seleção direta realiza a ordenação pela inserção de cada um dos elementos, passando sempre o menor valor do vetor para a primeira posição, depois o de segundo menor valor para a segunda posição e assim por diante.

    Neste caso [67, 23, 11, 18, 87, 44]

    O menor número do vetor é o 11, Passamos então ele para a primeira posição, e o da primeira posição (67) passamos para a posição em que estava o número 11

    11, 23, 67, 18, 87, 44

  • Força Guerreiro!!!!!!


ID
2915401
Banca
NC-UFPR
Órgão
ITAIPU BINACIONAL
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Assinale a alternativa que indica corretamente o que ocorre quando um programador atribui um valor para uma posição além do tamanho do vetor. Por exemplo, suponha que um vetor VET foi definido com 10 posições e o programador tentou fazer a operação VET[15]=1.

Alternativas
Comentários
  • Resposta: E

    Quando um vetor não tiver mais espaço é o programador tentar fazer uma nova operação, ao executar o programa poderá apresentar resultados imprevistos ou até mesmo abortar a execução

  • Acho que depende da linguagem de programação utilizada.

    Em java por exemplo, foi lançada uma exception

    eu criei um vetor de inteiros com cinco posições, e tentei atribuir o valor 10 a posição 6.

    int vetor[] = new int[5];

    vetor[6] = 10;

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6

       at tests.testeVetor.main(testeVetor.java:7)

  • Questão Esdrúxula.

  • Força Guerreiro!!!!!!


ID
2926537
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

No que se refere a vetores, matrizes, filas e árvores binárias, julgue o item.


Um vetor é declarado, definindo‐se seu nome, seu tipo e seu tamanho.

Alternativas
Comentários
  • Correto.

    A declaração de um vetor e muito semelhante à declaração de uma variável. a diferença é que depois do nome da variável deve ser informado a quantidade de elementos do vetor.

  • Achei muito mal formulada essa questão.

    Pois utilizar a palavra tamanho para se referir a quantidade de elementos, quando tratamos de um vetor, é muito subjetivo, Pios posso entender tamanho de memória, o que não precisa ser declarada.

    Sintaxe de Vetor:

    Tipo Nome < valor inicial; contador; incremento ou decremento >

    Essa questão pode ser anulada.

  • O vetor é uma estrutura de dados indexada, que pode armazenar uma determinada quantidade de valores do mesmo tipo.

    Os dados armazenados em um vetor são chamados de itens do vetor.

    Para localizar a posição de um item em um vetor usamos um número inteiro denominado índice do vetor.

    Vantagem de utilização do vetor

    Facilidade de manipular um grande conjunto de dados do mesmo tipo declarando-se apenas uma variável.

    Sintaxe:

    NomeDoVetor:  Vetor[inicio..final] de tipodevariavel

     

    Exemplo:

    V: vetor[0..9] de Real;

     http://linguagemc.com.br/vetores-ou-arrays-em-linguagem-c/

  • Força Guerreiro!!!!!!


ID
2926540
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

No que se refere a vetores, matrizes, filas e árvores binárias, julgue o item.


A atribuição de valores a um vetor já criado é procedida de elemento em elemento, alterando‐se o valor do índice do vetor.

Alternativas
Comentários
  • Correto

    Índice mais à direita varia mais rapidamente que o índice à esquerda, lembrando também que os índices variam de zero ao valor declarado menos um.

  • Força Guerreiro!!!!!!


ID
3097165
Banca
Quadrix
Órgão
CREA-GO
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca das estruturas homogêneas de dados vetor e matriz e dos conceitos de pilhas, filas e árvores binárias, julgue o item.


Os vetores são declarados, geralmente, por meio de colchetes, os quais são usados também para identificar um elemento específico do vetor.

Alternativas
Comentários
  • Cada linguagem possui uma forma própria de declarar um array porém todas bem semelhantes:

    vetX[] = {1,2,3}; vetX = [1,2,3] Geralmente com uso de colchetes

  • RESOLUÇÃO:

    Correto, está é uma das características dos vetores, o uso constante de colchetes.

    Resposta: Certo

  • Força Guerreiro!!!!!!


ID
3180454
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Um método que implementa um algoritmo de busca binária recebe como parâmetros um vetor de inteiros ordenados descendentemente, o comprimento desse vetor e um número inteiro que se deseja localizar no vetor. O cabeçalho desse método é o seguinte:

                                                             public int buscaBin(int vet[], int n, int val)

Admitindo-se que o vetor passado como parâmetro tenha 750 elementos, qual será o número máximo de iterações que o algoritmo irá realizar até que o valor (val) seja localizado ou que seja detectado que esse valor não se encontra no vetor?

Alternativas
Comentários
  • 750 / 2 = 375 (1)

    375 / 2 = 187 (2)

    187 / 2 = 93 (3)

    93 / 2 = 46 (4)

    46 / 2 = 23 (5)

    23 / 2 = 11 (6)

    11 / 2 = 5 (7)

    5 / 2 = 2 (8)

    2 / 2 = 1 (9)

    O número máximo de iterações para que o elemento seja encontrado ou seja detectado que esse número não se encontra no vetor não é 9? Por que 10?

  • @Marcelinho:

    .

    2 / 2 = 1 (9) <= aqui ele tem que fazer DUAS comparações, porque ele precisa saber se o elemento existe ou não, e não somente a posição. Então ele tem que comparar os dois elementos que restam pra saber se um deles é o elemento procurado.

    .

    Do jeito que você fez a conta você assumiu que o elemento de fato existe no conjunto e que é só achar a posição dele, quando na verdade você não sabe se ele existe ou não.

  • A posição central do vetor não pode ser um número quebrado, portanto se soma uma posição ao meio.

    750 / 2 = 375 ----------- (1)

    375 / 2 = 187 + 1 ------ (2)

    188 / 2 = 94 ------------- (3)

    94 / 2 = 47 + 1 --------- (4)

    48 / 2 = 24 -------------- (5)

    24 / 2 = 12 -------------- (6)

    12 / 2 = 6 ---------------- (7)

    6 / 2 = 3 + 1 ------------- (8)

    4 / 2 = 2 ------------------ (9)

    2 / 2 = 1 ----------------- (10)

    https://www.youtube.com/watch?v=gpCnXU-1FNA

  • É possível fazer dessa forma também: número de iterações para buscar com a busca binária

    é da complexidade de log2 (N), arredondado para cima.

    log2 (750). Ao aplicarmos a definição de logaritmo:

    2^x = 750

    Poderíamos calcular trocando a base do log, resolvendo tudo,... mas sabendo que: 2^9 = 512 e 2^10 = 1024,

    é possível inferir que x está entre 9 e 10. Como arredondamos para cima, nº máx de iterações será igual a 10.


ID
3511312
Banca
AOCP
Órgão
UEFS
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Um conjunto homogêneo de dados se dá quando uma determinada estrutura de dados é composta de variáveis com o mesmo tipo. Assinale a alternativa que corresponde a uma variável composta unidimensional.

Alternativas
Comentários
  • Força Guerreiro!!!!!!

  • B C e E = Lhufas

    Vc provavelmente fique entre A e D

    Vetor = Estrutura de dados linear UNIDIMENSIONAL que necessita de somente um ÍNDICE para que seus elementos sejam indexados. Dados armazenados em posições contíguas de memória e permite o acesso direto ou aleatório a seus elementos. Representam estruturas nas quais todos os elementos são do mesmo tipo.

    Matriz = Arranjo bidimensional ou multidimensional de alocação estática e sequencial. Ela necessita de um índice para referenciar a linha e outro para referenciar a coluna para que seus elementos sejam endereçados. Os elementos ocupam posições contíguas na memória.

    GABARITO D


ID
3638140
Banca
FUNDATEC
Órgão
UNIPAMPA
Ano
2016
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Sobre algoritmos e estrutura de dados, são estruturas de dados clássicas:



I. Vetores. 

II. Listas. 

III. Filas.



Quais estão corretas?

Alternativas
Comentários
  • Força Guerreiro!!!!!!


ID
5375764
Banca
Quadrix
Órgão
CORE-PR
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca das estruturas homogêneas de dados e dos conceitos da programação orientada a objetos, julgue o item.

As operações somar, inserir e apagar elementos são consideradas como operações de atualização de um vetor.

Alternativas
Comentários
  • Boa Sorte

  • Infelizmente não encontrei uma explicação devida...MAS a questão está CERTA. Caso eu encontre algo que possa nos ajudar voltarei aqui.

  • SOMAR??????? blz, e a discriminação com subtrair?

  • Existe a operação Adicionar

    Porém Adicionar pode ser sinônimo de Somar: operação aritmédica que não cabe à questão.

    Adicionar pode ser sinônimo de Inserir (adicionar ao vetor): neste caso estaria correto.

    Por esta lógica, creio que a questão esteja equivocada.

    https://www.inf.ufsc.br/~aldo.vw/estruturas/Capitulo2/EstruturasLista.html#Algoritmo%20Adiciona


ID
5437339
Banca
CESPE / CEBRASPE
Órgão
PG-DF
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

#include <stdio.h> 

int main ( ) {
    int vetor[10], i = 0, j = 0, auxiliar = 0;

    for (i = 0; i < 10; i++) {
        printf ("Digite um numero inteiro: ");
        scanf ("%d", &auxiliar);
        vetor[i] = auxiliar;
    }
    
    for (i = 0; i < 10; i++) {
        for (j = i+1; j < 10; j++) {
            if ( vetor[i] > vetor [j]) {
                auxiliar = vetor [i];
                vetor[i] = vetor[j];
                vetor[j] = auxiliar;
            }
        }
    }

for (i = 0; i < 10; i++) {
    printf ("\n\n vetor[%d] = %d", i, vetor[i]);
    }

    system ("PAUSE");
    return 0;
}

Tendo como referência o código precedente, escrito em linguagem de programação ANSI C, julgue o item subsecutivo.

Na linha if ( vetor[i] > vetor [j]) {, a substituição de > por < implicaria que o código em questão, após ser executado, apresentasse em ordem decrescente os números digitados.

Alternativas

ID
5507761
Banca
Instituto UniFil
Órgão
Prefeitura de Marechal Cândido Rondon - PR
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considerando o tema estrutura de dados, assinale a alternativa que apresenta o nome correto para a definição: “Esta estrutura mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição na estrutura. A posição é dada por um índice, também chamado de subscrição”.

Alternativas
Comentários
  • RESPOSTA: B

    Estrutura tipo Registro: são heterogêneas e permitem armazenar em uma mesma variável diferentes tipos.

    Estrutura tipo Array: um arranjo (em inglês array) é uma estrutura de dados que armazena uma coleção de elementos de tal forma que cada um dos elementos possa ser identificado por, pelo menos, um índice ou uma chave. Essa estrutura de dados também é conhecida como variável indexadavetor (para arranjos unidimensionais) e matriz (para arranjos bidimensionais). Os arranjos mantêm uma série de elementos de dados, geralmente do mesmo tamanho e .

    Estrutura tipo Hash: uma tabela de dispersão (também conhecida por tabela de espalhamento ou tabela hash, do  ) é uma  especial, que associa chaves de pesquisa a valores. Seu objetivo é, a partir de uma chave simples,  rápida e obter o valor desejado. É algumas vezes traduzida como tabela de escrutínio.

    Estrutura tipo Condicional: é baseada em uma condição que se for atendida o algoritmo toma uma decisão.


ID
5538511
Banca
FGV
Órgão
IMBEL
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere um conjunto de 65.536 chaves ordenadas, distintas entre si, armazenadas num array.


Com relação ao processo de busca binária, assinale a opção que indica o número máximo de acessos ao array necessários para localizar uma determinada chave qualquer. 

Alternativas
Comentários
  • Uma Busca binária procura, por meio da divisão do Array por 2 (dois), até encontrar uma chave/valor qualquer, ou seja, 2 elevado a 16 é igual 65.536.

  • 2^n = 65.536

    n = 16