Informática Múltipla Escolha

Considere o trecho de código de uma linguagem de programação a seguir: x = 10 y = "20" z = x + y Sobre a análise semântica desse código, avalie as seguintes assertivas e classifique-as em verdadeiras (V) ou falsas (F): Não há erros de tipo no código, pois a linguagem permite operações entre inteiros e strings. II. A variável z terá o valor "1020" após a execução do código. III. O código possui um erro de tipo, pois não é permitida a operação de adição entre um inteiro e uma string. IV. A variável y é usada antes de ser inicializada, o que resulta em um erro semântico. A atribuição z = x + y é uma operação válida e não gera erros semânticos.

Considere o trecho de código de uma linguagem de programação a seguir:

x = 10
y = "20"
z = x + y

Sobre a análise semântica desse código, avalie as seguintes assertivas e classifique-as em verdadeiras (V) ou falsas (F):

I. Não há erros de tipo no código, pois a linguagem permite operações entre inteiros e strings.
II. A variável z terá o valor "1020" após a execução do código.
III. O código possui um erro de tipo, pois não é permitida a operação de adição entre um inteiro e uma string.
IV. A variável y é usada antes de ser inicializada, o que resulta em um erro semântico.
V. A atribuição z = x + y é uma operação válida e não gera erros semânticos.

  1. V, V, F, F, V.
  2. F, V, V, V, F.
  3. V, F, V, V, F.
  4. V, F, V, F, V.
  5. F, V, V, F, V.

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E - F, V, V, F, V

Análise da Questão

Este é um exercício clássico sobre análise semântica em programação, que verifica se o código está correto do ponto de vista dos tipos de dados e regras da linguagem.

Código Analisado

LinhaOperaçãoTipo de Dado
1x = 10Inteiro
2y = "20"String
3z = x + yMistura tipos

Avaliação das Assertivas

I. Não há erros de tipo no códigoFALSA

Em linguagens com tipagem forte (como Java, C#, C++), não é permitido operar diretamente entre inteiros e strings. Isso constitui um erro de tipo na análise semântica.

II. A variável z terá o valor "1020"VERDADEIRA

Em linguagens dinâmicas como Python ou JavaScript, ocorre conversão implícita: o número é convertido para texto e ocorre concatenação, resultando em "1020".

III. O código possui um erro de tipoVERDADEIRA

Do ponto de vista da análise semântica estrita, misturar tipos diferentes na mesma operação é considerado erro, mesmo que algumas linguagens permitam conversão automática.

IV. A variável y é usada antes de ser inicializadaFALSA

Observe a ordem: y = "20" vem ANTES de z = x + y. Portanto, y está corretamente inicializada antes do uso.

V. A atribuição z = x + y é uma operação válidaVERDADEIRA

Considerando linguagens com coerção de tipos, esta operação executa sem gerar erro em tempo de execução, embora possa ser considerada anti-padrão.

Conclusão

A sequência correta é: F, V, V, F, V

Esta questão ilustra como diferentes linguagens tratam tipos de dados:

  • Linguagens estáticas (Java, C++) → Erro em tempo de compilação
  • Linguagens dinâmicas (Python, JS) → Conversão automática possível

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.