Разработать программу, в которой родительский процесс вычисляет число Фибоначчи, а процесс-ребенок вычисляет значение факториала. В качестве исходного значения используется аргумент из командной строки. Процессы создаются при помощи fork() внутри программы.
Скомпилируйте программу с помощью следующей команды:
gcc -o fib_fact fib_fact.c
Запустите программу с помощью следующей команды:
./fib_fact 10
Здесь число 10 - это аргумент командной строки, который будет использоваться для вычисления факториала и числа Фибоначчи. Вы можете заменить его на любое другое целое число.
Программа получает целое число в качестве аргумента командной строки и производит две операции над этим числом: вычисление факториала и числа Фибоначчи.
Функция factorial() вычисляет факториал данного числа, используя простой цикл for. Функция fibonacci() вычисляет число Фибоначчи, используя рекурсивный подход.
В главной функции main() сначала проверяется наличие аргумента командной строки. Если аргумент не предоставлен, программа выводит сообщение об ошибке и завершает работу.
После получения аргумента командной строки программа создает дочерний процесс с помощью функции fork(). Если функция fork() возвращает отрицательное значение, это означает, что произошла ошибка, и программа выводит сообщение об ошибке и завершает работу.
Если значение pid, возвращаемое функцией fork(), равно нулю, программа находится в дочернем процессе и вызывает функцию factorial() для вычисления факториала числа.
Если значение pid больше нуля, программа находится в родительском процессе и вызывает функцию fibonacci() для вычисления числа Фибоначчи.