Функции и рекурсия: вычислить значение составной функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачку, с использованием операторов ветвления if, if-else и switch. Вычислить и вывести на экран все значение математической функции F. Вычисление значения функции F необходимо выполнить с использованием функции calculate, в которую передаются четыре параметра: x, a, b, c, которые являются действительными числами и вводятся с клавиатуры. Вывод параметров и результата вычисления функции необходимо вынести в отдельную функцию print.

Решение задачи: «Функции и рекурсия: вычислить значение составной функции»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <math.h>
  5.  
  6. unsigned long long fibo (unsigned int n) {
  7.    
  8.     if (n == 0)
  9.         return 0;      
  10.     else if (n == 1)
  11.         return 1;      
  12.     else
  13.         return fibo(n - 1) + fibo(n - 2);
  14. }
  15.  
  16. void setval (double* a, double* b, double* c ) {
  17.    
  18.     *a = rand() % rand() / (double)rand();
  19.     *b = rand() % rand() / (double)rand();
  20.     *c = rand() % rand() / (double)rand();
  21. }
  22.  
  23. double foo (double a, double b, double c, int x ) {
  24.    
  25.     if (x >= 0 && islessgreater(b, 0.) )
  26.         return (double) fibo(x);       
  27.     else if ( !(x % 2) && !islessgreater(b, 0.) )
  28.         return ((double) x - a ) / ((double) x + b );      
  29.     else
  30.         return (double) x / fabs(c);
  31. }
  32.  
  33. int main() {
  34.  
  35.     double a, b, c;
  36.     int x;
  37.    
  38.     srand(time(0));
  39.     setval(&a, &b, &c);
  40.  
  41.     for (x = -10; x < 11; ++x)
  42.         fprintf(stdout, "%lf\n", foo(a, b, c, x));
  43.  
  44.     return 0;
  45. }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: stdio.h, stdlib.h, time.h, math.h
  2. Определяется функция fibo, которая реализует вычисление чисел Фибоначчи с помощью рекурсии.
  3. Определяется функция setval, которая инициализирует указанные переменные случайными значениями.
  4. Определяется функция foo, которая реализует вычисление значения составной функции, используя числа Фибоначчи и другие переменные.
  5. В функции main инициализируются и перемешиваются значения переменных a, b, c с помощью функции setval и генератора случайных чисел.
  6. С помощью цикла for вычисляются значения функции foo для всех целых значений x от -10 до 10 и выводятся на экран.
  7. Программа возвращает 0, завершая свою работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы