Аргументы командной строки в разных языках программирования

C и C++

int  main(int argc, char* argv[])
{
    argc;    // количество аргументов + 1
    argv[0]; // имя программы
    argv[1]; // первый аргумент
    argv[2]; // второй аргумент
    // ...
}

Bash

#!/bin/bash

# $# — количество аргументов
#
# $* — аргументы одной строкой
# $@ — список аргументов

echo $0    # имя скрипта
echo $1    # первый аргумент
echo $2    # второй аргумент
# ...
echo $9    # девятый аргумент
echo $(10) # десятый аргумент
echo $(11) # одиннадцатый аргумент
# ...

Cmd.exe

echo %0 REM имя срипта
echo %1 REM первый аргумент
echo %2 REM первый аргумент
REM ...
echo %9 REM девятый аргумент

Python

import sys

sys.argv      # список аргументов
len(sys.argv) # количество аргументов + 1
sys.argv[0]   # имя скрипта
sys.argv[1]   # первый аргумент
sys.argv[2]   # второй аргумент
# ...

Java

public class CommandLine {
    static public void main(String args[]) {
        args.length; // количество аргументов
        args[0];     // первый аргумент
        args[1];     // второй аргумент
        // ...
    }
}

C Sharp

class MainClass
{
    static int Main(string[] args)
    {
        args.Length; // количество аргументов
        args[0];     // первый аргумент
        args[1];     // второй аргумент
        // ...
    }
}
Реклама

Вывод функций ЛАЧХ и ЛФЧХ в программе Maxima

Maxima — это консольная математическая программа для аналитических расчетов. Программа имеет версию с графическим интерфейсом, которая называется wxMaxima, ее можно бесплатно скачать с официального сайта.

Допустим имеется передаточная функция W(s) . Нужно получить две функций:

  • L(\omega) — ЛАЧХ (логарифмическая амплитудная частотная характеристика),
  • \Phi(\omega) — ЛФЧХ (логарифмическая фазовая частотная характеритиска),

где: \omega — угловая частота, рад/с.

Пример расчет ЛАЧХ и ЛФЧХ для передаточной функции апериодического звена второго порядка.


/* Передаточная функция */
W(s) := k/((1 + T[3]*s)*(1+T[4]*s)) $

/* Функция десятичного логарифма */
log10(x) := log(x) / log(10) $

print("ЛАЧХ") $
L(%omega) = 20 * log(cabs(W(%i*%omega)));

print("ЛФЧХ") $
%Phi(%omega) = carg(W(%i*%omega));

Вывод программ следующий.

ЛАЧХ

\mathrm{L}\left( \omega\right) =20\cdot \mathrm{log}\left( \frac{\left| k\right| }{\sqrt{{{T}_{3}^{2}}\cdot {{\omega}^{2}}+1}\cdot \sqrt{{{T}_{4}^{2}}\cdot {{\omega}^{2}}+1}}\right)

ЛФЧХ

\Phi\left(\omega\right) =-\mathrm{atan}\left( {{T}_{4}}\cdot \omega\right) -\mathrm{atan}\left( {{T}_{3}}\cdot \omega\right) +\mathrm{atan2}\left( 0,k\right)

В окне программы расчет выглядит следующим образом.

Вывод функций ЛАЧХ и ЛФЧХ в программе Maxima

Для тех, кто никогда не пользовался программой, объясню, что тут происходит. С помощью /* */ можно оставлять комментарии.

Сначала задается передаточная функция W(s) . Затем задается функция десятичного логарифма, потому что, к сожалению, она отсутствует в программе.

  • %i — мнимая единица.
  • %Phi — греческая буква \Phi
  • %omega — греческая буква \omega
  • функция cabs() возвращает модуль комплексного числа.
  • функция carg() возвращает аргумент комплексного числа.