1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.8 Упр.21 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.8 Упр.21 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 21. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке и правильно ли они расставлены, т. е. для каждой открывающей скобки есть соответствующая закрывающая скобка. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-8/21 98

Подробный ответ

Для проверки скобок достаточно просмотреть строку слева направо и вести счётчик k:

  • если встречается (, увеличиваем k на 1;
  • если встречается ), уменьшаем k на 1.

Если в какой-то момент k < 0, значит закрывающая скобка встретилась раньше открывающей, и скобки расставлены неверно.

После просмотра всей строки:

  • если k = 0, скобки расставлены правильно;
  • если k > 0, есть лишние открывающие скобки;
  • если k < 0, есть лишние закрывающие скобки.

var s: string;
i, ps, k: integer;
begin
  write(‘Введите строку ‘);
  readln(s);
  k := 0;
  for i := 1 to length(s) do
    if s[i] = ‘(‘ then inc(k)
    else if s[i] = ‘)’ then dec(k);
  if k = 0 then writeln(‘Скобки расставлены правильно’)
  else if k = 1 then writeln(‘Лишняя открывающая скобка’)
  else if k > 1 then writeln(‘Лишние открывающие скобки’)
  else if k = -1 then writeln(‘Лишняя закрывающая скобка’)
  else writeln(‘Лишние закрывающие скобки’);
end.

Ответ

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



Общая оценка
3.9 / 5
Другие учебники
Другие предметы