0% encontró este documento útil (0 votos)
43 vistas3 páginas

Definición y Operaciones de Strings

Un string es una secuencia de caracteres que se utiliza como tipo de dato en programación. Las cadenas pueden almacenarse físicamente de forma seguida o enlazada. Existen varias operaciones comunes con cadenas como asignación, concatenación, búsqueda y comparación. La semántica de un lenguaje de programación define el significado de los programas y puede especificarse a través de máquinas abstractas, traducción, definición axiomática o semántica matemática.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas3 páginas

Definición y Operaciones de Strings

Un string es una secuencia de caracteres que se utiliza como tipo de dato en programación. Las cadenas pueden almacenarse físicamente de forma seguida o enlazada. Existen varias operaciones comunes con cadenas como asignación, concatenación, búsqueda y comparación. La semántica de un lenguaje de programación define el significado de los programas y puede especificarse a través de máquinas abstractas, traducción, definición axiomática o semántica matemática.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

STRING

En programacin, una cadena de caracteres o string en ingls es una secuencia ordenada


de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje
formal o alfabeto anlogas a una frmula o a una oracin. En general, una cadena de
caracteres es una sucesin de caracteres (letras, nmeros u otros signos o smbolos).
Desde un punto de vista de la programacin, si no se ponen restricciones al alfabeto, una
cadena podr estar formada por cualquier combinacin finita de todo el juego de
caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9',
el espacio en blanco ' ', smbolos diversos '!', '@', '%', etc). En este mismo mbito (el de la
programacin), se utilizan normalmente como un tipo de dato predefinido, para palabras,
frases o cualquier otra sucesin de caracteres. En este caso, se almacenan en un vector de
datos, o matriz de datos de una sola fila (array en ingls). Las cadenas se pueden
almacenar fsicamente:
Seguidas.
Enlazados letra a letra.
Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la
llama cadena vaca; en teora de autmatas es comn denotar a la misma por medio de la
letra griega .
OPERACIONES QUE REALIZAN CON UN STRING
Siguiendo en el mbito de la informtica, al considerar las cadenas como un tipo de datos, hay que
definir (o conocer) cuales son las operaciones que podemos hacer con ellas, en principio stas
podran ser muchas y llegar a ser muy sofisticadas, aqu se exponen algunas de ellas:
ASIGNACIN: Consiste en asignarle una cadena a otra.
char *strcpy(char [], const char[]); # en C
cadena1=cadena2; # en C++
cadena1 := cadena2 # en Smalltalk

CONCATENACIN: Consiste en unir dos cadenas o ms (o una cadena con un carcter)
para formar una cadena de mayor tamao.
$pareja = "Joshua"." y "."Marina" # en Perl y PHP;
pareja = "Luisa" & " y " & "Carmen" # en Visual Basic;
pareja = "Luisa" + " y " + "Carmen"; # en C++ y Java con la
clase String.
pareja := 'Luisa' , ' y ' , 'Carmen'. # en Smalltalk
strcat(cadena1,cadena2); strcat(cadena1, cadena3); # en C
(Debe haber suficiente espacio en la primera)

BSQUEDA: Consiste en localizar dentro de una cadena una subcadena ms pequea
o un carcter.
EXTRACCIN: Se trata de sacar fuera de una cadena una porcin de la misma segn su
posicin dentro de ella.
COMPARACIN: Se utiliza para comparar dos cadenas.
int strcmp(const char[], const char[]); # en C Devuelvee <0
si la 1 es menor, >0 si es mayor y 0 si son iguales
cadena1==cadena2; cadena1>cadena2; etc. # en C++ Devuelve un
valor de verdad
cadena1 = cadena2 # en Smalltalk
Devuelve true o false.


Un programa en cualquier lenguaje se puede concebir como un string de caracteres escogidos de
algn conjunto o alfabeto de caracteres. Las reglas que determinan si un string es un programa
vlido o no, constituyen la sintaxis de un lenguaje. Posteriormente, se estudiarn ciertas
notaciones denominadas expresiones regulares y gramticas libres de contexto, muy usadas no
slo para especificar las sintaxis de los lenguajes de programacin sino tambin para contribuir en
la construccin de sus compiladores.

SEMNTICA
Las reglas que determina el significado de los programas constituyen la semntica de los lenguajes
de programacin. Es ms difcil de especificar que la sintaxis.
Los siguientes son algunos enfoques para especificar la semntica de los lenguajes:
Un lenguaje de mquina tiene su semntica definida por el computador. Un programa en lenguaje
de mquina "significa" exactamente lo que el computador hace cuando el programa "corre" o se
ejecuta. Sin embargo, con un lenguaje de alto nivel no se puede dejar que el computador defina la
semntica del lenguaje, puesto que no es posible "correr programas y ver" hasta que se tenga un
compilador. No se puede tener un compilador y saber qu es correcto hasta haber definido lo que
los programas significan.
Este enfoque interpretativo para definir la semntica de los lenguajes de programacin consiste en
postular una mquina abstracta y proveer reglas para la ejecucin de programas sobre esta
mquina abstracta. As, estas reglas definen el significado de los programas. Usualmente, la
mquina abstracta se caracteriza por un estado consistente de todos los objetos datos,
sus valores y los programas con sus contadores de programa. Las reglas semnticas especifican
cmo el estado es transformado por las diversas construcciones de los lenguajes de programacin.
TRADUCCIN
La traduccin de un lenguaje assembly a lenguaje de mquina (que es directa y comprensible),
forma una especificacin semntica muy usada para un lenguaje assembly.
El compilador para un lenguaje de alto nivel sobre una mquina especfica llega a ser la definicin
semntica del lenguaje.
DEFINICIN AXIOMTICA
Se pueden definir reglas que relacionan los datos antes y despus de la ejecucin de cada
programa. Estas reglas se pueden usar para proveer teoremas acerca de la relacin E/S de un
programa. Este enfoque tiene la ventaja que puede usarse para definir semnticas para un aparte
ms que para todos los aspectos de un lenguaje.
DEFINICIN EXTENSIBLE
En este enfoque se definen ciertas operaciones primitivas y el significado del lenguaje en trminos
de estas primitivas. Ejemplo LISP.
SEMNTICA MATEMTICA O DENOTACIONAL
Los objetos matemticos corresponden a programas que son definidos y reglas abstractas para
traducir programas a estos objetos abstractos.

También podría gustarte