.: Men� :.

Made in Ecuador
:: Home :.
:: Programaci�n :.
 Introducci�n
 Soluci�n de un problema
 Objetivos de la Programaci�n
 Herramientas para Programar
 Programaci�n Estructurda
 Otras T�cnicas
:: Principiante :.
 �Que es Turbo Pascal?
 Estructura de un programa
 Declaraci�n de Variables
 Definici�n de Tipos
 Operadores
 Expresiones
 Instrucciones
 Procedimientos Entrada/Salida
 Mi primer Programa
 Ejercicios Propuestos
:: Medio :.
:: Estructuras de Control :.
   :: Selecci�n :.
 If...Then...Else
 Case...of...Else
   :: Bucles :.
 While...Do
 Repeat...Until
 For...to...Do
:: Tipos Estructurados :.
 Cadenas
 Vectores
 Matrices
 Registros
 Ejercicios Propuestos
:: Avanzado :.
 Archivos
 Punteros
 Modo Grafico
 Modo Print
 Ejercicios Propuestos
:: Experto :.
 Librerias
 Compiladores
 Manejo de Puertos LPT
 Base de Datos en Codigo
 Ejercicios Propuestos
:: Varios :.
 Codigo Fuente
 Resultado Ejercicios Propuestos
 Autor Pagina Web

Enviame un e-mail



Cadenas (String)

Turbo Pascal proporciona el tipo string para el procesamiento de cadenas (secuencias de caracteres ). La definici�n de un tipo string debe especificar el n�mero m�ximo de caracteres que puede contener, esto es, la m�xima longitud para las cadenas de ese tipo. La longitud se especif�ca por una constante entera en el rango de 1 a 255. El formato para definir un tipo string es : = string [limite_superior]; Las variables de cadena se declaran en la secci�n Var o Type. Declaraci�n en Var: Var nombre : string[30]; domicilio : string[30]; ciudad : string[40]; Declaraci�n en Type: Type cad30 : string[30]; cad40 : string[40]; Var nombre : cad30; domicilio : cad30; ciudad : cad40; Una Vez declaradas las variables se pueden realizar asignaciones u operaciones de lectura/escritura. nombre := 'Egrid Lorely Castro Gonzalez' ; domicilio := 'Altamirano #220'; ciudad := 'La Paz B.C.S.'; El contenido de la cadena se debe encerrar entre ap�strofes. Si se desea que figure un ap�strofe en una cadena, es preciso doblarlo en la cadena. Los procedimientos de Entrada/Salida son de la siguiente forma : ReadLn (nombre); WriteLn('Hola ',nombre); Longitud de una cadena Las variables de tipo cadena pueden ocupar la m�xima longitud definida, m�s un octeto que contiene la longitud actual de la variable. Los caracteres que forman la cadena son numerados desde 1 hasta la longitud de la cadena. Ejemplo: Var nombre : string[10]; begin nombre := 'Susana'; end.

