Задать вопрос
16 декабря, 09:51

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

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

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

+1
Ответы (2)
  1. 16 декабря, 11:51
    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. 16 декабря, 12:39
    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)