Modularização
Strings
DEF.: Tipo especial de vetor que hora se comporta como variável composta, hora se comporta como variável simples.
Sintaxe de declaração: Var_srt : string; ou var_srt : string[dim];
Ex: s1,s2 : string; (até 256 caracteres) a,b : string[100]; (até 100 caracteres)
Uma string se comporta como variável simples quando conseguimos preenchê-la ou escrevê-la com um simples readln ou writeln.
Ex: var
...
S : string;
...
Readln(s);
...
A mesma string se comporta como um vetor quando permite que acessemos cada um de seus caracteres através de índices.
Ex: ... var x : string; ... X:= ‘abcde’; Write(x[1]..x[3]); ... ‘a’ ‘c’
Funções de manipulação
O pascal disponibiliza uma série de funções que ajudam na manipulação das strings:
1) Length: conta o numero de caracteres de uma string. Sintaxe: num.carac:= lenght(var_str)
Ex: .... Var S : string; T : integer;
...
Readln(s); T:=length(s); Write(‘num. de caracteres:’, t);
2) Operador +: permite que duas ou mais strings sejam concatenadas. Sintaxe: var_str:= s1+s2+..+Sn
Ex: ... Var s1,s2,s3 : string; ... s1:=’ab’; s2:=’cd’; s3:=s1+s2+’e’; [s3:=’abcde’]
3) Copy: copia parte de uma string. Sintaxe: str_dest:=copy(str_orig,ini,tam)
Ex: ... Var s1,s2 : string; ... s1:= ‘abcde’; s2:= copy(s1,3,2); [s2:=’cd’]
4) Delete: apaga uma parte de uma string. Sintaxe: delete(var_str,ini,tam)
Ex: ... Var S: string; ... S:= ‘abcde’; Delete(s,2,3); [s=’ae’] ...
5) insert: insere uma string dentro de outra. Sintaxe: insert(str_orig,str_des,pos);
Ex: ... Var S:string; ... S:=’ae’; Insert(‘bcd’,s,2); [s=’abcde’]
6)Pos: verifica se uma