Cadeia de caracteres
Na programação de computadores, uma cadeia de caracteres ou string é uma sequência de caracteres, geralmente utilizada para representar palavras, frases ou textos de um programa.[1]
Nas maioria das linguagens de programação, as cadeias de caracteres podem ser expressas tanto na forma literal, como através de algum tipo de variável. Quando expressos através de variáveis, o conteúdo da cadeia geralmente pode ser alterado pela inclusão/exclusão de elementos ou pela substituição de seus elementos por outros elementos, formando uma nova cadeia. Assim, uma cadeia de caracteres é vista como sendo um tipo de dado e normalmente é implementada através de um arranjo de bytes que armazena os elementos da cadeia em sequência, utilizando alguma codificação preestabelecida.[2]
Nas linguagens formais, uma cadeia de caracteres é uma sequência finita de símbolos escolhidos a partir de conjunto denominado alfabeto.[2]
Teoria formal
[editar | editar código-fonte]Seja
- Se o alfabeto
Σ = {0, 1}, então 0, 1, 01, 000001 e 101 são cadeias sobre o alfabetoΣ .
O comprimento ou cardinalidade da cadeia é a quantidade de caracteres utilizados para sua composição. À cadeia de comprimento zero dá-se o nome de cadeia vazia e é usualmente denotada na literatura pelos símbolos
- Se o alfabeto
Σ = {0, 1}, então |00| = 2, |0101| = 4 e |ε | = 0.'
O conjunto de todas as possíveis cadeias de tamanho n sobre um alfabeto
- Se o alfabeto
Σ = {0, 1}, entãoΣ ² = {00, 01, 10, 11}. Notar queΣ 0 = {ε } para qualquer alfabetoΣ .
O conjunto de todas as possíveis cadeias sobre
- Se o alfabeto
Σ = {0, 1} entãoΣ * = {ε , 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, …}.
Apesar do conjunto
Um conjunto de cadeias sobre um alfabeto
Concatenação e sub-cadeias
[editar | editar código-fonte]Concatenação é uma importante operação binária em
A concatenação de cadeias é uma operação associativa, mas não comutativa. A cadeia vazia serve como um elemento identidade: para qualquer cadeia s,
A cadeia s é dita uma subcadeia (ou fator) de t se existem cadeias (possivelmente vazias) u e v de forma que t = usv.
Ordenação lexicográfica
[editar | editar código-fonte]Geralmente é necessário definir uma ordenação em um conjunto de cadeias. Se um alfabeto
Cadeia de caracteres como tipo de dado
[editar | editar código-fonte]Um tipo de dado cadeia de caracteres (referido em programação geralmente como string) é uma modelagem de uma cadeia formal de caracteres. São bastante usados em programação, sendo implementados em quase todas as linguagens de programação. Em algumas linguagens esse tipo é definido nativamente, em outras é um tipo composto, derivado.
Referências
- ↑ «R – Tipos – Linux». Desenvolvimento Código Aberto. 5 de dezembro de 2016. Consultado em 12 de fevereiro de 2020
- ↑ a b «Uma cadeia de caracteres ou string é uma sequência de... - MidBrainart». br.midbrainart.com. Consultado em 12 de fevereiro de 2020
- ↑ «Linguagens Formais e Autômatos Instituto da informação» (PDF). Consultado em 11 de fevereiro de 2020