Subprogramas em Pascal: Manipulação de Strings e Letras

Tecnologia3,18 KB

Subprogramas em Pascal para Manipulação de Strings

1. Subprograma que receba uma string e uma letra e remova essa letra da string.

program strings;
function removerLetra(texto:string; letra:char):string;
var i:integer; resultado:string;
begin
  resultado := '';
  for i:=1 to length(texto) do
  begin
    if (texto[i] <> letra) then
    begin
      resultado := resultado + texto[i];
    end;
  end;
  i := 1;
  while (i <= length(texto)) do
  begin
    if (texto[i] <> letra) then
    begin
      resultado := resultado + texto[i];
    end;
    i := i + 1;
  end;
  removerLetra := resultado;
end;

2. Subprograma que substitui uma letra por outra na string

Receba uma string, search e replace, substituindo na string a letra search pela letra replace.

function trocarLetra(texto:string; search:char; replace:char):string;
var i:integer; resultado:string;
begin
  resultado := '';
  for i:=1 to length(texto) do
  begin
    if (texto[i] <> search) then
    begin
      resultado := resultado + texto[i];
    end else begin
      resultado := resultado + replace;
    end;
  end;
  trocarLetra := resultado;
end;

3. Subprograma que conta as ocorrências de uma letra

Receba uma string e uma letra e retorne quantas vezes a letra aparece na string.

function contarLetra(texto:string; letra:char):integer;
var i,qtd:integer;
begin
  qtd := 0;
  for i:=1 to length(texto) do
  begin
    if (texto[i] = letra) then
    begin
      //qtd := qtd + i;
      inc(qtd); //-> o mesmo que a linha de cima
    end;
  end;
  contarLetra := qtd;
end;

4. Subprograma que busca uma palavra em um texto

Receba duas strings (palavra e texto) e retorne a posição em que a primeira string aparece na segunda.

function buscarPalavra(palavra:string; texto:string):integer;
var i,j,k:integer;
begin
  buscarPalavra := 0;
  if (length(texto) >= length(palavra)) then
  begin
    for i:=1 to length(texto) do
    begin
      if (texto[i] = palavra[1]) then
      begin
        j := i+1;
        k := 2;
        while ((k <= length(palavra)) and
            (j <= length(texto)) and
            (texto[j] = palavra[k])) do
        begin
            inc(j);
            inc(k);
        end;
        if (k > length(palavra)) then
        begin
            buscarPalavra := i;
            break; //interrompe o laço mais próximo
        end;
      end;
    end;
  end;
end;

Baixar

PDF Word HTML