Questões de Concurso
Sobre lógicas de programação em algoritmos e estrutura de dados
Foram encontradas 271 questões
a = 100 // atribui o valor 100 à variável “a”
f(a + 1) // invoca a execução da função “f”
b = a // atribui o valor da variável “a” à variável “b”
def f(a) { // define a função “f”
a = a + 10
}
Assinale a alternativa CORRETA.
• a expressão lógica “x % y == 0” é verdadeira se o número “x” for divisível pelo número “y” e falsaem caso contrário;
• o comando de repetição “para-cada (n em v) {...}” executa os comandos dentro do blocodelimitado por “{” e por “}”, onde o número de repetições é igual à quantidade de númerospresentes no array “v” e, em cada repetição, o valor da variável “n” será um dos números do array “v”. Exemplo: no comando para-cada (n em [5, 2, 8]) { ... } o valor de “n” na primeirarepetição será 5, na segunda repetição será 2 e na terceira e última repetição será 8;
• o comando de atribuição “=” atribui um valor a uma variável. Exemplo: o comando “a = b + 1”define que o valor da variável “a” será o valor da expressão “b + 1”, ou seja, será o valor davariável “b” mais 1;
• o comando de seleção “se (expressão lógica) { ... }” executa os comandos dentro do blocodelimitado por “{” e por “}” caso a expressão lógica seja verdadeira.
Considere o seguinte algoritmo:
v = [8, 3, 10, 9]
a = 0
b = 5
para-cada (n em v) {
se (n % b == 0) {
a = a + n
}
}
Assinale a alternativa que indica CORRETAMENTE o valor que será atribuído à variável “b”após a execução do algoritmo acima.
Considere a sub-rotina abaixo:
1. Programa
2. Declare X, Y e Z numérico
3. Leia X
4. Leia Y
5. Z:= (X + Y) x Y
6. Escreva Z
7. Fim programa
Analisando o programa acima, e supondo que o valor fornecido para “X” na terceira linha seja 3 e o valor fornecido para Y na quarta linha seja 4, pode-se afirmar que o valor da variável “Z” na sexta linha é:
O algoritmo apresentado a seguir, na forma de uma pseudolinguagem, deve ser utilizado para responder à questão. Assuma que os valores presentes lidos inicialmente para os vetores a e b tenham sido os seguintes:
No programa apresentado, suponha que o comando:
Com este novo comando, ao final da execução do programa, quando comparado com a execução original,
O algoritmo apresentado a seguir, na forma de uma pseudolinguagem, deve ser utilizado para responder à questão. Assuma que os valores presentes lidos inicialmente para os vetores a e b tenham sido os seguintes:
Após a execução do programa, os valores de SA e SB
serão, respectivamente,
Considere o autômato abaixo.
A figura acima apresenta um autômato
Considerando o teorema De Morgan de
lógica proposicional:. Assinale qual das condições a seguir aplica
esse teorema em linguagem pascal.
Considere a notação abaixo para as seguintes operações lógicas:
Assinale a alternativa que apresenta a simplificação da expressão: ¬((¬A v B) ^ ¬B).
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:
Acerca de funções e procedimentos em subprogramas, julgue o item que se segue.
A passagem de parâmetro em uma rotina pode ocorrer de duas
maneiras: por valor ou por referência. Em se tratando da
passagem por valor, alteram-se os valores dos parâmetros que
foram passados para a função.
Julgue o item seguinte, relativos a linguagens de programação.
Em se tratando de linguagens procedimentais, os dados são
globais e, portanto, acessíveis a todos os procedimentos.
Julgue o item seguinte, relativos a linguagens de programação.
Utilizando-se linguagens fracamente tipadas, é possível alterar
o tipo de dado contido em uma variável durante a execução do
programa.
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.
Considere a seguinte estrutura de dados do tipo pilha.
Considerando as operações usuais de empilhamento (PUSH) e desempilhamento (POP), com suas funcionalidades padrão, foram realizadas as seguintes operações, expressas na forma de uma pseudolinguagem:
X ← 10;
Y ← 20;
POP(Y);
PUSH(X);
POP(Y);
PUSH(Y);
PUSH(X);
Após a execução dessa sequência de operações, o novo conteúdo da pilha será, da base para o topo:
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