Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.518 questões
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
Algoritmo "Alg1" Var num : real res : real soma : real Inicio soma <- 0 escreva("Digite um valor: ") leia(num) enquanto (num <> 0)faca res <- res + num escreva("Digite um valor: ") leia(num) fimenquanto escreva("Resultado> ", res) Fimalgoritmo
Nessa situação, será apresentado qual resultado da execução?
var x, y, z: inteiro início para x ← 1 até 10 passo 1 faça para y ← 1 até 10 passo 1 faça z ← x * y; exiba(z) fim_para exiba(y) fim_para fim
Ao ser executado em condições ideais, o penúltimo valor exibido da variável z e o valor exibido da variável y serão, respectivamente,
var renda: real
início
leia(renda)
se (renda <= 1000)
então exiba("Categoria 1")
senão se (renda>1000 E renda<=2000)
então exiba ("Categoria 2")
senão exiba ("Categoria 3")
fim_se
fim_se
fim
Uma alteração que pode ser feita para otimizar ou melhorar o algoritmo, sem alterar sua lógica, é
var a, b, c, d: inteiro var x, y, z: lógico início a ←2 b ← 1 c ← 3 d ← 0 x ← NÃO(a + d > 0) E (c - b <= 5) y ← NÃO(x) OU (c / a > 2) z ← y E x E (c - b - a >= 0) exiba (x, y, z) fim
Em condições ideais, a instrução exiba (x, y, z) deve mostrar os valores
Início [ Tipo MAT = matriz[1..3,1..3] de inteiros; MAT: M; Inteiro: i, j, X, Y; X ← 0; Y ← 0; Para i de 1 até 3 faça [ Para j de 1 até 3 faça [ Se i = j Então M[i,j] ← i + j + 1; Senão M[i,j] ← i + 2*j + 1; ] ] Para i de 1 até 3 faça [ X ← X + M[i,i]; Y ← Y + M[1,i]; ] Imprima (X+Y); ] Fim.
Ao final do algoritmo é impressa a soma (X+Y) que é igual a
( ) As iterações ocorrem dentro dos ciclos, quando são feitos refinamentos para agregar melhorias ao produto. No SCRUM, por exemplo, as interações acontecem por meio das Sprints. ( ) No processo incremental, o sistema completo é separado em 4 etapas: análise, implementação, verificação e manutenção. Ao final da quarta etapa, tem-se o produto para ser entregue. ( ) A cada iteração, o incremento deve ser funcional, para que seja possível realizar os testes e a validação pelas partes interessadas. ( ) O termo iterativo tem o significado de uma ação não repetitiva, isto é, o seu processo é desenvolvido linearmente seguindo o ciclo de vida do projeto.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é: