Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.155 questões
Considere o seguinte algoritmo, confeccionado por meio do VisuAlg 2.0:
Algoritmo “questao”
Var
x, x1: inteiro
y, y1 : inteiro
z, z1 : inteiro
Inicio
x1 <- 40
Y1 <- 10 -3
z1 <- 34-10
enquanto (x1 > 30) faca
x <- x1 - y1
y <- y1 + z1
z <- z1 + x1
x1 <- x
y1 <- y
z1 <- z
fimenquanto
escreva (x1, y1, z1)
Fimalgoritmo
O valor final de y1, após a execução deste algoritmo, será:
( ) A complexidade de um algoritmo não reflete o esforço computacional requerido para executá- lo. À quantidade de trabalho exercida pelo algoritmo, pode ser dada em termos do tempo de execução ou da quantidade de memória requerida.
( ) Uma das medidas de desempenho de um algoritmo muito importante é o tempo de execução, ou complexidade em tempo.
( ) Tem-se também a complexidade em espaço a qual usa como medida de desempenho a quantidade de memória necessária para a execução de algoritmo.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.
I- Pode-se expressar de forma abstrata a eficiência de um algoritmo, descrevendo o seu tempo de execução como uma função do tamanho do problema (quantidade de dados); isto é chamado de complexidade de tempo.
II- Straight Selection é o mais primitivo método de ordenação de um vetor. A ideia desse método é percorrer um vetor de n posições n vezes, a cada vez comparando dois elementos e trocando-os caso o primeiro seja maior que o segundo.
III- Bubblesort é uma forma intuitiva de ordenar um vetor, escolhendo o menor elemento do vetor e trocando com o primeiro elemento. Em seguida o segundo, escolhendo o menor dentre os restantes, e assim até o último elemento.
Estão CORRETAS:
Assinale a alternativa que preenche corretamente a lacuna do trecho acima.
Assinale o código Python que executa corretamente esse algoritmo.
I. Java possui classes nativas para implementação de matrizes, listas, pilhas e filas. Isso aumenta a produtividade e reduz a dependência de pacotes de terceiros.
II. Listas e filas são estruturas de dados similares. O que as diferencia é o protocolo de adição e remoção de elementos. Listas podem ter elementos inseridos ou removidos de qualquer posição, enquanto, nas filas, os elementos são inseridos no final e removidos do início.
III. Além das listas, Java disponibiliza uma estrutura chamada “array”. Essa estrutura armazena dados de um mesmo tipo. Diferente de uma lista, que pode ter seu tamanho alterado, um array tem seu tamanho definido na sua criação. Um array que possui outros arrays em suas posições é chamado de array multidimensional.
IV. Filas são implementadas utilizando-se o protocolo FIFO (first-in-first-out), ou seja, o primeiro a entrar é o primeiro a sair. Esse protocolo é mantido mesmo que a fila implementada tenha prioridades diferentes para os elementos.
É correto o que se afirma em:
A estrutura de dados implementada por José é caracterizada especificamente como:
Considere o algoritmo a seguir, escrito em uma variação simplificada de PORTUGOL:
algoritmo Valores
var inteiros A,B,C
leia(A)
leia(B)
C = A
A = B
B = C
imprima(A)
imprima(B)
fim_algoritmo
Testando para os valores de entrada 4, para a variável A,
e 8 para a variável B, os valores de saída são: