В заданном тексте найти первое и последнее слово, из полученных слов составить предложение - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Ваша программа должна в заданном тексте найти первое и последнее слово, из полученных слов составить предложение (слова разделить пробелом)

Решение задачи: «В заданном тексте найти первое и последнее слово, из полученных слов составить предложение»

textual
Листинг программы
type mass= array of string;
var     f: Text;
     s,s1: string;
    j,i,t: integer;
        A: mass;
begin
      Assign(f,'Text_in.txt'); Reset(f);
      s1:=''; t:=0;
       While not Eof(f) do begin
        Readln(f,s);
         for i:=1 to Length(s) do begin
          if s[i] in ['A'..'Z'] then
            s1:= s1+s[i]
            else
          if s[i] in ['a'..'z'] then
            s1:= s1+s[i]
            else
          if Length(s1)<>0 then begin
           Inc(t);
           s1:=''
          end;
         end;
        end;
       SetLength(A,t);
       Reset(f);
       s1:=''; j:=1;
       While not Eof(f) do begin
        Readln(f,s);
         for i:=1 to Length(s) do begin
          if s[i] in ['A'..'Z'] then
            s1:= s1+s[i]
            else
          if s[i] in ['a'..'z'] then
            s1:= s1+s[i]
            else
          if Length(s1)<>0 then begin
           A[j]:=s1;
           Inc(j);
           s1:=''
          end;
         end;
        end;
       Close(f);
       Writeln(A[1],' ',A[t]);
       A:=nil;
       Readln;
end.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • f: Text;
    • s,s1: string;
    • j,i,t: integer;
    • A: mass;
  2. Открывается файл 'Text_in.txt' для чтения (Assign(f,'Text_in.txt'); Reset(f);).
  3. Переменная s1 инициализируется пустой строкой, а переменная t устанавливается равной 0 (s1:=''; t:=0;).
  4. В цикле While не Eof(f) выполняется чтение строки из файла и её обработка.
  5. В каждой прочитанной строке ищутся буквы верхнего и нижнего регистра, которые добавляются в переменную s1.
  6. Если длина строки s1 не равна 0, то увеличивается значение переменной t и сбрасывается значение переменной s1.
  7. После окончания чтения файла, устанавливаются начальные значения для переменной s1 и счётчика j (s1:=''; j:=1;).
  8. В цикле While не Eof(f) выполняется чтение строки из файла и её обработка.
  9. В каждой прочитанной строке ищутся буквы верхнего и нижнего регистра, которые добавляются в переменную s1.
  10. Если длина строки s1 не равна 0, то добавляется значение переменной s1 в массив A и увеличивается значение счётчика j.
  11. После окончания чтения файла, закрывается файл (Close(f);).
  12. Выводится первое и последнее слово из массива A (Writeln(A[1],' ',A[t]);).
  13. Массив A очищается (A:=nil;).
  14. Вводится символ для подтверждения выполнения программы (Readln;).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы