Системное программирование в UNIX средствами Free Pascal


         

Составьте программу, преобразующую текст, состоящий


  while (pos(' ',s)>0) do

    begin

      tmp:=' '+copy(s,1,pos(' ',s)-1)+tmp;

      delete(s,1,pos(' ',s));

    end;

  tmp:=s+tmp;

  revstr:=tmp;

end;

begin

  if paramcount<2 then

    begin

      writeln('Error: wrong arguments');

      writeln('format: 10 <fileinp> <fileout>');

      Halt(1);

    end;

  Assign(F1,paramstr(1));

  Reset(F1);

  Assign(F2,paramstr(2));

  Rewrite(F2);

  while not(eof(F1)) do

    begin

      readln(F1,tmpstr);

      writeln(F2,revstr(tmpstr));

    end;

  close(F2);

  close(F1);

end.

Упражнение 13.18. Составьте программу, преобразующую текст, состоящий только из строчных букв в текст, состоящий из прописных и строчных букв. Первая буква и буква после каждой точки – прописные, остальные – строчные.

program check_gram;

var

  F1,F2:text;

  Temp:string;

  Dot:boolean;

  i:byte;

begin

  Dot:=true;

  if paramcount<>2 then halt(1);

  assign(F1,paramstr(1));

  reset(F1);

  assign(F2,paramstr(2));

  rewrite(F2);

  while not(eof(F1)) do

    begin

      readln(F1,Temp);

      for i:=1 to ord(Temp[0]) do

        begin

          if (Temp[i] in ['A'..'Z','a'..'z'])and Dot then

            begin

              Dot:=false;

              if Temp[i] in ['a'..'z'] then Temp[i]:=chr(ord(Temp[i])-ord('a')+ord('A'))

            end

          else if (Temp[i] in ['.','!','?']) then Dot:=true

        end;

      writeln(F2,Temp);

    end;

  close(F2);

  close(F1);

end.

Упражнение 13.19. Напишите программу, которая печатает слова из своего файла ввода, расположенные в порядке убывания частоты их появления. Перед каждым словом напечатайте число частоты его появления.

program sortedlist;

type

  TRec = record

          wrd:string[40];

          num:word;

        end;

var

  List:array [1..1400] of TRec;

  F:text;

  stroka:string;

  nump:byte;

  i,j:word;

  max:word;

  Temp:TRec;

procedure checkadd(sm:string);

var

  x:word;

  T:boolean;

begin

  T:=true;


Содержание  Назад  Вперед