Программа не доходит до процедуры ClrAll при правильном вводе данных. В чём может быть ошибка? - PascalABC.NET
Формулировка задачи:
Программа не доходит до процедуры ClrAll при правильном вводе данных. В чём может быть ошибка?
Решение задачи: «Программа не доходит до процедуры ClrAll при правильном вводе данных. В чём может быть ошибка?»
textual
Листинг программы
Uses crt; procedure ClrAll(A: Array of String); begin SetLength(A, 0); ClrScr; end; begin Var A: array of string; //В PABC.NET есть возможность делать локальные переменные, у вас все обрабатывается внутри main-метода, смысла Command в глобальных переменных нет while true do begin var Command := ReadlnString('>>'); //Эта функция тоже должна вам быть известна if not (Command[1] = '/') then begin Writeln('Excepted slash, but ' + Command[1] + ' met'); continue; //Про это читайте в справке, переходит на новую итерацию цикла end; Command := Command[2:]; //Зачем ваш цикл, если есть, например Copy. Срез вообще хорошо подойдет (про него читайте в справке) case Command of //Если у Вас много команд, то лучше так. 'clrall': ClrAll(A); else Writeln('Unknown command: ' + Command); end; end; end.
Объяснение кода листинга программы
- Описание процедуры
ClrAll
, которая принимает массив строк и очищает его, устанавливая его длину в 0. - Объявление глобальной переменной
A
типа массив строк. - Бесконечный цикл, который продолжается до тех пор, пока пользователь не введет команду '/'.
- Если введенная команда не начинается со знака '/', выводится сообщение об ошибке.
- Введенная команда обрезается, чтобы убрать знак '/'.
- В зависимости от введенной команды выполняется соответствующая операция:
- Если команда 'clrall', вызывается процедура
ClrAll
с аргументомA
. - Если команда не распознана, выводится сообщение об ошибке.
- Если команда 'clrall', вызывается процедура
- Код не содержит обработки ошибок, кроме проверки на знак '/' в начале команды.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д