Questões da Prova COMVEST UFAM - 2016 - UFAM - Técnico em Tecnologia da Informação
Foram encontradas 4 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
Nas expressões lógicas mostradas a seguir, A, B e C são variáveis booleanas. Assinale C para as expressões lógicas corretas e E para as erradas.
( ) (A.or.B).or.C = A.or.(B.or.C)
( ) A.and.1=A
( ) A.or.(B.and.C) = (A.or.B).and.(A.or.C)
( ) A.and.(B.or.C)=(A.or.B).or.(A.or.C)
( ) A.or.0= A
( ) (A.and.B).and.C= A.and.(B.and.C)
( ) A.or.(not(A))=1
( ) A.and.(not(A))=0
( ) (A.or.B).or.C=A.and.(B.and.C)
( ) A.and.(B.or.C)=(A.and.B).or.(A.and.C)
Assinale a alternativa que apresenta a sequência
correta de C e E de cima para baixo:
Dado o seguinte vetor de números inteiros
e o ALGORITMO Troca mostrado a seguir:
ALGORITMO Troca
PARA i de 10 ATÉ 6 PASSO -1 FAÇA
temp ← NUM[i];
NUM[i] ← NUM[10-i+1];
NUM[10-i+1] ← temp;
FIM_PARA
NUM[1] ←NUM[NUM[1]];
NUM[NUM[10]]←NUM[10];
NUM[NUM[5]]←NUM[NUM[2]];
NUM[temp]←NUM[NUM[temp]];
FIM_ALGORITMO
Qual o conteúdo do vetor NUM após a execução do
ALGORITMO Troca.
O mergesort é um algoritmo de ordenação do tipo dividir-para-conquistar. Sua ideia básica consiste em dividir o problema em vários subproblemas, e resolver esses subproblemas por meio da recursividade e, em seguida,após todos os subproblemas terem sido resolvidos,ocorre a conquista, que é a união das resoluções dos subproblemas. O algoritmo mergesort, apresentado em seguida, está codificado em C/C++.Esse algoritmo ordena o vetor de inteiros a[p],..., a[r](onde, p<r) usando um vetor auxiliar b[p],..., b[r].O vetor a[ ] é dividido recursivamente ao meio em duas instâncias menores, que são ordenadas e então colocadas
juntas, ordenando todo o vetor. No código estão faltando as linhas que fazem a divisão por recursão (linhas 7 e 8) e as linhas que concretizam a fase de conquista, unindo todas as intercalações no vetor principal (linhas 11 e 12).
1. voidmergesort(int a[], int p, int r)
2. {
3. inti,j,k,m;
4. if (r > p)
5. {
6. m = (r + p)/2;
7. …
8. …
9. for (i = m+1; i> p; i--) b[i-1] = a[i-1];
10. for (j = m; j < r; j++) b[r+m-j] = a[j+1];
11. ...
12. ...
13. }
14. }