Проверить сбалансированность скобок в тексте - PascalABC.NET

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

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

Проверить сбалансированность скобок в тексте(скобки сбалансированы,если закрывающая скобка расположена после соответствующей открывающей и их количества совпадают).

Решение задачи: «Проверить сбалансированность скобок в тексте»

textual
Листинг программы
begin
  var S := ReadLnString('Введите текст, содержащий скобки (),' + NewLine +
  'для проверки их сбалонсированности:');
  var P := 0; // Переменная для проверки баланса скобок
  var C := 0; // Просто для подсчёта количества скобок
  WriteLn;
  for var i := 1 to S.Length do
    case S[i] of
      '(' : begin // Скобка открвающая
              P += 1;
              C += 1;
            end;
      ')' : begin // Скобка закрывающая
              P -= 1;
              C += 1;
              if P < 0 then // Закрывающих скобок больше, чем открывающих
                begin
                  WriteLn('Скобки не сбалансированы: закрывающая скобка встречена раньше открывающей.');
                  Halt;
                end;
            end;
    end; // Прочие символы строки нам не интересны...
  if P > 0 then
    WriteLn('Скобки не сбалансированы: открывающих скобок больше закрывающих.')
  else if C = 0 then
    WriteLn('В ведённом тексте скобок не обнаружено.')
  else
    WriteLn('Скобки сбалансированы.');
end.

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

  1. Ввод текста с скобками в программу.
  2. Инициализация двух переменных: P и C.
  3. Переменная P используется для хранения количества открытых скобок, а переменная C - для подсчета общего количества скобок в тексте.
  4. Проверка каждого символа входной строки.
  5. Если символ является открывающей скобкой, то увеличиваются значения обеих переменных P и C.
  6. Если символ является закрывающей скобкой, то значение переменной P уменьшается на 1, а значение переменной C увеличивается на 1.
  7. Если значение переменной P становится отрицательным, то это означает, что закрывающих скобок больше, чем открывающих, и программа выводит соответствующее сообщение об ошибке.
  8. Если значение переменной P остается положительным, то после цикла проверяется значение переменной C.
  9. Если значение переменной C равно нулю, то это означает, что в введенном тексте скобок не обнаружено, и программа выводит соответствующее сообщение.
  10. Если значение переменной C больше нуля, то это означает, что скобки сбалансированы, и программа выводит соответствующее сообщение.

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


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

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

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