

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.
programa {
funcao inicio() {
inteiro vetor[] = { 81, 37, 51, 77, 19 }
inteiro naosei
logico achou = verdadeiro
enquanto (achou)
{
achou=falso
para (inteiro i = 0; i <4; i++)
{
se (vetor[i] > vetor[i+1])
{
naosei = vetor[i]
vetor[i] = vetor[i+1]
vetor[i+1] = naosei
achou = verdadeiro
}
}
}
para (inteiro i = 0; i < 5; i++)
{
escreva (vetor[i]+ "\n")
}
}
}
Assinale a opção que apresenta o resultado do algoritmo apresentado.
81
37
51
77
19
81
51
37
17
19
19
37
51
77
81
51
81
37
77
19
19
77
37
81
51
Relacione as colunas quanto às funções de cada trecho de código. Em seguida, assinale a alternativa com a sequência correta
1 - para a de 1 até 150 passo 1 faça leia e[a] fim_para 2 – para a de 1 até 150 passo 1 faça escreva f[a] fim_para 3 – para a de 1 até 150 passo 1 faça i ← e[a] div 5 se (i = 0) então f[a] ← e[a] + 7 senão f[a] ← e[a] + 12 fim_se fim_para | ( ) Leitura de cada um dos 150 valores da matriz. ( ) Criação da matriz com as seguintes premissas: • caso o elemento seja divisível por 5, somar 7 a seu valor; • senão, somar 12 a seu valor. ( ) Apresentação da matriz resultante. |
3 - 1 - 2
1 - 2 - 3
1 - 3 - 2
2 - 3 - 1
Os algoritmos são amplamente utilizados na área da ciência da computação, desde a definição das instruções realizadas pelo hardware – processadores e demais dispositivos –, passando pelas operações executadas pelo sistema operacional no gerenciamento dos computadores, até́ a documentação das operações necessárias à elaboração de soluções voltadas para a construção de interfaces entre software e hardware, programas e demais aplicativos.
É CORRETO afirmar que o tipo de algoritmo que apresenta a solução do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada é:
Pseudocódigo.
Descrição Narrativa.
Diagrama de Chapin.
Fluxograma.
Português Estruturado.
Considere um processo de ordenação dos elementos do array [16,8,6,14,12,4] em ordem crescente. Supõe-se um algoritmo que percorra o array repetidamente até que esteja ordenado, sem utilização de memória auxiliar para os elementos do array (in place).
A lista a seguir mostra a disposição dos elementos no array após cada ciclo de iteração.
[8, 6, 14, 12, 4, 16]
[6, 8, 12, 4, 14, 16]
[6, 8, 4, 12, 14, 16]
[6, 4, 8, 12, 14, 16]
[4, 6, 8, 12, 14, 16]
Nesse caso, é correto concluir que foi utilizado o algoritmo:
Bubble Sort;
Insertion Sort;
QuickSort;
Selection Sort;
Shellsort.
Para verificar a integridade de um arquivo, um analista de informática realizou um cálculo sobre ele no momento de sua criação, o que gerou um resultado de tamanho fixo. Anos depois, para ter certeza de que o arquivo não havia sido modificado, ele realizou novamente o cálculo, gerando, da mesma forma, um resultado de tamanho fixo. Comparou então os dois valores gerados e verificou que eram iguais, concluindo que o arquivo permaneceu íntegro naquele período de tempo.
Com base nessa situação hipotética, é correto afirmar que o cálculo deve ter sido realizado por algoritmos de hash, como:
SHA-1; SHA-256; e MD5.
AES; blowfish; e RC4.
DES; 3DES; e IDEA.
RSA; DAS; e ECC.
RSA; AES; e SHA-256.
Na construção de algoritmos, os Identificadores representam os nomes escolhidos para rotular as variáveis, procedimentos e funções, e obedecem regras específicas. As variáveis são declaradas de diversos tipos, conforme as regras listadas a seguir.
I. qualquer número real, negativo, nulo ou positivo.
II. qualquer número inteiro, negativo, nulo ou positivo.
III. armazena apenas os valores V e F, onde V representa VERDADEIRO e FALSO
IV. armazena qualquer conjunto de caracteres alfanuméricos. Podendo ser uma cadeia de caracteres de qualquer tamanho. Caso seja imprescindível para o entendimento pode-se acrescentar, entre parênteses, a quantidade máxima de caracteres.
Os tipos definidos em I, II, III e IV são conhecidos, respectivamente, como
numérico, float, byte e boolean
real, inteiro, lógico e string
real, integer, lógico e literal
byte, short int, numérico e float
Há três tipos de algoritmos considerados como os mais comuns. Um deles “analisa o enunciado do problema e escreve, utilizando uma linguagem natural, os passos a serem seguidos para sua resolução”. Trata-se de:
Refinamento.
Recursividade.
Descrição narrativa.
Pseudocódigo ou Portugol.
Para desenvolver um programa deve-se cumprir algumas etapas; uma delas se trata de determinada ferramenta tipo descrição narrativa, que faz uso de algumas técnicas para descrever o problema e suas soluções. Assinale-a.
Análise.
Execução.
Algoritmo.
Codificação.
O programa a seguir, expresso na forma de uma pseudolinguagem, possui três loops. Analise a execução do algoritmo.
Início
[
Inteiro a, i, j, k;
a ← 0;
Para i de 1 até 4 faça
[
Para j de 1 até 3 faça
[
Para k de 1 até 5 faça
[
a ← a + 1;
]
a ← a - 1;
]
a ← a - 1;
]
a ← a - 1;
] Fim.
Ao final da execução do algoritmo, o valor da variável a será igual a:
41
42
43
44
45
Considere o algoritmo abaixo:
Algoritmo Exemplo
Var v: vetor [0..7]: inteiro
Var n, p, u, a: inteiro
Início
Para p de O até 7 passo 1 faça
leia (n)
v[p] ← n
Fim_para
p ← 0
u ← 8
Enquanto (u < > 2) faça
Enquanto (p < > (u-1)) faça
Se (v[p] > v[p+1]) então
a ← v[p]
v[p] ← v[p+1]
v[p+1] ← a
Fim_se
p ← p+1
Fim_enquanto
p ← 0
U ← U-1
Fim_enquanto
Fim
Caso v receba os valores 15, 25, 4, 10, 54, 32, 29 e 44, nessa ordem, após a execução de todos os laços de repetição do algoritmo, assinale a opção que apresenta os valores das posições 4 e 5 do vetor v respectivamente:
15 e 4.
25 e 44.
29 e 32.
32 e 44.
29 e 15.
Analise as afirmações, a seguir, a respeito dos TAD (Tipos abstratos de dados):
I - Um TAD especifica o tipo de dado (domínio e operações) sem referência a detalhes da implementação.
II - Dando mais liberdade para mudar implementação com menor impacto nos programas.
III - Oferece muitas vantagens, apesar de não minimizar custos.
IV - Os programas que usam o TAD não "conhecem" as implementações dos TADs.
Estão corretas as afirmações:
I e III.
II, III e IV.
I, II e III.
I, II e IV.
No contexto da metodologia empregada na construção de algoritmos, observe o pseudocódigo abaixo, referente a um algoritmo.
algoritmo "ALG123"
var
-F, H, K : inteiro
inicio
-F <- 17
-H <- 13
-para K de 1 ate 3 faca
--F <- F - 1
--H <- H + 1
--escreva (F:3,H:3)
-fimpara
fimalgoritmo
Após a execução, a sequência de números de saída é
16 16 15 15 14 14
16 14 15 15 14 16
16 15 14 14 15 16
14 14 15 15 16 16
Fluxograma é uma representação esquemática de um processo ou algoritmo, e são representados por alguns símbolos. Sobre o assunto, relacione as colunas a seguir:
Coluna 1 | Coluna 2 |
I. | A. Conector |
II. | B. Documento |
III. | C. Operação manual |
Assinale a alternativa que apresenta a relação correta entre as Colunas 1 e 2:
I-C, II-B, III-A
I-A, II-B, III-C
I-B, II-A, III-C
I-C, II-A, III-B
O pseudocódigo a seguir apresenta o corpo de uma função.
int func(int n)
{
if (n <= 1)
{
return n
}
return func(n-1) + func(n-2)
}
Caso essa função seja chamada recebendo como entrada o valor 10, qual será o valor retornado pela função?
89
1
21
34
55
O gerente de uma agência bancária recebe, diariamente, solicitações de seus clientes com dúvidas sobre a melhor decisão para aplicações financeiras e as armazena, com um código numérico crescente, num vetor de solicitações, para respondê-las ao final do expediente. Para manter o conceito de bom atendimento, o gerente gostaria, sempre que possível, que a ordem das respostas seguisse, estritamente, a ordem de chegada das solicitações. Entretanto, há casos em que é necessário, por motivos de emergência ou por prioridade legal, localizar determinado código numérico para atender à solicitação correspondente antes das demais, “furando” a fila de espera. O gerente solicitou, então, à equipe de TI do banco, uma proposta que conciliasse essas duas necessidades. Ao estudar o problema, a equipe de TI concluiu que uma solução que mapearia diretamente essa necessidade da gerência seria permitir a realização de uma busca binária sobre o vetor de solicitações ordenado pelos seus códigos numéricos.
Verificando a viabilidade dessa sugestão, o grupo de TI calculou que, se considerar a existência de N solicitações, a quantidade de iterações necessárias para localizar determinado código numérico no vetor de solitações, utilizando a busca binária, no pior caso, é
[log2 N], em que a notação [x] significa maior inteiro menor ou igual a x
1 + [log2 N], em que a notação [x] significa maior inteiro menor ou igual a x
1 + [log2 N], em que a notação [x] significa menor inteiro maior ou igual a x
2N
2N-1
Analise o algoritmo abaixo. Assumindo que NUMERO = 3, qual o resultado do algoritmo?
Algoritmo
declare M[1:5] numérico
declare I numérico
leia NUMERO
I ← 1
repita
se I > 5
então interrompa
fim se
M[ I ] ← NUMERO
I ← I + 1
fim repita
escreva M[1], M[2] ... M[5]
fim algoritmo
1, 2, 3, 4, 5
3, 3, 3, 3
0,1 ,2 ,3, 4
1, 1, 1, 1, 1
3, 3, 3, 3, 3
programa {
funcao proc(inteiro n) {
se (n==4) {
retorna n;
} senão {
retorna 2*proc(n+1);
}
}
escreva (proc(2));
Assinale a opção que apresenta o resultado da execução do pseudo-código precedente.
2
4
6
8
16
Observe o algoritmo a seguir:
algoritmo "CE"
var
_M,N, K: inteiro
início
_M<- 17
_N<-23
para K de 1 ate 5 faca
__M<-M+1
__N<-N-1
__escreva (M:3,N:3)
fimpara
fimalgoritmo
Ao final da execução, será impressa a seguinte série de números:
18 18 19 19 20 20 21 21 22 22.
18 22 19 21 20 20 21 19 22 18.
22 18 21 19 20 20 19 21 18 22.
22 22 21 21 20 20 19 19 18 18.
O algoritmo abaixo contém a função FNC21(X).
algoritmo "EMGEPRON" var N, S : inteiro funcao FNC21(X:inteiro) : inteiro inicio N <- N+1 se X <= 1 entao retorne 3 senao retorne 3*FNC21(X-1)+2*FNC21(X-2) fimse fimfuncao inicio N <- 3 S <- FNC21 (N) escreval("N = ",N:4," S = ",S:4) fimalgoritmo |
Após a execução, as variáveis N e S mostrarão, respectivamente, os seguintes valores:
5 e 15
5 e 51
8 e 15
8 e 51
Considere o pseudocódigo abaixo, que define uma função que recebe dois arrays, A1, A2, cada um com N elementos indexados a partir de 1, e retorna o número de elementos do array A1 que não aparecem em A2.
function xpto(A1, A2, N)
contagem=0
for i=1 to N
flag=0
for j=1 to N
if A1[i] == 0 A2[j] then flag=1
if flag == 0 then contagem=contagem + 1
return contagem
Exatamente como foi codificado, o algoritmo da função xpto tem complexidade
O(1)
O(n)
O(2.n)
O(n2)
O(2.n2)