Задать вопрос
10 мая, 09:02

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

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

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

+5
Ответы (2)
  1. 10 мая, 09:42
    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. 10 мая, 10:44
    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-е. Решить задачу по обработке строковых данных с использованием подпрограмм: В строке, среди знаков могут ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
составить программу, которая считает в формуле, заданной с клавиатуры, количество открывающихся и закрывающихся круглых скобок
Ответы (1)
Задачу решить двумя способами: с использованием подпрограммы-функции и подпрограммы-процедуры. Обязательно построение блок-схем алгоритмов! 1. Треугольник задан координатами своих вершин.
Ответы (1)
Здравствуйте. Помогите решить эту задачу в Pascal: Найти минимальный среди максимальных элементов каждого из столбцов матриц С (5,10) и D (10,20). Задачу решить с использованием подпрограммы.
Ответы (1)
1. какой тип данных могут иметь аргументы и возвращаемые значения математических функций 2. какой тип данных могут иметь аргументы и возвращаемые значения строковых функций 3.
Ответы (1)
Задание 5 Вопрос: При помощи чего записываются вспомогательные алгоритмы на языке Паскаль? Выберите один из 4 вариантов ответа: 1) Тесты 2) Подзадачи 3) Подпрограммы 4) Подкоманды Задание 6 Вопрос: Какие существуют подпрограммы в языке Паскаль?
Ответы (1)