Obs�rvese que el primer byte no es el car�cter '6' si no el n�mero 6 en binario (0000 0110) y los �ltimos bytes de la cadena hasta 10 (7-10) contienen datos aleatorios. Una cadena en Turbo Pascal tiene dos longitudes : Longitud f�sica : Es la cantidad de memoria que ocupa realmente, est� se establece en tiempo de compilaci�n y nunca cambia Longitud l�gica : Es el n�mero de caracteres almacenados actualmente en la varible cadena. Este dato puede cambiar durante la ejecuci�n del programa. Es posible acceder a posiciones individuales dentro de una variable cadena, mediante la utilizaci�n de corchetes que dentro de ellos se especif�ca el n�mero indice dentro de la cadena a utilizar as� para el ejemplo anterior se tiene : nombre[1] ==> 'S' nombre[2] ==> 'u' nombre[3] ==> 's' nombre[4] ==> 'a' nombre[5] ==> 'n' nombre[6] ==> 'a' Operaciones entre cadenas Las operciones b�sicas entre cadenas son : asignaci�n, comparaci�n y concatenaci�n. Es posible asignar una cadena a otra cadena, incluso aunque sea de longitud f�sica m�s peque�a en cuyo caso ocurrir�a un truncamiento de la cadena. Ejemplo: Var nombre : String[21]; . . . nombre := 'Instituto Tecnol�gico de La Paz'; El resultado de la asignaci�n en la variable nombre ser� la cadena 'Instituto Tecnol�gico'. Las comparaciones de las cadenas de caracteres se hacen seg�n el orden de los caracteres en el c�digo ASCII y con los operadores de relaci�n. '0' < '1' '2' > '1' 'A' < 'B' 'm' > 'l' Reglas de comparaci�n de cadenas Las dos cadenas se comparan de izquierda a derecha hasta que se encuentran dos caracteres diferentes. El orden de las dos cadenas es el que corresponde al orden de los dos caracteres diferentes. Si las dos cadenas son iguales pero una de ella es m�s corta que la otra, entonces la m�s corta es menor que la m�s larga. Ejemplo : 'Alex' > 'Alas' {puesto que 'e' > 'a'} 'ADAN' < 'adan' {puesto que 'A' < 'a'} 'Damian' < 'Damiana' {'Damian' tiene menos caracteres que 'Damiana'} 'El gato' < 'Los gatos' {puesto que (blanco) < 's'} Otra operaci�n b�sica es la concatenaci�n. La concatenaci�n es un proceso de combinar dos o m�s cadenas en una sola cadena. El signo + se puede usar para concatenar cadenas ( al igual que la funci�n concat ), debiendo cuidarse que la longitud del resultado no sea mayor que 255. Ejemplos : 'INSTITUTO '+'TECNOLOGICO'='INSTITUTO TECNOLOGICO' 'CONTAB'+'.'+'PAS'= 'CONTAB.PAS' Se puede asignar el valor de una expresi�n de cadena a una variable cadena, por ejemplo : fecha := 'lunes'; y utilizar la variable fecha en : frase:='El pr�ximo '+fecha+' inician las clases'; Si la longitud m�xima de una cadena es excedida, se pierden los caracteres sobrantes a la derecha. Por ejemplo, si fecha hubiera sido declarada del tipo string[7], despu�s de la asignaci�n contendr�a los siete primeros caracteres de la izquierda (CENTENA). PROCEDIMIENTOS Y FUNCIONES DE CADENA INTERNOS Turbo Pascal incorpora las siguientes funciones y procedimientos para el tratamiento de cadenas. Procedimientos y funciones de cadena Procedimiento Funci�n Delete Concat Insert Copy Str Length Val Pos Procedimiento Delete Delete borra o elimina una subcadena de una cadena contenida en otra cadena de mayor longitud. Formato : Delete (s, posici�n, n�mero) S Cadena original o fuente Posici�n Expresi�n entera que indica la posici�n del primer car�cter a suprimir. N�mero Cantidad de caracteres a suprimir. Si posici�n es mayor que la longitud de la cadena, no se borra ning�n car�cter. Si n�mero especif�ca m�s caracteres que los existentes desde la posici�n inicial hasta el final de la cadena, s�lo se borran tantos caracteres como est�n en la cadena. Ejemplo : Cad := 'Tecnol�gico' Delete(cad,1,5) Resulta la cadena 'l�gico' Procemiento Insert Insert inserta una subcadena en una cadena. Formato : Insert (cad1, s, posici�n) cad1 cadena a insertar s cadena donde se inserta posici�n car�cter a partir del cual se inserta Ejemplo: cad:= 'M�xico ' Insert (' lindo y querido',cad,7) Resulta 'M�xico lindo y querido' Procedimiento Str Este procedimiento efect�a la conversi�n de un valor n�merico en una cadena. Formato : Str (valor,s) Valor expres�on n�merica s cadena Ejemplos : Numero := 235.55; Str(Numero,cadena); Write(cadena); Resulta la cadena '2.355000000E+02' Numero := 12345; Str(Numero,cadena); Write(cadena); Resulta la cadena '12345' Numero := 12345; Str(Numero+1000:10,cadena); Write(cadena); Resulta la cadena ' 13345' Procedimiento Val Este procedimiento convierte una cadena en variable n�merica. Para que esta conversi�n sea efectiva, el contenido de la cadena de caracteres debe corresponderse a las reglas de escritura de n�meros: no debe de existir ning�n blanco en la primera o �ltima posici�n. Formato: Val (S, variable, c�digo) S cadena Variable variable de tipo entero o real c�digo si la conversi�n ha podido ser efectuada toma el valor cero; en caso contrario contiene la primera posici�n del primer car�cter de la cadena S que impide la conversi�n y en ese caso variable no queda definida Ejemplo: Var cad : string[10]; num1,codigo : integer; num2 : real; begin cad:='22.25'; Val(cad,num2,codigo); if codigo=0 then WriteLn(num2:2:2) {Produce 22.25} else WriteLn(codigo); cad:='12x45'; Val(cad,num1,codigo); if codigo=0 then WriteLn(num1) else WriteLn(codigo) {Produce 3} end. Funci�n Concat Adem�s del uso de '+' para la concatenaci�n, Turbo Pascal tiene la funci�n concat que permite concatenar una secuencia de caracteres. Formato: Concat (S1,S2,...,Sn) S1,S2...cadenas o variables de caracteres (expresi�n tipo cadena) Ejemplo : Var cad1,cad2 : string[20]; destino : string[50]; begin cad1:='Hola como '; cad2:='Estas '; destino:=Concat(cad1,cad2,', estoy bien') end. Esto produce una cadena destino igual a 'Hola como estas, estoy bien' Funci�n Copy Esta funci�n devuelve una cadena de caracteres (subcadena) extra�da de una cadena. Formato: Copy(s,posici�n,n�mero) s cadena (fuente) posici�n primer car�cter a extraer (tipo entero) n�mero total de caracteres a extraer (tipo entero) Si posici�n es mayor que la longitud de S, se devuelve una cadena vac�a; si n�mero especif�ca m�s caracteres que los indicados desde posici�n, s�lo se devuelve el resto de la cadena. Ejemplo: cad := 'Instituto Tecnol�gico de La Paz'; cad2 := Copy(cad,26,6); Write(cad2); Lo que produce la cadena 'La Paz' contenida en cad2. Funci�n Lenght (longitud) La funci�n Lenght proporciona la longitud l�gica de una cadena de caracteres y devuelve un valor entero. Formato : Length (s) s expresi�n tipo cadena Ejemplo : Var cad : string[20]; begin cad:='Hola'; WriteLn(Length ('Hola como estas')); {devuelve el valor 15} WriteLn(Length ('')); {devuelve cero (cadena vac�a)} WriteLn(Length (cad)); {devuelve el valor 4} WriteLn(Ord(cad[0])) {devuelve el valor 4} end. Funci�n Pos Esta funci�n permite determinar si una cadena est� contenida en otra. En este caso, la funci�n devuelve la posici�n donde comienza la cadena buscada en la cadena fuente, si la cadena no existe, se devuelve el resultado 0. Formato : Pos (cadena buscada, cadena fuente) Ejemplo: cad:= 'uno dos tres cuatro cinco seis'; WriteLn(Pos('dos',cad)); {Resulta 5 que es la posici�n de 'd'} WriteLn(Pos('ocho',cad)); {Resulta 0 no existe la cadena 'ocho'}

CopyRight© 2003/2004, Diego Castillo. Todos los Derechos Reservados
Catamayo - Loja - Ecuador | Resoluci�n Minima 800x600
Estadisticas

Hosted by www.Geocities.ws

1