Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posobie.doc
Скачиваний:
27
Добавлен:
31.03.2015
Размер:
1.43 Mб
Скачать

3.3. Использование параметров в Паскаль-программах

● Любая программа, запускаемая на выполнение, должна представлять собой выполняемый файл(.exe-файл). В средах турбо-Паскаля такой файл получается в результате компиляции (точнее - компиляции и редактирования связей) главной программы (program). Для операционной системы такие файлы, наряду с .com-файлами и .bat-файлами, являютсякомандами.

Любая команда может иметь параметры, которые передаются в программу, соответствующую команде, при запуске последней. Способ задания параметров зависит от системы. Например, вMS DOSкоманда набирается в командной строке в виде:

<команда> <список параметров, разделенных пробелами>

Для стандартных команд смысл параметров оговорен при описании команд. Для .exe-файлов, соответствующих пользовательским программам, смысл параметров и способ их обработки в программе определяется пользователем-программистом.

● В турбо-Паскале педусмотрены две стандартные функции для работы с параметрами (функции модуля DOS):

function paramcount:word;- возвращает (передает в программу) число параметров;

function paramstr(<№ параметра>:word):string;- возвращает значение параметра с заданным номером.

Параметры нумеруются, начиная с единицы.

Операционная система также всегда передает программе полное имя файла, где эта программа находится. Строка–значение этого имени передается как paramstr(0). Этот параметр не входит в общее число параметров.

В программе, использующей параметры, все параметры трактуются как отдельные строки (тип string).

Обработка программы с параметрами:

а) в турбо-среде:

  • откомпилировать программу согласно инструкции;

  • задать через пробелы параметры в секции RUN/PARAMETERS;

  • запустить программу: RUN/RUN;

б) вне турбо-среды, в среде MS DOS:

  • откомпилировать программу с сохранением на диске .exe-файла согласно инструкции;

  • запустить на выполнение этот .exe-файл командой MS DOS с параметрами:

<имя .exe-файла> <список параметров>

Пример

 Пусть программа должна быть запущена несколько раз с разными входными данными; при этом:

  • данные хранятся в файлах на диске;

  • текст программы от запуска к запуску менять не следует;

  • входные файлы также не должны изменяться.

Пусть результаты каждого запуска также должны быть сохранены в отдельных файлах.

Как было сказано выше, такая организация программы удобна при многократном запуске программы с разными заранее подготовленными данными, например, при тестировании программы на нескольких тестах. Тогда целесообразно задавать имена файлов как параметры при каждом запуске программы, а в тексте программы, в операторах назначения файлов assign, использовать обращение к функцииparamstrвместо конкретных имен файлов.

Так, наша программа «Точки в круге» тестируется на двух тестах.

Пусть имя входного файла - 1-й параметр, имя выходного файла - 2-й параметр программы.

Файлы с тестовыми данными названы выше следующим образом:

points1.dat- файл входных данных для первого теста,

points1.res- файл выходных данных для первого теста,

points2.dat- файл входных данных для второго теста,

points2.res- файл выходных данных для второго теста.

Пусть prog.pas– файл с текстом программы, тогдаprog.exe–соответствующий .exe-файл.

В текст программы надо внести очень незначительные изменения: заменить в операторах назначения конкретные имена файлов обращениями к функции paramstr. Эти операторы приобретут универсальный вид:

assign(dat, paramstr(1);

assign(dat, paramstr(2);

 Действия по запуску программы

Создать файлы входных данных. Выходные файлы создадутся автоматически.

Перед запуском из турбо-среды в секции RUN/PARAMETERS набрать:

prog1.dat prog1.res- для прогона первого теста,

prog2.dat prog2.res- для прогона второго теста

При запуске .exe-файла из DOS в командной строке набрать:

prog.exe prog1.dat prog1.res- для прогона первого теста,

prog.exe prog2.dat prog2.res- для прогона второго теста.

Результаты можно просматривать как в турбо-среде, так и вне ее – это обычные файлы с текстом.

● Задав вместо параметров имена стандартных внешних устройств (консоли) в виде: prog.exe сon con, получим режим диалога.

При отладке удобно вводить данные из файла, а результат просматривать на экране: prog.exe <имя входного файла> con. В таком режиме не приходится постоянно открывать окно результатов или переключаться между окнами. Когда программа отлажена, следует пропустить ее еще раз для каждого теста, но уже сохраняя результаты в файлах.

● Механизм параметров может быть использован и в приложениях, разрабатываемых в среде Delphi, поэтому знать его весьма желательно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]