

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Relacione a Coluna 1 à Coluna 2, associando cada formato básico do pseudocódigo utilizado no software VisuAlg 3.0 com os respectivos significados.
Coluna 1
1. algoritmo "teste"
2. Valor1, Valor2: real
3. inicio
4. Valor2 <- Valor1 + a
5. fimalgoritmo
Coluna 2
( ) A linha é composta pela palavra-chave algoritmo seguida do seu nome delimitado por aspas duplas.
( ) A linha marca o final do pseudocódigo: todo texto existente a partir dela é ignorado pelo interpretador.
( ) Deste ponto em diante, está a seção de comandos, que continua até a linha final do algoritmo.
( ) Declaração de variáveis, que termina com a linha que contém a palavra-chave inicio.
( ) Linha com os comandos a serem executados.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
3 – 5 – 2 – 1 – 4.
5 – 1 – 2 – 4 – 3.
2 – 5 – 1 – 3 – 4.
1 – 5 – 3 – 2 – 4.
4 – 2 – 5 – 1 – 3.
Um trecho de programa, expresso na forma de uma pseudolinguagem (Português Estruturado), é apresentado a seguir.
Início
Inteiro: i, j, k, a;
...
Para i de 3 até 6 faça
Para j de 4 até 7 faça
Para k de 2 até 8 faça
[
a ← a + 1;
]
...
Fim.
É correto afirmar que, a variável a, após a execução de desse trecho de programa, terá sido incrementada
8 vezes.
54 vezes.
336 vezes.
112 vezes.
6 vezes.
Pedro desenvolveu o algoritmo apresentado a seguir, onde ocorre a leitura de um conjunto de números e, após efetuar algumas operações, é impresso o valor de uma variável x.
algoritmo Pedro
var
i: inteiro
x, a: real
início
x <- 0
para i de 1 até 5 faça:
leia(a);
x <- x + (a / 5)
fim para
escreva("Valor de x: ", x)
fim algoritmo
Analisando o algoritmo de Pedro, a variável x, impressa ao final, representa o(a):
somatório dos números lidos;
valor mínimo para os números lidos;
desvio padrão dos números lidos;
média dos números lidos;
valor máximo para os números lidos.
A complexidade de algoritmos refere-se à análise e à avaliação de desempenho de um algoritmo no que se diz respeito aos recursos computacionais necessários para se resolver determinado problema. O tempo de execução do algoritmo Heapsort é
O(n2).
O(log n).
O(n3).
O(n log n).
Quando criamos um programa de computador, utilizamos a seguinte sequência de operações na grande maioria das vezes: entrada de dados, processamento e saída. Selecione a estrutura de seleção que nunca testa uma ou mais variáveis de acordo com uma condição.
if
else if / elif
else
while
for
Numa busca por uma chave armazenada numa lista encadeada circular, cujos elementos estão dispostos ordenadamente pelo valor da chave, a complexidade do algoritmo no pior caso é:
1;
N;
log N;
N log N;
N2.
Considere o seguinte programa, apresentado na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: x, y, z, k, S;
x ← 1;
y ← 2;
z ← 3;
k ← 4;
Se ((x+z) = (y+k))
Então
[
x ← x + 1;
y ← y – 2;
z ← k;
k ← y;
]
Senão
[
x ← x – 1;
y ← y + 2;
k ← z;
z ← x;
]
S ← x + y + z + k;
Fim.
Nesse programa, o valor assumido ao seu final pela variável S é igual a:
3
4
5
6
7
O valor de "c", ao final do algoritmo, será de:
16.
18.
10.
12.
Nenhuma das alternativas anteriores está correta.
O algoritmo de ordenação que requer uma quantidade constante de O(1) espaço de memória adicional é o algoritmo de
ordenação por seleção.
ordenação por mistura.
ordenação por inserção.
ordenação por flutuação.
ordenação heapsort.
Considere o algoritmo abaixo, escrito em VisuAlg 3.0:
Algoritmo "partvetor" Var i, j, n, temp, contador: inteiro x: vetor [0..7] de inteiro Inicio para i de 0 ate 7 faca x[i]<-i+1 fimpara
escreva("Entre com um valor para n:") leia(n) para i de 0 ate 7-n faca temp<-x[i] x[i]<-x[i+n] x[i+n]<-temp contador<-contador+1 fimpara
escreval("contador:",contador) escreva("resultado:") para i de 0 ate 7 faca escreva(x[i]) fimpara Fimalgoritmo |
Qual das alternativas abaixo representa uma saída compatível com a execução do algoritmo apresentado acima?
Início da execução Entre com um valor para n:5 contador: 3 resultado: 6 7 8 4 5 3 2 1 Fim da execução. |
Início da execução Entre com um valor para n:5 contador: 4 resultado: 6 7 8 4 5 3 2 1 Fim da execução. |
Início da execução Entre com um valor para n:5 contador: 3 resultado: 6 7 8 4 5 1 2 3 Fim da execução. |
Início da execução Entre com um valor para n:5 contador: 4 resultado: 6 7 8 4 5 1 2 3 Fim da execução. |
Início da execução Entre com um valor para n:6 contador: 2 resultado: 6 7 8 4 5 1 2 3 Fim da execução. |
Observe o algoritmo a seguir.
algoritmo "exercicio" var v:vetor[0..5] de inteiro contador : inteiro aux : inteiro inicio para contador de 1 ate 5 faca leia(aux) v[contador] <- aux + contador * 2; fimpara escreva(v[3]) fimalgoritmo |
Considerando que, ao executar o programa, o usuário forneça como entrada os números inteiros na seguinte ordem: 1, 2, 3, 4, 5, qual valor será impresso pelo programa?
6.
7.
9.
11.
12.
Assuma-se o seguinte algoritmo.
dim a[3]
a[0]=1
a[1]=10
a[2]=101
para i = 0 até 2
-escreva(a[i]&3)
Considerando-se & como o operador binário E, é correto afirmar que o resultado apresentado será o seguinte.
1
2
1
Certo
Errado
Considere a lista de números inteiros: 830, 73, 743, 752, 407, 618, 442. Um algoritmo de ordenação é utilizado para dispor os elementos da lista em ordem ascendente. A seguir é exibido o conteúdo da lista, ao final de cada iteração que movimenta elementos durante a execução do algoritmo, até que a lista esteja ordenada:
73, 743, 752, 407, 618, 442, 830 73, 743, 407, 618, 442, 752, 830 73, 407, 618, 442, 743, 752, 830 73, 407, 442, 618, 743, 752, 830 |
As movimentações de elementos obtidas neste caso evidenciam que o algoritmo de ordenação é denominado
Quicksort.
Ordenação por inserção.
Bubblesort.
Ordenação por seleção.
A seguir há um algoritmo, que troca os valores das variáveis ALFA e BETA.
algoritmo "PL" var ----ALFA, BETA, AUX : inteiro Inicio ----ALFA <- 17 ----BETA <- 33 ----AUX <- ALFA ----ALFA <- BETA ----BETA <- AUX ----escreva(ALFA:3,BETA:3) fimalgoritmo |
A estrutura equivalente à
que faz a troca dos valores entre as variáveis ALFA e BETA, sem usar a variável auxiliar AUX, está indicada na seguinte opção:
ALFA <- ALFA + BETA ALFA <- ALFA - BETA BETA <- ALFA - BETA |
ALFA <- ALFA + BETA ALFA <- ALFA - BETA BETA <- BETA - ALFA |
ALFA <- ALFA + BETA BETA <- ALFA - BETA ALFA <- BETA - ALFA |
ALFA <- ALFA + BETA BETA <- ALFA - BETA ALFA <- ALFA - BETA |
No que se refere à lógica de programação, observe o pseudocódigo abaixo, referente a um algoritmo que contém uma função recursiva.
algoritmo "PL_2022" var CT, RP : inteiro funcao FREC (AUX: inteiro) : inteiro inicio se__(AUX = 0) OU (AUX = 1) entao retorne AUX senao retorne FREC (AUX-2) + FREC (AUX-1) fimse fimfuncao inicio para CT de 0 ate 5 faca RP <- FREC (CT) escreva (RP:3) fimpara fimalgoritmo |
Após a execução, a sequência de números de saída é:
0 1 1 2 3
1 1 2 3 5
0 1 1 2 3 5
1 1 2 3 5 8
Com base no seguinte algoritmo, analisar os itens abaixo:
inteiro numero = 1 inteiro quadradoNumero enquanto (numero ! = 0) { escreva ("Digite um número inteiro\n") leia(numero) quadradoNumero = numero * numero escreva ("O quadrado é ", quadradoNumero, " \ n") } |
I. O loop continuará sendo executado enquanto o valor da variável numero for diferente de 0.
II. O “enquanto” é uma estrutura de controle de seleção, um tipo de loop muito comum em que as condições são avaliadas ainda antes da primeira iteração.
III. A cada iteração, todas as instruções do loop serão executadas.
Está(ão) CORRETO(S):
Somente o item I.
Somente o item II.
Somente os itens I e II.
Somente os itens I e III.
Todos os itens.
1 DataType * search(DataType * obj, int value) {
2 ____if (value < obj->value)
3 ________return search(obj->left);
4 ____else if (value > obj->value)
5 ________return search(obj->right);
6 ____return obj;
7 }
Com base nesse algoritmo, é correto assumir que:
a função search busca o valor value em uma árvore binária de pesquisa.
objetos do tipo DataType são vértices em um grafo acíclico dirigido.
a função search sempre retornará um ponteiro para um objeto cujo atributo value é igual ao parâmetro de entrada value.
a complexidade desse algoritmo no caso médio é igual a O(n), onde n é a quantidade de elementos no espaço de busca.
os ponteiros left e right do objeto obj nunca possuem o valor null.
O programa a seguir está apresentado na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: x1, x2, x3, Z, i;
x1 ← 3;
x2 ← 4;
x3 ← x1 + x2 - 2;
Para i de 1 até 3 faça
[
Se (x3 > x1) e (x3 > x2)
Então
[
x3 ← x3 - 2;
x1 ← x1 + 1;
]
Senão
[
x3 ← x3 + 1;
x2 ← x2 + 1;
]
]
Z ← x1 + x2 - x3;
Imprima Z;
Fim.
Ao final da execução desse programa, o valor impresso da variável Z será igual a
0
5
10
15
20
Considere-se o algoritmo a seguir.
y = 0;
para i=1 até i<10
---------y = y+i
escreva (y)
O algoritmo escreverá, em tela, o número 10.
Certo
Errado
Analise o seguinte script shell em execução:
#!/bin/bash
trap “exit” SIGINT
i=1
while [ $i -ne 0 ] ;
do
echo “Executando pela $i vez…”
(( i++ ))
done
Após uma brusca interrupção do script pelo usuário utilizando combinação de teclas CTRL+C, qual será o sinal de saída enviado pelo script?
15.
2.
0.
1.
127.