Questões de Concurso
Comentadas sobre lógicas de programação em algoritmos e estrutura de dados
Foram encontradas 207 questões
C * (B – A) <= D – B / C
Qual seria o resultado da execução dessa expressão, caso o valor das variáveis fossem: A=3; B=6; C=2 e D=9 ?
I - Toda expressão que possui um operador relacional, necessariamente, tem como resultado um valor do tipo “lógico”. II - O operador “mod” (ou “%”) retorna o resto da divisão entre dois números. III - É adequado o uso de variáveis cujo tipo de dados seja “inteiro” para armazenar nomes de pessoas.
Assinale a alternativa CORRETA.
Considere a seguinte expressão lógica, a ser inserida em um programa.
R ← ((A and B) or (C and D)) or E
As variáveis A, B, C, D, E e R são do tipo booleano, podendo assumir valores verdadeiro (1) ou falso (0).
Assinale a alternativa que apresenta valores para A, B, C, D e E que resultem o valor falso (0) em R.
Observe a expressão lógica abaixo:
((((true AND true) OR false) AND true) AND (true OR (true AND false)))
Considerando os operadores lógicos AND (e) e OR (ou), e os operandos lógicos true (verdadeiro) e false
(falso), é CORRETO afirmar que o valor lógico dessa expressão é:
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.
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 é:
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.
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
(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?