Нахождение палиндромов строки и запись в файл - Turbo Pascal

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

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

Вот как говорится человек практик, теории в голове ноль. это задача по нахождению палиндромов и записи в файл. вот до включительно цикла while знаю что программа делает, а вот после объяснить не могу. помогите плиз. вот программа -
да ещё блок схема нужна

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

textual
Листинг программы
while not eof(f) do //пока не конец файла
      begin
      readln(f,s);//читаем строки
      b:=true;//считаем что палиндром
      d:=length(s); //длина строки
      l:=d div 2;//середина строки
           for i:=1 to l do //смотрим символы первой половины
               if s[i]<>s[d+1-i] then b:=false;//если не совпадают с символом
                                               //симметричным от конца, меняем флаг
               if b=true then//если все совпадают
               begin
                    writeln (s,' palindrom'); //выводим да на экран
                    writeln(f1,s,' palindrom'); //и в файл
               end
               else //если нет, выводим нет
               begin
                    writeln(f1,s,' ne palindrom');
                    writeln(s,' ne palindrom');
               end;
      end;

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

В данном коде используется язык программирования Turbo Pascal. Он читает строки из файла и проверяет их на палиндромность.

  1. while not eof(f) — цикл, который выполняется до конца файла.
  2. begin — блок кода, который выполняется при успешном чтении строки из файла.
  3. readln(f,s) — функция, которая считывает строку из файла и сохраняет ее в переменной s.
  4. b := true; — установка флага b в значение true, предполагая, что строка является палиндромом.
  5. d := length(s); — определение переменной d как длины строки.
  6. l := d div 2; — определение переменной l как половины длины строки.
  7. for i := 1 to l do — цикл, который проверяет символы первой половины строки.
  8. if s[i] <> s[d+1-i] then b := false;— проверка символов на равенство. Если символы не совпадают, флагbустанавливается в значениеfalse`.
  9. if b = true then — проверка, является ли строка палиндромом.
  10. begin — блок кода, который выполняется при условии, что строка является палиндромом.
  11. writeln (s, ' palindrom'); — запись строки в файл и на экран.
  12. writeln(f1,s,' palindrom'); — запись строки в файл f1.
  13. else — блок кода, который выполется при условии, что строка не является палиндромом.
  14. begin — блок кода, который выполняется при условии, что строка не является палиндромом.
  15. writeln(f1,s,' ne palindrom'); — запись строки в файл f1.
  16. writeln(s,' ne palindrom'); — запись строки на экран.

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


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

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

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