Você está na página 1de 5

Linguagem e Tcnicas de Programao I Pascal

Aula 8

MANIPULAO DE STRINGS O TIPO DE DADO STRING


As strings, como trechos de texto, so os tipos de dados mais familiares aos seres humanos. O Pascal padro no fornecia tipos de dados de String; tnhamos que utilizar apenas o tipo Char e, para trabalharmos com textos, devamos utilizar um array de Char. O Turbo Pascal, felizmente, oferece para os usurios o tipo de dado String. Embora este tipo seja considerado um array de Char, podemos ignorar este fato e utiliz-lo normalmente. Quando necessrio, podemos utiliz-lo como um array (por exemplo, usando os colchetes com um ndice para individualizar cada caracter do string). Observe o exemplo abaixo: S := 'ASPER'; write(s[4]); {ser exibida a letra E, correspondente a 4 letra da string S} O tamanho de um string pode variar entre 0 e 255 caracteres. Se na declarao de uma varivel string no especificarmos o tamanho mximo do string, ele assumir 255. Por exemplo: var S1 : string; S2 : string[10]; No exemplo acima, a varivel S1 pode conter at 255 caracteres, enquanto a varivel S2 pode conter no mximo 10 caracteres. Esse tamanho mximo ns denominamos de comprimento fsico do string, que o que determina o espao reservado para a varivel. Se na varivel S2 for armazenado um string de 4 caracteres, por exemplo, o comprimento fsico continua sendo de 10 caracteres, enquanto que o espao ocupado, no caso 4 caracteres, o que denominamos comprimento lgico do string. O comprimento lgico de um string pode variar conforme o valor recebido pela varivel durante o programa. Resumindo, temos ento que um string pode ter o seu comprimento fsico variando de 1 a 255 caracteres, e o seu comprimento lgico variando de 0 at o valor do comprimento fsico.

FUNES E PROCEDIMENTO PREDEFINIDOS


O Turbo Pascal dispe de algumas funes e procedimentos que visam em essncia, otimizao do trabalho do programador na parte que se refere utilizao de strings: LENGTH POS INSERT CHR UPCASE COPY VAL ORD CONCAT DELETE STR

Fatec Jahu

Pag: 1

Linguagem e Tcnicas de Programao I Pascal

Aula 8

LENGTH Funo que retorna o nmero de caracteres de uma string. Sua sintaxe : LENGTH (str : string) : byte; Exemplo: tam := length('TURBO PASCAL'); writeln (tam); {ser exibido o valor 12} UPCASE Funo que retorna o caractere contido no parmetro em maisculo. Sua sintaxe : UPCASE (ch : char) : char; Exemplo: letra := 'a'; maiusc := upcase (letra); writeln (maiusc); {ser exibida a letra 'A' (maiscula) } CONCAT Funo que retorna a unio de duas ou mais strings passadas como parmetros. Sua sintaxe : CONCAT (str1 , str2 , ... , strn : string) : string; Exemplo: pal1 := 'TURBO'; pal2 := 'PASCAL'; uniao := concat (pal1,' ',pal2); writeln (uniao); {ser exibido o string 'TURBO PASCAL'} A funo CONCAT tem efeito semelhante ao operador + (operador de concatenao). Exemplo: pal1 := 'TURBO'; pal2 := 'PASCAL'; uniao := pal1 + ' ' + pal2; writeln (uniao); {ser exibido o string 'TURBO PASCAL'} POS Funo que retorna a posio que uma substring ocupa dentro de uma string passadas como parmetro. Sua sintaxe : POS (substr , str : string) : byte; Exemplo: frase := 'VAMOS ESTUDAR MAIS'; pesq := 'ESTU'; posicao := pos (pesq,frase); writeln (posicao); {ser exibido o valor 7} COPY Funo que retorna uma substring de uma string passadas como parmetro, de acordo com sua posio e quantidade de caracteres especificados. Sua sintaxe : COPY (str:string; pos:byte; quant:byte) : string; Fatec Jahu Pag: 2

Linguagem e Tcnicas de Programao I Pascal

Aula 8

Exemplo: frase := 'VAMOS ESTUDAR MAIS'; pedaco := copy(frase,7,4); writeln (pedaco); {ser exibido o string 'ESTU'} DELETE Procedimento que exclui um pedao de uma string passada como parmetro, de acordo com uma posio e quantidade de caracteres especificados. Sua sintaxe : DELETE (var str:string; pos:byte; quant:byte); Exemplo: frase := 'TURBO PASCAL 7.0'; delete (frase,7,7); writeln (frase); {ser exibido o string 'TURBO 7.0'} INSERT Procedimento que permite inserir uma substring dentro de uma string, em uma posio especificada. Sua sintaxe : INSERT (substr:string; var str:string; pos:byte); Exemplo: frase := 'CURSO DE INFORMATICA'; insert ('MICRO',frase,10); writeln (frase); {ser exibido o string 'CURSO DE MICROINFORMATICA'} VAL Procedimento que converte uma string passada como parmetro para valor numrico. Caso o contedo da string no seja possvel de ser convertido, o fato ser informado em uma varivel de retorno de erro. Se o retorno de erro for diferente de 0 (zero), implica que houve um erro de converso, e este valor de retorno a posio onde ocorreu o primeiro erro. Sua sintaxe : VAL (str:string; var num:integer|real; var erro:integer); Exemplo 1: codigo := '017348'; val (codigo,numero,erro); writeln (numero); {ser exibido o valor 17348} writeln (erro); {ser exibido o valor 0} Exemplo 2: codigo := '12X345' val (codigo,numero,erro); writeln (erro) {ser exibido o valor 3} STR Procedimento que converte uma varivel numrica em um string, determinando o tamanho do string e a quantidade de casas decimais. Sua sintaxe : STR (num [:tam [:dec]]; var str:string); Exemplo: numero := 12.3; Fatec Jahu Pag: 3

Linguagem e Tcnicas de Programao I Pascal

Aula 8

str (numero:6:2,conv); writeln (conv); {ser exibido o string ' 12.30'} CHR Funo que retorna o caracter correspondente ao valor ASCII especificado. Sua sintaxe : CHR (codigo:byte) : char; Exemplo: codigo := 65; caracter := CHR(codigo); writeln (caracter); {ser exibido o caracter 'A'} ORD Funo que retorna o valor ASCII correspondente ao caracter especificado. Sua sintaxe : ORD (caracter:char) : byte; Exemplo: caracter := 'A'; codigo := ORD(caracter); writeln (codigo); {ser exibido 65}

Fatec Jahu

Pag: 4

Linguagem e Tcnicas de Programao I Pascal

Aula 8

ANEXO TABELA ASC II

Fatec Jahu

Pag: 5

Você também pode gostar