Alternativa D
A questão solicita identificar a afirmação falsa sobre o tipo de dado string (cadeia de caracteres). A alternativa incorreta é a D, pois operações matemáticas não são universalmente aplicáveis a strings da mesma forma que aos números.
Análise Detalhada
Para compreendermos a resposta, vamos revisar os conceitos fundamentais de manipulação de dados em programação:
- Definição de String: Uma
string é uma sequência de caracteres usada para representar texto. Exemplos incluem palavras ("ola"), frases ("bom dia") ou códigos.
Avaliação das Alternativas
Vamos analisar cada item à luz dos conceitos de programação:
- A. Variáveis do tipo string podem receber constantes literais.
- Verdadeiro. É perfeitamente comum atribuir textos fixos a variáveis. Exemplo:
nome = "Carlos". O valor "Carlos" é uma constante literal. - B. Em algumas linguagens, esse é um tipo simples.
- Verdadeiro. Em linguagens como Pascal ou Visual Basic, a string é tratada como um tipo primitivo ou simples gerenciado pela linguagem.
- C. Em algumas linguagens, é um tipo composto (conjunto).
- Verdadeiro. Em linguagens como C, a string é implementada como um array (vetor) de caracteres (
char[]), que é tecnicamente um tipo composto, pois é formado por um conjunto de elementos menores (caracteres individuais). - D. Todas as operações realizadas com números são aplicáveis ao tipo string.
- Falso. Esta é a resposta correta. Embora existam exceções (como a concatenação de strings usando o operador
+, que lembra adição), a maioria das operações aritméticas numéricas (subtração, multiplicação, divisão, módulo) não funciona com strings. Tentar dividir duas frases ou subtrair uma palavra de outra resultaria em erro de compilação ou execução na maioria das linguagens. - E. Normalmente, define-se o tamanho máximo da string quando declara-se a variável desse tipo.
- Verdadeiro. Em linguagens de tipagem estática como C (
char nome[50]) ou Java (StringBuilder inicializado com capacidade), é comum definir limites ou capacidades. Em linguagens modernas (Python, JS), o tamanho é dinâmico, mas a regra geral historicamente citada em cursos básicos refere-se à alocação de memória.
Conclusão
A alternativa D é a única que apresenta uma generalização incorreta, pois mistura o domínio de dados numéricos com o domínio de dados textuais, ignorando que strings possuem regras de operação distintas (principalmente concatenção vs. aritmética).