Я слишком привык к императивному программированию, что является обычным способом сообщить компьютеру шаг за шагом выполнить процедуру, чтобы получить окончательный результат. С другой стороны, декларативное программирование просто передает вход и ожидает выхода без указания процедуры, как это делается. Я смущен, это функциональное программирование. Я знаю, что функциональное программирование - это парадигма программирования, которая рассматривает вычисления как оценку математических функций и избегает состояния и изменяемых данных и не является типом декларативного языка. Однако я не могу понять, как он может работать.
Возьмем пример выполнения чисел Фибоначчи.
Императивное программирование:
#include<stdio.h>
#include<conio.h>
main()
{
int n,i,c,a=0,b=1;
printf("Enter Fibonacci series of nth term : ");
scanf("%d",&n);
printf("%d %d ",a,b);
for(i=0;i<=(n-3);i++)
{
c=a+b;
a=b;
b=c;
}
printf("%d ",c);
getch();
}
Декларативное программирование:
Give the nth number and it will return the value of the nth number
Как работает функциональная программа?
Плюс исправьте меня, если мои определения ошибочны. Пожалуйста, не стесняйтесь комментировать..