SóProvas


ID
2799982
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2018
Provas
Disciplina
Programação
Assuntos

Julgue o próximo item, relativo a noções de programação Python e R.


Considere o programa a seguir, escrito em R.

x <- TRUE
y <- FALSE
print (xy)

Após a execução do programa, será obtido o seguinte resultado.

[1] FALSE

Alternativas
Comentários
  • Vai dar um erro de execução pois  a variável xy não foi encontrada.

  • Há a variável X e a variável Y, não há a variável XY. Logo, não haverá retorno pelo programa.

  • Victor Cabral na linguagem R o "<-" é sim um atribuidor, assim como "=" é no python

  • ITEN HORROSOOO, ESTAMOS ATRIBUINDO VALORES LÓGICOS!!! Quando pedimos pra "imprimir" ele está procurando pela variavel xy

    mas ela não existe.

  • Victor Cabral

    Essa questão é sobre R, e não sobre Python. Então seu comentário não serve como explicação para essa questão.

  • Na 1a linha, ele atribui à variável x um booleano verdadeiro (true).

    Na 2a, atribui a y o valor booleano falso (false).

    Na 3a linha, faz xy, o que parece ser uma multiplicação de x por y. Mas cuidado! Isso é uma pegadinha. Essa notação de omitir o sinal de multiplicação (x) é coisa da matemática. Em linguagem de programação não dá pra omitir assim o operador. Temos que ser explícitos. 

    Neste caso, o interpretador do R vai acusar um erro, dizendo que não reconhece a variável xy. Ele entende que xy é o nome de uma variável nova e tenta buscar esse valor na memória para dar o print. Como não encontra nenhuma variável xy ele dá o erro.

    Logo, o resultado da execução do script não vai ser o FALSE afirmado no enunciado e sim um erro.

    Resposta: Falso

  • Além do erro da falta da virgula separando as variáveis, a questão é a respeito da linguagem R, logo o correto seria:

    x<-TRUE

    y<-FALSE

    cat (x,y)

    observe que na linguagem R apenas cat pode imprimir duas variáveis ao mesmo tempo e nao o print.

    tmj! :)

  • Errado.

    Faltou a vírgula para separar x e y.

    A sintaxe correta deveria ser:

    x<-TRUE

    y<-FALSE

    cat (x,y)

    Vai imprimir: TRUE FALSE

    Caso alguém queria testar o código, é só jogar no programa abaixo:

    https://repl.it/repls/FlawlessComplexSort#main.r

  • Gabarito: Errado.

    Pessoal, o comando em questão no R vai resultar em erro. O atributo xy não existe no sistema. Na prática:

    > x <- True

    > y <- False

    > print (xy)

    Error in print (xy): object 'xy' not found

    Portanto, não há como retornar um booleano (False) como resultado. Ele retorna um erro. Só isso.

    Bons estudos!

  • Assertiva E

    x <- TRUE y <- FALSE print (xy)

    Após a execução do programa, será obtido o seguinte resultado.

    [1] FALSE

  • Para dar o resultado apresentado na questão, o código correto é:

    x <- TRUE

    y <- FALSE 

    print (y,x)

    Como o Arthur disse, apenas a função cat imprime duas variáveis ao mesmo tempo.

    x <- TRUE

    y <- FALSE 

    cat(y,x)

    > cat(y,x)

    FALSE TRUE

  • Na 1ª linha, ele atribui à variável x um booleano verdadeiro (true).

    Na 2ª, atribui a y o valor booleano falso (false).

    Na 3ª linha, faz xy, o que parece ser uma multiplicação de x por y. Mas cuidado! Isso é uma pegadinha. Essa notação de omitir o sinal de multiplicação (x) é coisa da matemática. Em linguagem de programação não dá pra omitir assim o operador. Temos que ser explícitos. 

    Neste caso, o interpretador do R vai acusar um erro, dizendo que não reconhece a variável xy. Ele entende que xy é o nome de uma variável nova e tenta buscar esse valor na memória para dar o print. Como não encontra nenhuma variável xy ele dá o erro.

    Logo, o resultado da execução do script não vai ser o FALSE afirmado no enunciado e sim um erro.

    Resposta: Falso

  • Rodei os códigos ( 1] o que foi dado na questão e 2] um escrito corretamente) no R e os resultados são os seguintes:

    1) Código que foi dado na questão:

    x <- TRUE

    y <- FALSE

    print (xy)

    Error in print(xy) : object 'xy' not found

    Execution halted

    2) Código corrigido:

    x <- TRUE

    y <- FALSE

    print (x,y)

    [1] TRUE

    EXTRA) Código que os colegas estão usando para justificar a questão:

    x <- TRUE

    y <- FALSE

    cat (x,y)

    TRUE FALSE

  • XY não foi declarado, logo dará erro na execução!

  • O CESPE não corrigiu o gabarito?

  • Na 1a linha, ele atribui à variável x um booleano verdadeiro (true).

    Na 2a, atribui a y o valor booleano falso (false).

    Na 3a linha, faz xy, o que parece ser uma multiplicação de x por y. Mas cuidado! Isso é uma pegadinha. Essa notação de omitir o sinal de multiplicação (x) é coisa da matemática. Em linguagem de programação não dá pra omitir assim o operador. Temos que ser explícitos. 

    Neste caso, o interpretador do R vai acusar um erro, dizendo que não reconhece a variável xy. Ele entende que xy é o nome de uma variável nova e tenta buscar esse valor na memória para dar o print. Como não encontra nenhuma variável xy ele dá o erro.

    Logo, o resultado da execução do script não vai ser o FALSE afirmado no enunciado e sim um erro.

    Prof. Hamilton Rodrigues | Direção Concursos

  • Tabela dos operadores relacionais

    == igualdade 2 == 3 False

    != desigualdade 2 != 3 True

    > maior 3 > 3 False

    >= maior ou igual 3 >= 3 True

    < menor 2 < 3 True

    <= menor ou igual 4 <= 3 False

    ou seja <- não existe.

  • Prezados,

    Em R, utilizamos "<-" para atribuir valor a uma variável.

    As 2 primeiras linhas até funcionam, atribuem a x e y os valores booleanos TRUE e FALSE.

    Entretanto, ao printar "xy" , o programa vai entender que não existe essa variável xy, e vai gerar um erro.



    Portanto a questão está errada.


    Gabarito do Professor: ERRADO.
  • ERRADO:

    Considere o programa a seguir, escrito em R.

    x <- TRUE

    y <- FALSE print (xy)

    Após a execução do programa, será obtido o seguinte resultado.

    Error in print (xy) : objeto ‘xy’ não encontrado

  • ALGUÉM SABE O DIA QUE VAI ENTRAR ASSEMBLY NO EDITAL DA PF?

  • Qual foi exatamente o erro da questão??

    Então, observe o comando:

    x <- TRUE

    y <- FALSE

     print (x,y)

    O comando acima solicita ao programa que seja executado a união das duas palavras (true e false...mas separadas por um espaço, que nesse caso será comprendido pela vírgula (,) entre as palavras)

    No entanto o comando print vai executar somente a primeira palavra (true).

    pois para executar as palavras de forma composta (true false) é necessário usar o comando cat no lugar do comando print.

    Se o resultado da questão fosse [1] TRUE no lugar de [1] FALSE, a questão acima estaria certa.

    Toda sintaxe na questão está correta... o erro está no resultado que deveria ser TRUE.

  • o comando para imprimir as duas variáveis é cat.

    cat(x,y)

    TRUE FALSE

    ou

    x;y

    TRUE

    FALSE

  • uma perpgunta, se fosse X * Y o resultado seria FALSE?

    pensei nisso visto que V e F = F.

    ou não é possívle operação aritimética com bolean no phyton?

  • Jesus, o que estou fazendo aqui.

  • Galera, a questão só estaria certa se fosse descrita assim:

    x<- TRUE

    y<- FALSE

    print (y)

    Como ele pediu xy, um caractere que não foi atribuído anteriormente. Dá erro!

  • Erro da questão:  print (x,y)

  • Então seeu marquei errado e tá certo, pois quanto eu marquei C o QC me retornou "Você errou"

  • No interpretador, ao rodar o código abaixo:

    x <- TRUE

    y <- FALSE

    print (x, y)

    teremos o seguinte resultado:

    [1] TRUE

    ao rodar o código do colega:

    x <- "TRUE"

    y <- "FALSE"

    print (x, y)

    o resultado é:

    ERROR

    GAB:ERRÔNEO

  • x <- TRUE

    y <- FALSE

    print (x*y)

    Olha aí o resultado da multiplicação feita corretamente.

  • (xy) na matemática = multiplicação de x por y

    (xy) em R = um vetor

    Como não foi atribuído nenhum valor para o vetor xy, a execução resultará em erro.

  • Gabarito errado

    No código apresentado temos os objetos x e y, mas não existe o objeto xy.

    Por isso, na execução desse código ocorrerá um erro na terceira linha, pois a função print não encontrará o objeto xy.

    Um ajuste para o código executar com sucesso:

    x <- TRUE

    y <- FALSE

    xy <- FALSE

    print (xy)

    Resultado em tela:

    [1] FALSE