USO DE CARACTERES Y CADENAS DE CARACTERES EN PROGRAMACIÓN

En muchas situaciones se requiere trabajar con valores que no son numéricos, para lo cual es necesario el uso de variables tipo carácter, o como una cadena de caracteres.

El tipo de variables string o cadena de caracteres nace de la necesidad frecuente de los programadores de resolver situaciones problemicas que incluyen palabras o frases enteras del lenguaje común, uno de los mas comunes es cuando se trabaja con los nombres de personas como datos en un programa, un ejemplo típico de un programa que maneja datos textuales es el procesador de texto con el cual se ha elaborado este escrito.

Para trabajar con textos los programadores inicialmente trabajaban con arreglos  donde cada elemento del arreglo correspondía al código de una letra o carácter, los códigos de caracteres inicialmente establecidos obedecían a estándares EBCDIC o ASCII, donde a cada carácter se le asigna un código hexadecimal. Basic utiliza el estándar ASCII, por ejemplo para almacenar  la palabra BIENVENIDO el arreglo quedaría un arreglo así:

A=
B
I
E
N
V
E
N
I
D
O

Donde A(1)=”B”, A(2)=”I”, A (3)= “E” y así sucesivamente.

Con mucha frecuencia la situación exigía al programador generar códigos para solucionar situaciones como dividir la frase en subconjuntos de caracteres, cambiar o modificarla parcialmente o en su totalidad, armar frases nuevas a partir de otras existentes, buscar si cierta palabra o carácter formaba parte de ella etc.  Ese tipo de tareas se dificultan cuando trabajas con arreglos comunes, debido a que el manejo de los subíndices puede resultar complejo, por lo cual los creadores de los compiladores y las herramientas de programación incluyeron los strings como un nuevo tipo de variable mucho mas práctica y sencilla para su uso en el manejo de textos.  En Basic para declarar este tipo de variables se usa la instrucción Dim de las siguientes maneras:

CADENAS DE LONGITUD FIJA

DIM [NOMBRE DE VARIABLE] AS STRING * n%

Que se utiliza para declarar una variable como cadena de caracteres de longitud n% fija, donde n% es un número entero o una variable de tipo entero.

Por ejemplo:
DIM letrero AS STRING * 10

Donde se declaró la variable letrero como una cadena de caracteres de longitud fija 10, si le asignas un texto de mas de 10 caracteres este será truncado, es decir no aparecerán los caracteres qe están de la posición 11 en adelante.

CADENAS DE LONGITUD VARIABLE

DIM [NOMBRE DE VARIABLE] AS STRING

Esta línea de código permite declarar strings, cuya dimensión no es fija, y puede asignársele cadenas de caracteres de cualquier tamaño sin problemas.

También se puede definir una variable como cadena de caracteres de longitud variable si se usa al finalizar el nombre el prefijo $.

ASIGNACIÓN
Para asignar textos a variables que son cadenas de caracteres se efectúa desde el teclado con la instrucción Input; los valores textuales también se pueden asignar con el carácter =, cuando estos son constantes deben enmarcarse entre comillas dobles (“). De igual manera deben utilizarse comillas en constantes textuales cuando aparecen dentro de condiciones.
El siguiente segmento de código Basic entrega como respuesta el letrero “la encontré”.

CLS
DIM NOMBRE as STRING
NOMBRE=”Yaneth”
IF (NOMBRE = “Yaneth”) THEN
     PRINT “la encontré”
ELSE
     PRINT “no es ella”
END IF
END

Nóte que Basic en este caso si diferencia entre minúsculas y mayúsculas, debido a que el código ASCII de las letras mayúsculas es diferente al de las letras minúsculas.

PRINCIPALES FUNCIONES PARA EL MANEJO DE STRINGS:

LEN: Retorna el número de caracteres o letras que contiene una cadena, o el número de bytes que ocupa en la memoria una variable.

Sintaxis:
LEN(cadena$)
LEN(nombrevariable)

Ejemplo:

CLS
DIM NOMBRE as STRING
DIN LONGITUD as INTEGER
NOMBRE=”Yaneth”
LONGITUD = LEN (NOMBRE)
PRINT “la cantidad de letras es:” LONGITUD
END

La respuesta que entrega es el letrero: la cantidad de letras es: 6.  que corresponde al numero de letras de la palabra Yaneth.

Donde cadena$ es una cadena de caracteres constante o el nombre de una variable de tipo carácter; nombrevariable es el nombre de una variable que no es tipo string,

LEFT$ y RIGHT$: Retornan cierta cantidad de caracteres desde el extremo izquierdo o derecho de una cadena.

Sintaxis:
LEFT$(cadena$,n%)
RIGHT$(cadena$,n%)

Donde  cadena$, es una expresión entre comillas dobles o el nombre de una variable tipo string,  y n% es la cantidad de caracteres que se va a retornar la función.

Ejemplo:

CLS
DIM NOMBRE, PRINOM, SEGNOM as STRING
NOMBRE=”Katherine Yamile”
PRINOM=LEFT$(NOMBRE,9)
SEGNOM=RIGHT$( NOMBRE,6)
PRINT “El primer nombre es:” ;PRINOM
PRINT “El segundo nombre es:”;SESGNOM
END


MID$: La función MID$ devuelve un SUBSTRING o una SUBCADENA.
Cuando actúa como  instrucción MID$ permite reemplazar una parte de la cadena con otra cadena de caracteres.

MID$(cadena$,inicio%[,longitud%])
MID$(cadena$,inicio%[,longitud%])=cadena$

Donde cadena$ se refiere a cadenas de caracteres.
 Inicio%              La posición del primer carácter de la Subcadena dentro del string original
longitud%          Cantidad de caracteres en la subcadena. Si no se coloca, toma toda la                             subcadena que va hasta el último carácter de la cadena original.

Ejemplo:

CLS
DIM NOMBRE, PRINOM, SEGNOM as STRING
NOMBRE=”María Angel”
PRINOM=MID$(NOMBRE,1,5)
SEGNOM=RIGHT$( NOMBRE,7,5)
PRINT “El primer nombre es:” ;PRINOM   
PRINT “El segundo nombre es:”;SESGNOM
MID$(NOMBRE, 7)= “Gabriela”
PRINT “El nuevo nombre es:”;NOMBRE

END

OTRAS FUNCIONES QUE USAN STRING.

DATE$: Retorna la fecha del sistema en formato dd/mm/aa, o dd/mm/aaaa. Cuando actúa como instrucción permite asignarle la fecha al sistema desde un string.

INKEY$: Lee un carácter (código ASCII) desde el teclado.

STRING$: Devuelve una cadena de longitud específica en la cual aparece un carácter o string repetido varias veces.

LCASE$ y UCASE$: Convierte una cadena en letras minúsculas o letras mayúsculas.

STR$: Convierte un valor numérico en cadena de caracteres.

VAL: Convierte una cadena de caracteres numéricos en un valor numérico.

ORDENACIÒN QUICK SORT EN:



Comentarios

Entradas populares de este blog

Portafolio de evidencias digital

LENGUAJE DE PROGAMACIÓN JAVA- SUBPROGRAMAS Y PARÁMETROS.

ALGORITMOS – BLOQUES CONDICIONALES