Что дают скобки в имени программы?

Vadik(R)

Well-known member
12.12.2007
469
0
#1
Люди, недавно увидел что в программах на паскале можно писать не просто program proga1; а так
program proga1(a,h);
Вопрос - в чем смысл этих скобок, создаются какие-либо переменные влияющие на ход выполнения программы? Или вообще на что скобки влияют и зачем их может быть иногда нужно писать?
---
тему уже обсужал на других форумах, но пока что не помогли. чтобы не было одинаковых ответов, посмотрите что мне уже понаотвечали здесь http://programmersforum.ru/showthread.php?...28&posted=1
 
Z

zubr

#2
The program heading specifies the program's name. It consists of the reserved word program, followed by a valid identifier, followed by a semicolon. The identifier must match the project file name. In the previous previous example, since the program is called Editor, the project file should be called Editor.dpr.

In standard Pascal, a program heading can include parameters after the program name:

program Calc(input, output);

Borland's Delphi compiler ignores these parameters.
Borland Delphi Help
 

Vadik(R)

Well-known member
12.12.2007
469
0
#3
Программный заголовок определяет имя программы. Он состоит из зарезервированного слова program, а затем правильный идентификатор, после него стоит точка с запятой. Идентификатор должен совпадать с именем файла проекта. В предыдущем примере, так как программа названа Editor, проектный файл должен называться Editor.dpr.

В стандартном Паскале, программа может включать в себя раздел параметров после имени программы:

Program Calc(input, output);

Компилятор Borland Delphi игнорирует эти параметры.

Вот. Из этого понял, что делфи игнорирует эти параметры. А в стандартном паскале что они дают?
Мои предположения:
1. Можно вызывать программу с параметрами командной строки, соответствующие файлам в скобках.
2. Если не объявить этот параметр, то нельзя будет использовать файлы input, output.
3. Возможно компилятору легче будет переварить, что если мы напишем program abc(h); .... write(h, mystr); то он просто будет знать что надо писать переменную mystr в файл h, а не пытаться выводить на экран значение переменной h и mystr.
zubr, если ты знаешь для чего это нужно, то мог бы показать код не с частным случаем program abc(input, output), а с таким например program abc(a,b,c)?
Заранее спасибо! :)
 

Vadik(R)

Well-known member
12.12.2007
469
0
#4
Раз это связано со стандартами паскаля, решил я поискать паскаль с этим стандартом. Нашёл Irie Pascal. После долгих пыток понял, что так раньше было просто удобнее писать и написав program proga(a, b, c);
мы тем самым себя обязываем объявить файловые переменные a, b и c. Вот, а удобство заключается в том, что для этих переменных не надо писать assign(a, '1.txt'); и т.д. можно просто вызвать программу с параметрами proga 1.txt 2.txt 3.txt и переменные a, b, c автоматически свяжутся соответственно с файлами 1.txt, 2.txt и 3.txt. Но это в старом стандарте. А сейчас как не пиши, толку тебе эти скобки ничего не дадут. Во всех современных паскалях (Turbo, Free, ABC) и Делфи такое не работает и связывать файловую переменную с файлом можно только через assign.
Вот источник, который мне немного помог решить этот вопрос http://www.standardpascal.org/pascalfaq.html
Вот, вроде так. :)
 

vital

Больной Компом Детектед
29.01.2006
2 432
34
#5
Докопался-таки=)

Добавлено: :)