Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.155 questões
inteiro soma, i
soma - 0
para i de 100 até 200 faça
se i mod 2 = 0 então
soma - soma + i
fimse
fimpara
escreva soma
fimalgoritmo
Considerando o algoritmo mostrado, é correto afirmar que, com relação à execução e ao valor impresso, esse algoritmo
public static void main(String args[]) {
System.out.println("Saida:");
xyz(5, 0);
}
static int xyz(int n, int m) {
int i;
for (i = 0; i < m; ++i) {
System.out.println(" " + i + " ");
}
System.out.println("xyz(" + n + "," + m + ")");
if (n == 1) {
return 1;
}
if (n % 2 == 0) {
return xyz(n / 2, m + 1);
}
return xyz((n - 1) / 2, m + 1) + xyz((n + 1) / 2, m + 1);
}
}
O resultado do código apresentado é
Considere o algoritmo a seguir, apresentado na forma de uma pseudolinguagem e que implementa uma certa funcionalidade, para responder às questões de números 50 e 51.
Início
- as [
- asd Tipo TM = matriz[1..4, 1..4] de inteiros;
- asdas Inteiro: c, i, j, k;
- asda TM: Mat;
- asdas c ← 1;
- asdasd Para i de 1 até 4 faça
- asd[
- as Se (c é ímpar)
- asd[
- asas Então
- asd[ c ← c + 3*i;
- asd Para j de 1 até 4 faça
- ad[
- asdMat[i,j] ← i + j + c;
- a]
- ,]
- asas Senão
- ,[
- asasddc ← c + 2*i + 1
- asdasd; Para k de 1 até 4 faça
- [
- asdasdiiaMat[i,k] ← i + k - c;
- aaaad]
- aasa]
- aaa]
- ii,,]
- ,]
- Fim.
A comunicação entre funções de um programa com o restante do programa pode ser feita por meio de passagem e retorno de valores. O método em que uma cópia da variável é passada para a função, e que pode ser usada e também alterada dentro da função, porém sem que isso altere o conteúdo da variável original, é denominado
Considere o algoritmo a seguir, apresentado na forma de uma pseudolinguagem e que implementa uma certa funcionalidade, para responder às questões de números 50 e 51.
Início
- as [
- asd Tipo TM = matriz[1..4, 1..4] de inteiros;
- asdas Inteiro: c, i, j, k;
- asda TM: Mat;
- asdas c ← 1;
- asdasd Para i de 1 até 4 faça
- asd[
- as Se (c é ímpar)
- asd[
- asas Então
- asd[ c ← c + 3*i;
- asd Para j de 1 até 4 faça
- ad[
- asdMat[i,j] ← i + j + c;
- a]
- ,]
- asas Senão
- ,[
- asasddc ← c + 2*i + 1
- asdasd; Para k de 1 até 4 faça
- [
- asdasdiiaMat[i,k] ← i + k - c;
- aaaad]
- aasa]
- aaa]
- ii,,]
- ,]
- Fim.
O maior e o menor valor armazenados após a execução do algoritmo na matriz Mat são, respectivamente,
Considere o algoritmo a seguir, apresentado na forma de uma pseudolinguagem e que implementa uma certa funcionalidade, para responder às questões de números 50 e 51.
Início
- as [
- asd Tipo TM = matriz[1..4, 1..4] de inteiros;
- asdas Inteiro: c, i, j, k;
- asda TM: Mat;
- asdas c ← 1;
- asdasd Para i de 1 até 4 faça
- asd[
- as Se (c é ímpar)
- asd[
- asas Então
- asd[ c ← c + 3*i;
- asd Para j de 1 até 4 faça
- ad[
- asdMat[i,j] ← i + j + c;
- a]
- ,]
- asas Senão
- ,[
- asasddc ← c + 2*i + 1
- asdasd; Para k de 1 até 4 faça
- [
- asdasdiiaMat[i,k] ← i + k - c;
- aaaad]
- aasa]
- aaa]
- ii,,]
- ,]
- Fim.
Após a execução do algoritmo, o número de posições da matriz Mat que foram atualizadas é igual a
Assinale a alternativa que preenche corretamente a lacuna do enunciado abaixo.
Denomina-se ________de um nodo de uma árvore o número de subárvores que são subordinadas diretamente a este nodo, ou seja, à quantidade de subárvores para as quais este nodo é raiz.
Sobre estruturas de dados do tipo árvore binária, analise as assertivas abaixo.
I. Diferente das listas simplesmente encadeadas, as árvores binárias permitem que cada nó tenha dois nós sucessores (filhos).
II. Raiz (root) é o nó mais inferior da árvore binária que não possui sucessores (filhos).
III. Folha (leaf) é qualquer nó da árvore binária que não tenha sucessores (filhos).
É correto o que se afirma em
Sobre variáveis e constantes, considere as afirmativas a seguir.
I. Constantes são valores fixos que um programa não pode alterar.
II. Variáveis declaradas dentro de uma função são chamadas de variáveis locais.
III. Uma variável é uma posição de memória usada para guardar um valor.
IV. Uma variável global é usada para que uma função receba argumentos.
Assinale a alternativa correta.
( ) Char é um tipo simples. ( ) Double é um tipo estruturado. ( ) Float é um tipo simples. ( ) Int é um tipo simples. ( ) Void é um tipo estruturado.
Assinale a alternativa que contém, de cima para baixo, a sequência correta.
(CRED > 120) AND (IND NOT < 85) AND (SEM-CUR NOT < 8) OR (CRED > 120) AND (IND NOT < 85) AND (SEM-CUR < 8) OR (CRED NOT > 120) AND (IND NOT < 85) AND (SEM-CUR < 8)
Qual das expressões abaixo manteria a mesma lógica, porém de forma mais simplificada?
Acerca de linguagens de programação, julgue o item seguinte.
As estruturas do tipo árvore são usadas, principalmente, para representar dados com uma relação plana entre seus elementos.
Sobre o conceito de Algoritmos Recursivos, analise as afirmações abaixo e, a seguir, assinale a alternativa correta.
I. Um programa tem um número limitado de procedimentos recursivos.
II. Recursividade é utilizada exclusivamente quando não se sabe solucionar um problema de maneira imediata, então é realizada a divisão em problemas menores para alcançar o resultado desejado.
III. Todos os problemas computacionais resolvidos de maneira iterativa gastam mais memória que se resolvidos de forma recursiva.