Дан файл содержащий произвольный текст. Определить правильно ли в нем расставлены скобки - Turbo Pascal
Формулировка задачи:
Дан файл содержащий произвольный текст. Определить правильно ли в нем расставлены скобки. (количество "("=количеству ")" )
Решение задачи: «Дан файл содержащий произвольный текст. Определить правильно ли в нем расставлены скобки»
textual
Листинг программы
Var f:text; i,k:integer; s:string; Begin Assign(f,'in.txt');Reset(f); While not Eof(f) do Begin readln(f,s); For i:=1 to Length(s) do if s[i]='(' then inc(k) else if s[i]=')' then dec(k); End; if k=0 then writeln('Правильно') else if k>0 then writeln('Не хватает ',k,' "("') else writeln('Не хватает ',-k,' ")"'); Close(f); readln; End.
Объяснение кода листинга программы
- В начале объявляются переменные: f - тип text, i и k - типы integer, s - тип string.
- Затем устанавливается значение переменной f равным 'in.txt'.
- Запускается цикл While, который будет выполняться до тех пор, пока не будет достигнут конец файла (Eof(f) равно False).
- Внутри цикла считывается строка из файла в переменную s с помощью функции readln(f,s).
- Далее идет цикл For, который выполняется от 1 до Length(s) (длина строки s).
- Внутри цикла проверяется каждый символ строки s.
- Если символ равен '(' (первый символ в строке), то значение переменной k увеличивается на 1.
- Если символ равен ')', то значение переменной k уменьшается на 1.
- После завершения внутреннего цикла For, выполняется проверка значения переменной k.
- Если k равно 0, то выводится строка 'Правильно'.
- Если k больше 0, выводится строка 'Не хватает ',k,' `('.
- Если k меньше 0, выводится строка 'Не хватает ',-k,'
)
'. - После закрытия файла f с помощью функции Close(f), выполняется вызов функции readln. Этот код проверяет файл на наличие скобок. Если все скобки расставлены правильно, выводится 'Правильно'. Если скобок не хватает, выводится сообщение о нехватке скобок в определенном количестве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д