Создайте программу на языке Паскаль, которая будет определять: является ли данная строка, введенная...

Тематика Информатика
Уровень 5 - 9 классы
Pascal программа палиндром строка пользовательский ввод тип Char функция Length
0

Создайте программу на языке Паскаль, которая будет определять: является ли данная строка, введенная пользователем, палиндромом. ( ТИП ОБЯЗАТЕЛЬНО CHAR) и использовать функцию Length. Срочно пожалуйста!

avatar
задан 14 дней назад

3 Ответа

0

Программа на языке Паскаль для определения является ли строка палиндромом:

program CheckPalindrome;

var
   str, reverseStr: string;
   i: integer;

begin
   writeln('Введите строку:');
   readln(str);
   
   reverseStr := '';
   for i := Length(str) downto 1 do
      reverseStr := reverseStr + str[i];
   
   if str = reverseStr then
      writeln('Данная строка является палиндромом')
   else
      writeln('Данная строка не является палиндромом');
end.

avatar
ответил 14 дней назад
0

Конечно, давайте разберемся, как можно создать программу на языке Паскаль, которая проверяет, является ли введенная пользователем строка палиндромом. Палиндром — это строка, которая читается одинаково слева направо и справа налево, например, "радар" или "топот".

Ниже приведен пример программы, которая выполняет эту задачу:

program CheckPalindrome;

uses
  SysUtils;

function IsPalindrome(s: string): boolean;
var
  i, len: Integer;
  isPalin: boolean;
begin
  len := Length(s);
  isPalin := True;
  
  for i := 1 to len div 2 do
  begin
    if s[i]  s[len - i + 1] then
    begin
      isPalin := False;
      Break;
    end;
  end;
  
  IsPalindrome := isPalin;
end;

var
  inputString: string;
begin
  Write('Введите строку: ');
  ReadLn(inputString);

  if IsPalindrome(inputString) then
    WriteLn('Строка является палиндромом.')
  else
    WriteLn('Строка не является палиндромом.');
end.

Объяснение кода:

  1. Подключение модуля SysUtils:

    • SysUtils используется для работы с строками и другими системными функциями.
  2. Функция IsPalindrome:

    • Принимает на вход строку s.
    • Вычисляет длину строки len с помощью функции Length.
    • Инициализирует переменную isPalin как True, предполагая, что строка является палиндромом.
    • Использует цикл for для проверки символов с начала и конца строки. Сравнивает символы, начиная с первого и последнего, второго и предпоследнего, и так далее.
    • Если находит несовпадающие символы, устанавливает isPalin в False и прерывает цикл Break.
    • Возвращает isPalin, которая будет True, если строка является палиндромом, и False, если нет.
  3. Основная программа:

    • Запрашивает у пользователя ввод строки.
    • Вызывает функцию IsPalindrome и выводит результат проверки.

Важные моменты:

  • В данной программе учитывается чувствительность к регистру. Если требуется игнорировать регистр, то перед проверкой нужно преобразовать строку к одному регистру (например, используя LowerCase из SysUtils).
  • Программа не учитывает пробелы и знаки препинания. Если нужно игнорировать их, требуется добавить дополнительную обработку строки перед проверкой.

Эта программа демонстрирует основной подход к проверке палиндромов на языке Паскаль, используя тип CHAR и функцию Length для работы со строками.

avatar
ответил 14 дней назад
0

Программа на языке Паскаль, которая определяет, является ли введенная пользователем строка палиндромом:

program Palindrome;

var
  inputString: string;
  i, length: integer;
  isPalindrome: boolean;

function isCharEqual(c1, c2: char): boolean;
begin
  if c1 = c2 then
    isCharEqual := true
  else
    isCharEqual := false;
end;

begin
  isPalindrome := true;
  
  write('Введите строку: ');
  readln(inputString);
  
  length := Length(inputString);
  
  for i := 1 to length div 2 do
  begin
    if not isCharEqual(inputString[i], inputString[length - i + 1]) then
    begin
      isPalindrome := false;
      break;
    end;
  end;
  
  if isPalindrome then
    writeln('Данная строка является палиндромом')
  else
    writeln('Данная строка не является палиндромом');
end.

Программа принимает строку от пользователя, затем сравнивает символы с обоих концов строки, чтобы определить, является ли строка палиндромом.

avatar
ответил 14 дней назад

Ваш ответ

Вопросы по теме