М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sashaopalko123
sashaopalko123
27.01.2022 02:42 •  Информатика

Написать исходный код в pascal-е. решить по обработке строковых данных с использованием подпрограмм: в строке, среди знаков могут встречаться открывающие и закрывающие скобки. проверить с подпрограммы равенство числа открывающихся скобок числу закрывающихся.

👇
Ответ:
тузель
тузель
27.01.2022
Есть простой подсчета парности скобок. Инициализируем счетчик нулем, а затем читаем строку. Если встречается открывающая скобка, в счетчик посылается +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
4,7(15 оценок)
Ответ:
zemairen
zemairen
27.01.2022
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.
4,8(61 оценок)
Открыть все ответы
Ответ:
khabarovanastya
khabarovanastya
27.01.2022
Для выбора водящего в детской игре N человек становятся в круг, после чего произносится считалка. На первом слове считалки указывается на первого человека в кругу, на втором слове – на второго человека и т. д. После N-го человека снова идёт первый человек (все люди в кругу пронумерованы числами от 1 до N, круг зацикливается, после человека с номером N идёт человек с номером 1). Всего в считалке M слов. Определите, на какого человека придётся последнее слово считалки. Программа получает на вход два целых положительных числа. Первое число N – количество людей в кругу. Второе число M – количество слов в считалке. Оба числа не превосходят 109 . Программа должна вывести одно целое число от 1 до N – номер человека в кругу на которого придётся последнее слово считалки.

var N,k,f,M: longint;beginwriteln ('ВВЕДИТЕ КОЛ-ВО ЛЮДЕЙ В ИГРЕ: ');read(N);writeln('ВВЕДИТЕ КОЛ-ВО СЛОВ: ');read(M);K:=M div N ;F:=M-K*N;if f=0 then write ('НОМЕР ЧЕЛОВЕКА, НА КОТОРОГО ПРИДЕТСЯ ПОСЛЕДНЕЕ СЛОВО  >>  ',N) elsewrite('НОМЕР ЧЕЛОВЕКА, НА КОТОРОГО ПРИДЕТСЯ ПОСЛЕДНЕЕ СЛОВО  >>  ',F);end.                                                                   
4,6(66 оценок)
Ответ:
SForest
SForest
27.01.2022
Для выбора водящего в детской игре N человек становятся в круг, после чего произносится считалка. На первом слове считалки указывается на первого человека в кругу, на втором слове – на второго человека и т. д. После N-го человека снова идёт первый человек (все люди в кругу пронумерованы числами от 1 до N, круг зацикливается, после человека с номером N идёт человек с номером 1). Всего в считалке M слов. Определите, на какого человека придётся последнее слово считалки. Программа получает на вход два целых положительных числа. Первое число N – количество людей в кругу. Второе число M – количество слов в считалке. Оба числа не превосходят 109 . Программа должна вывести одно целое число от 1 до N – номер человека в кругу на которого придётся последнее слово считалки.

var N,k,f,M: longint;beginwriteln ('ВВЕДИТЕ КОЛ-ВО ЛЮДЕЙ В ИГРЕ: ');read(N);writeln('ВВЕДИТЕ КОЛ-ВО СЛОВ: ');read(M);K:=M div N ;F:=M-K*N;if f=0 then write ('НОМЕР ЧЕЛОВЕКА, НА КОТОРОГО ПРИДЕТСЯ ПОСЛЕДНЕЕ СЛОВО  >>  ',N) elsewrite('НОМЕР ЧЕЛОВЕКА, НА КОТОРОГО ПРИДЕТСЯ ПОСЛЕДНЕЕ СЛОВО  >>  ',F);end.                                                                   
4,6(48 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