Файл: Проверить корректность расстановки скобок в арифметическом выражении - Pascal ABC
Формулировка задачи:
Помогите написать задачу!!!
Проверить корректность расстановки скобок в арифметическом выражении. Выражение задается из файла "input.txt" и может содержать произвольное количество круглых скобок. Программа должна выдать одну строчку: "правильно" или "неправильно".
Заранее спасибо!!!
Решение задачи: «Файл: Проверить корректность расстановки скобок в арифметическом выражении»
textual
Листинг программы
function balance(s: string): boolean;{Cyborg Drone ©} var i, n: integer; begin n := 0; for i := 1 to length(s) do begin if s[i] = '(' then inc(n) else if s[i] = ')' then dec(n); if n < 0 then break end; balance := n = 0 end; var s: string;f:text; begin assign(f,'input.txt'); reset(f); readln(f,s); writeln(s); writeln('Balance: ', balance(s)); close(f); end.
Объяснение кода листинга программы
- Создается функция balance, которая принимает строку s в качестве аргумента и возвращает логическое значение true, если скобки в арифметическом выражении расставлены корректно, и false в противном случае.
- В функции объявляются две переменные: i и n. Переменная i инициализируется значением 1, а переменная n - значением 0.
- Затем происходит цикл for, который выполняется от 1 до длины строки s.
- Внутри цикла проверяется каждый символ в строке s.
- Если символ равен '(', то значение переменной n увеличивается на 1.
- Если символ равен ')', то значение переменной n уменьшается на 1.
- Если значение переменной n меньше 0, то цикл прерывается.
- По окончании цикла, функция balance возвращает логическое значение true, если все скобки расставлены корректно, и false в противном случае.
- Создается переменная s типа string и присваивается значение 'input.txt'.
- Открывается файл с именем 'input.txt' для чтения.
- Считывается строка из файла в переменную s.
- Выводится строка s.
- Выводится сообщение 'Balance: ', и вызывается функция balance, передавая ей строку s в качестве аргумента.
- Закрывается файл с именем 'input.txt'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д