Функциональное программирование - типы функций

Функции бывают двух типов -

  • Предопределенные функции
  • Пользовательские функции

В этой главе мы подробно обсудим функции.

Предопределенные функции

Это функции, которые встроены в язык для выполнения операций и хранятся в стандартной библиотеке функций.

For Example - 'Strcat' в C ++ и 'concat' в Haskell используются для добавления двух строк, 'strlen' в C ++ и 'len' в Python используются для вычисления длины строки.

Программа для печати длины строки на C ++

Следующая программа показывает, как вы можете распечатать длину строки с помощью C ++ -

#include <iostream> 
#include <string.h> 
#include <stdio.h> 
using namespace std;  

int main() {     
   char str[20] = "Hello World"; 
   int len; 
   len = strlen(str); 
   cout<<"String length is: "<<len; 
   return 0; 
}

Он выдаст следующий результат -

String length is: 11

Программа для печати длины строки в Python

Следующая программа показывает, как напечатать длину строки с помощью Python, который является языком функционального программирования.

str = "Hello World"; 
print("String length is: ", len(str))

Он выдаст следующий результат -

('String length is: ', 11)

Пользовательские функции

Пользовательские функции определяются пользователем для выполнения определенных задач. Есть четыре разных шаблона для определения функции:

  • Функции без аргументов и без возвращаемого значения
  • Функции без аргументов, но с возвращаемым значением
  • Функции с аргументом, но без возвращаемого значения
  • Функции с аргументом и возвращаемым значением

Функции без аргументов и без возвращаемого значения

В следующей программе показано, как определить функцию без аргументов и без возвращаемого значения в C++ -

#include <iostream> 
using namespace std; 

void function1() { 
   cout <<"Hello World"; 
}  
int main() { 
   function1(); 
   return 0; 
}

Он выдаст следующий результат -

Hello World

Следующая программа показывает, как можно определить аналогичную функцию (без аргументов и без возвращаемого значения) в Python -

def function1():    
   print ("Hello World") 
    
function1()

Он выдаст следующий результат -

Hello World

Функции без аргументов, но с возвращаемым значением

В следующей программе показано, как определить функцию без аргумента, но с возвращаемым значением в C++ -

#include <iostream> 
using namespace std; 
string function1() { 
   return("Hello World"); 
}  

int main() { 
   cout<<function1(); 
   return 0; 
}

Он выдаст следующий результат -

Hello World

В следующей программе показано, как можно определить аналогичную функцию (без аргументов, но с возвращаемым значением) в Python -

def function1(): 
   return "Hello World" 
res = function1() 
print(res)

Он выдаст следующий результат -

Hello World

Функции с аргументом, но без возвращаемого значения

В следующей программе показано, как определить функцию с аргументом, но без возвращаемого значения в C++ -

#include <iostream> 
using namespace std; 
void function1(int x, int y) {    
   int c; 
   c = x+y;  
   cout<<"Sum is: "<<c; 
}  

int main() { 
   function1(4,5); 
   return 0; 
}

Он выдаст следующий результат -

Sum is: 9

Следующая программа показывает, как можно определить аналогичную функцию в Python -

def function1(x,y): 
   c = x + y 
   print("Sum is:",c) 
function1(4,5)

Он выдаст следующий результат -

('Sum is:', 9)

Функции с аргументом и возвращаемым значением

Следующая программа показывает, как определить функцию на C ++ без аргумента, но с возвращаемым значением:

#include <iostream> 
using namespace std; 
int function1(int x, int y) {    
   int c; 
   c = x + y;  
   return c;    
} 

int main() {  
   int res; 
   res = function1(4,5); 
   cout<<"Sum is: "<<res; 
   return 0; 
}

Он выдаст следующий результат -

Sum is: 9

В следующей программе показано, как определить аналогичную функцию (с аргументом и возвращаемым значением) в Python -

def function1(x,y): 
   c = x + y 
   return c  

res = function1(4,5) 
print("Sum is ",res)

Он выдаст следующий результат -

('Sum is ', 9)