Задать вопрос
14 августа, 22:01

Написать исходный код в Pascal-е.

Решить задачу по обработке строковых данных с использованием подпрограмм:

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

+5
Ответы (2)
  1. 14 августа, 22:39
    0
    Var

    str:string;

    i, n9, n0:integer;

    begin

    readln (str) ;

    for i:=1 to Length (str) do

    if str[i] = ' (' then

    n9 : = n9 + 1

    else

    if str[i] = ') ' then

    n0 : = n0 + 1;

    if n9 = n0 then

    writeln ('Число открывающихся скобок равно числу закрывающихся')

    else

    writeln ('Число открывающихся скобок не равно числу закрывающихся') ;

    end.
  2. 15 августа, 00:55
    0
    Есть простой способ подсчета парности скобок. Инициализируем счетчик нулем, а затем читаем строку. Если встречается открывающая скобка, в счетчик посылается + 1, если закрывающая, то - 1. После просмотра всей строки нулевое значение счетчика скажет нам о равенстве скобок, а ненулевое покажет количество лишних скобок. Каких именно - покажет знак.

    Попутно замечу, что подобные подсчеты не гарантирует проверки синтаксической правильности расстановки скобок, например, выражение) a+b (синтаксически неверно, но в нем "правильное" количество скобок.

    var

    i, k:integer;

    s:string;

    begin

    Write ('Введите строку: ') ; Readln (s) ;

    k:=0;

    for i:=1 to Length (s) do

    case s[i] of

    ' (':Inc (k) ;

    ') ':Dec (k)

    end;

    if k=0 then Writeln ('Скобки парные')

    else

    begin

    Write ('Обнаружено непарных ') ;

    if k>0 then Write ('открывающих') else Write ('закрывающих') ;

    Writeln (' скобок: ', abs (k))

    end

    end.

    Тестовое решение:

    Введите строку: (3*k+1 / (c-5) * a;

    Обнаружено непарных открывающих скобок: 1
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Написать исходный код в Pascal-е. Решить задачу по обработке строковых данных с использованием подпрограмм: В строке, среди знаков могут ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы