tecno

lunes, 5 de octubre de 2015

CARACTERES Y CADENAS DE CARACTERES EN PROGRAMACIÓN

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í: 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.

No hay comentarios:

Publicar un comentario