• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Vadik(R)
  • Дата начала
V

Vadik(R)

Люди, недавно увидел что в программах на паскале можно писать не просто program proga1; а так
program proga1(a,h);
Вопрос - в чем смысл этих скобок, создаются какие-либо переменные влияющие на ход выполнения программы? Или вообще на что скобки влияют и зачем их может быть иногда нужно писать?
---
тему уже обсужал на других форумах, но пока что не помогли. чтобы не было одинаковых ответов, посмотрите что мне уже понаотвечали здесь
 
Z

zubr

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
 
V

Vadik(R)

Программный заголовок определяет имя программы. Он состоит из зарезервированного слова 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)?
Заранее спасибо! :)
 
V

Vadik(R)

Раз это связано со стандартами паскаля, решил я поискать паскаль с этим стандартом. Нашёл 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.
Вот источник, который мне немного помог решить этот вопрос
Вот, вроде так. :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!