Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.316 questões
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.
A Figura 2, abaixo, apresenta um algoritmo escrito no software VisuAlg 3.0.

Qual será o valor da variável "retorno" ao final da execução do algoritmo da Figura 2?
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 Figura 1 abaixo apresenta um algoritmo escrito no software VisuAlg 3.0:

Figura 1 – Algoritmo escrito no software VisuAlg 3.0
Qual será o valor da variável "tot" ao final da execução do algoritmo da Figura 1?
,
onde
é a função degrau unitário. Sabendo que a equação do algoritmo é 
e que a saída
do algoritmo é mostrada na figura abaixo (onde o peso dos impulsos corresponde ao seu
tamanho na escala vertical), 
analise as seguintes alternativas:
I. Da figura é possível determinar apenas os valores Kp e Ti .
II. O algoritmo empregado é o PID ISA ou PID ideal, com parâmetros Kp = 2, Ti = 4 e Td = 1 .
III. O algoritmo empregado é o PID paralelo ou clássico, com parâmetros Kp = 2, Ti = 4 e Td = 2.
IV. Da figura é possível determinar os valores Kp, Ti e Td .
V. O algoritmo empregado é o PID ISA ou PID ideal, com parâmetros Kp = 2, Ti = 4 e Td indeterminado.
É(são) correta(s) a(s) afirmativa(s):
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