Está en la página 1de 11

Manejo de cadenas

de caracteres
<<
Cadena de caracteres
Es un tipo particular de vector que almacena caracteres.

Al igual que un vector sus celdas se pueden acceder en forma directa


mediante un subíndice.

CAD 4 H O L A

0 1 2 3 4 5 6 7

VAR
CAD: String[7];

CAD := 'HOLA'
Funciones y procedimientos
INICIALIZAR

Blanquea toda la cadena.

Ejemplo:

FILLCHAR(CAD, SIZEOF(CAD), #0);

CAD := '';
Funciones y procedimientos
CONCAT

Concatena varias cadenas. Su formato es


function concat(cad1 , cad2,..., cadN: string): string;

Ejemplo:

cad1 := 'HOLA';
cad2 := ' ';
cad3 := 'MUNDO';

CADENA := concat(cad1, cad2, cad3);

CADENA := cad1 + cad2 + cad3;

// CADENA: 'HOLA MUNDO'


Funciones y procedimientos
COPY

Devuelve una subcadena.


function copy(cad: string; posic: integer; cuantos: integer): string;

Ejemplo:

CAD := 'FIDEOS TALLARINES';


IF COPY(CAD, 3, 5) = 'DEOS ' ...
//daría TRUE
Funciones y procedimientos
DELETE

Borra una subcadena.


procedure delete(var cad: string; posic: integer; cuantos: integer);

Ejemplo:

CAD := 'FIDEOS TALLARINES';


DELETE (CAD, 1, 3);
// CAD: 'EOS TALLARINES'
Funciones y procedimientos
LENGTH

Devuelve la longitud de la cadena.


function length(cad: string): integer;

Ejemplo:

CAD := 'FIDEOS TALLARINES';


IF LENGTH(CAD) = 17 ... // daría
TRUE
FOR I := 1 TO LENGTH (CAD) DO ...
Funciones y procedimientos
INSERT

Introduce una subcadena dentro de una cadena.


procedure insert(subcad: string; var cad: string; posic: integer);

Ejemplo:

CAD := 'EOS TALLARINES';


insert('FID', CAD, 1);
// CAD: 'FIDEOS TALLARINES'
Funciones y procedimientos
POS

Devuelve la posición de la subcadena dentro de la cadena.


// busca la subcadena dentro de la cadena

function pos(subcad: string; cad: string): byte;


//Si no lo encuentra, devuelve 0.
Ejemplo:
CAD := 'FIDEOS TALLARINES';
SUBCAD := 'TALLARINES';
IF POS(SUBCAD, CAD) <> 0 ... // daría
TRUE
Ejemplo
Cadena de caracteres
program Ejemplo_cadena_de_caracteres;
{$CODEPAGE UTF8}

USES CRT;
VAR CAD: STRING;

FUNCTION CANT_VOCALES(CAD: STRING): BYTE;


VAR I, CANT: BYTE;
BEGIN
CANT := 0;
FOR I := 1 TO LENGTH(CAD) DO
IF CAD[I] IN ['A', 'E', 'I', 'O', 'U'] THEN
CANT := CANT+1;
CANT_VOCALES := CANT;
END;

begin
CLRSCR;
GOTOXY(45,10);
WRITE('Cadena: ');
READLN(CAD);
GOTOXY(45,12);
WRITE('Cantidad de vocales: ', CANT_VOCALES(CAD));
READKEY;
End.
Ejercicios
Cadena de Caracteres

TP 7 - Ejercicio 15
TP 7 - Ejercicio 16

También podría gustarte