Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.406 questões
Um dos algoritmos utilizados nesse tipo de transação é conhecido originalmente como:
leia(x)
y = 0.0
m = 1.0
enquanto x > 1 faça
escreva(y, x, m)
y = y + (x % 2) * m
x = x / 2
m = m * 10
fim enquanto
escreva(y)
Assinale a opção que apresenta o valor de x para que o resultado do código precedente seja igual a 131.
soma = 0
função a(x):
soma = 0
se (x <= 1) então
retorne 1
fim se
soma = soma + x + a(x - 1) + a(x - 2)
retorne soma
escreva(a(3))
Assinale a opção que apresenta o resultado correto para o pseudocódigo precedente.
para j de 1 até t faça para i de 1 até t faça se v[i] > v[i+1] então aux ← v[i] v[i] ← v[i+1] v[i+1] ← aux fimse fimpara fimpara
Caso o operador relacional ">" (maior) fosse trocado pelo operador ">=" (maior ou igual), mais quantas linhas do algoritmo teriam que ser alteradas para que o resultado esperado (ordenação do vetor em ordem crescente) continuasse a ser o mesmo?
A*(B+C)/D-E
A expressão correta na referida notação é:
1. O algoritmo consiste em percorrer o vetor de itens desordenados da esquerda para a direita, ordenando um item por vez. A cada passo, o item não ordenado é comparado aos itens à sua esquerda (os quais já estão ordenados) de modo a encontrar em qual posição ele deve ser colocado. Esses passos são repetidos para cada um dos itens não ordenados restantes. O algoritmo termina quando o último item do vetor é colocado na posição correta.
2. O algoritmo divide logicamente o vetor em duas partições: uma partição contendo itens ordenados, que é construída da esquerda para a direita na frente (esquerda) do vetor, e uma partição contendo itens restantes não ordenados que ocupam o resto do vetor. Inicialmente, a partição ordenada está vazia e a partição não ordenada é o próprio vetor de entrada. Em cada passo, o algoritmo encontra o menor item na partição não ordenada, trocando-o com o item não ordenado mais à esquerda da partição (colocando-o, portanto, em ordem). Então, o limite lógico entre as partições ordenada e não ordenada é incrementado em uma posição e os passos anteriores são repetidos. O algoritmo termina quando resta apenas um item a ser ordenado.
3. O algoritmo divide o problema em partes menores, resolvendo cada parte separadamente e juntando os resultados posteriormente. O vetor é dividido em duas partes iguais, sendo cada uma delas dividida em duas partes, e assim por diante, até restarem partes com um ou dois itens, cuja ordenação é trivial. Para juntar pares de partes ordenadas, os dois primeiros itens de cada parte são separados e o menor deles é selecionado e posicionado como primeiro elemento. Em seguida, os menores entre os restantes são comparados e posicionados e assim se prossegue até que todos os elementos tenham sido juntados. O procedimento é repetido até que todas as partes tenham sido tratadas.
I. Uma variável declarada no contexto de uma função é automaticamente acessível às demais funções do programa. II. A passagem de variável por valor a uma função permite que a função altere o valor da variável. III. Uma estrutura de seleção ou repetição, se fizer parte de outra estrutura de seleção ou repetição, deve estar completamente contida nesta.
Assinale a alternativa que contém a(s) afirmativa(s) CORRETA(S).
I. Em um algoritmo, toda condição tem que ser uma expressão lógica, algo que possamos pensar como “isto é verdadeiro ou isto é falso”.
II. Operadores lógicos podem ser de disjunção; conjunção; e, negação.
III. Para resolver um problema algoritmo precisamos de três estruturas básicas: estruturas sequenciais; estruturas de repetição; e, estruturas de decisão.
IV. São exemplos de tipos de dados: strings; caractere; inteiro; real; lógico; e, variável.
Está correto o que se afirma apenas em